Downloading to spreadsheet with multiple image paths

Through the export observations page, I can download

  • the URL for the default image at low resolution
  • the URL for my entire observation

but I can’t download

  • a URL for a link to a high resolution version of the default image
  • a link to any of the other images within the observation

is there a handy way to tweak this or do I need to use the API to achieve this?

( exploring ways to download a spreadsheet that I can then upload into iRecord to enter my records in the UK system )

there have been various suggestions to provide a way to export to the photo URLs, but so far, no new official functionality has been added to the system to do this (that i’m aware of). however you can get the information from the API, and this discussion ( touches on a page that i made to help present the information from the API in a more digestible format (ex.

it should be noted that you have more than 10,000 observations, and API responses are limited to the first 10,000 records for a given set of parameters. so if you want to get all your observations, you need to break up the requests by date ranges, observation id ranges, or something like that.

you can just modify the name of the file to reflect the resolution that you want. see

if you just need the URLs, then the notes above should get you there (or at least closer). if you to download the actual image files yourself, you can take a look at


ok, thanks @pisum!

I just need the URLs.
But I need to download in batches into a CSV file along with date, ID, location name, and lat/long.

Are you saying there is a way to do that via the link you mentioned?
Or you were just giving an example of the flexibility the API offers?

I did experiment with it once before, and it seemed not too difficult.
Will have to dig into it again.

you can use the API to get what you’re looking for. the page that i made (which just presents the results from the API in a more human-friendly format) gets you most of the way there, but if you don’t mind doing a little coding yourself, you could modify it to get you all the way there. or you can do your own thing with the API.


ok great, thanks again
will see what i can rustle up

I ended up doing it using PyiNaturalist and a Jupyter Notebook.
My Javascript skills aint up to scratch atm it seems :)

Will share if anyone needs something similar
Thanks again for getting the ball rolling @pisum

1 Like

Added the Notebook on Github with a wee tutorial in case anyone else needs to do something similar.

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.