Welcome developers! iNaturalist has a lot to offer fellow programmers interested in biodiversity, from data to software to infrastructure.
Almost all of the software we write at iNaturalist is open source:
If you're interested in adding new functionality, please search the iNaturalist Forum to see if someone has already requested it, and if not, start a new topic so we can talk about what you want to do and come up with a solution that meets everyone's needs. If iNat staff decides to implement it we will make the relevant Github issues.
If you're interested in volunteering code, we have a general guide to contributing, and each repo should have information about getting a development environment running. Check the repo for open issues that have not been assigned. When you find one you want to work on, leave a comment so we can assign you (this helps us avoid duplicating work).
If you're considering forking our web app code in order to build something like iNat, please talk to us first! Forking the software is fine, but we don't want to fork our community. If you're thinking of making "iNat for Country X" or "iNat for Lepidopterists" or something, let's discuss ways that we can incorporate your needs into our existing infrastructure. We have a mechanism for localization through our international iNaturalist Network.
We maintain an API that we use internally, but you can use it too! Check out the API reference for info on how to use it. Please read our API Recommended Practices for guidance on how to use our APIs without impacting the rest of iNat.
We throttle API usage to a max of 100 requests per minute, though we ask that you try to keep it to 60 requests per minute or lower. If we notice usage that has serious impact on our performance we may institute blocks without notification. The API is intended to support application development, not data scraping. If you want data, see the datasets below.
Downloading over 5 GB of media per hour or 24 GB of media per day may result in a permanent block.
In addition to our export tool, these datasets might provide a better source of data than scraping our API.
GBIF DarwinCore Archive: All the data we share with GBIF in DwC-A format, which is just a zip archive of CSV files. It contains records of all Research Grade observations published under a CC0, CC BY or CC BY-NC license, and links to their associated, licensed photos. It was 1.5 GB in September 2019. Updated weekly.
iNaturalist Challenge at FGVC 2017: links to 675,000 licensed iNaturalist photos of 5,089 species for use in computer vision training. Created June 2017, not updated.
iNaturalist 2021 Challenge at the FGVC8 workshop: links to 3.3M licensed iNaturalist photos of 10,000 species for use in computer vision training. Created March 2021, not updated.
iNaturalist Taxonomy DarwinCore Archive: the entire iNat taxonomic tree and all common names. Updated monthly.
iNaturalist Licensed Observation Images in the Amazon Open Data Sponsorship Program: read more here. Updated monthly.
Here are some projects maintained by collaborators that make use of our API: