There is good free data available. Consider using EASA Sentinel satellite tiles for the imagery, and JAXA's ALOS Global Digital Surface Model for elevation. And the USGS has higher-resolution lidar elevations in much of the US.
[1] https://dataspace.copernicus.eu/news/2024-2-27-exploring-new...
[2] https://documentation.dataspace.copernicus.eu/APIs/SentinelH...
https://github.com/adamcharnock/python-srtm
I originally used it for doing line-of-sight calculations for a wireless ISP I started.