Programmatically retrieving Landsat 8 Satellite Images?

How about firing up an EC2 or rackspace instance and installing the EarthExplorer bulk download application:

http://earthexplorer.usgs.gov/bulk/

You could hit the EarthExplorer service with a POST request to submit jobs programmatically:

http://earthexplorer.usgs.gov/subscription/submit/

You would need to provide standingRequestName, frequency, subscription_start, subscription_end, search_start, search_end parameters. This would get you started, but it feels like a back door and that the bulk downloader application running on an EC2 instance would be a better and less time consuming option.


I saw a blog post from developmentseed for their command line utility landsat-util.

Power tools for Satellite Imagery

The landsat-util can be forked from github and compiled from source unless your OS offers it in a binary ready to go.

The blog describes it simply as:

a command line utility that makes it easy to search, download, and process Landsat imagery.

You can search based on date, cloud coverage % and other things, download immediately, or process once it's downloaded like pansharpen or stitch the images together.

You can preview images before you download. Search commands provide a link to a thumbnail for each image.

landsat search --cloud 4 --start "August 1 2013" --end "August 25 2014" country 'Vatican'

Using the --pansharpen flag will take longer to process but will produce clearer images.

landsat search --download --imageprocess --pansharpen --cloud 4 --start "august 11 2013" --end "august 13 2013" pr 191 031

You can also perform all processing on images that you previously downloaded.

landsat download LC81050682014217LGN00

landsat process --pansharpen /your/path/LC81050682014217LGN00.tar.bz

Here's a readme with more info.


I intend to do the same so I start an Amazon EC-2 instance and install the Bulk Download on it. But as far as I know it's a graphical application and nothing in the doc Bulk Download Tutorial lets hope that you can use it with the terminal.

I read here about the possibility of using Curl but it returns an 403 access denied


After writing emails to USGS, the official answer is that Bulk Download is the only way for massive download.

But Charlie Loyd From Mapbox wrote me another possibility:

Google Storage also mirrors much of the Landsat archive. You can install their “gsutil” (free) and then list this directory, which is indexed by sensor (for example, L8 is Landsat 8) and path/row: gsutil ls gs://earthengine-public/landsat/

I have to add that when browsing through paths and rows remember that it is a 3 numbers based. For example if you need Path 210 Row 40, you have to browse for folder 210 and then 040.