Several external tools for iNat data by @kildor

Dear all!

Every time our project “Flora of Russia” passes a milestone, I write at the end of the post that I used a converter of text and tabular data, which performs text markup. The converter was developed by Konstantin Romanov (@kildor). At the moment, there are some new utilities written by Konstantin. I’d like to introduce them briefly. The original post in Russian is here:

A complete list of tools with all links can be found here (in Russian): You are free to follow this link ignoring my introduction. The tools are simple and straightforward, so you don’t need to figure them out. I’ll focus on usefulness of every tool with some simple examples.

My instruction is addressed primarily to experts (identifiers) as it addresses the issues of data cleaning for species with “Research Grade” observations. In addition, some aspects will be useful to project admins and users who scrupulously document the flora and fauna of their places and regions. Let’s go.

  1. New species in the project (

A tool allows to view a list of species that have appeared in the project for a selected period of time. You can select project (by inserting its id, for example, flora-of-russia or chuvash-republic-flora), or you can put a filter on a user. This is especially important for constant monitoring of new contributions to a particular project. Basically, it is a great tool for project admins and experts for verifications of [preliminary] definitions and [thoughtless] confirmations.

However, the description of the utility says: “This list is quite approximate, and may not take into account some of the observations, especially if the project requires “Research Grade”.” This is due to the time gap between uploading and verification. Nevertheless, the tool is simply irreplaceable for regular monitoring of new additions. You can look the species list (Latin name + Russian name, if present) through the browser (with hyperlinks to specific observations), or you can download a csv. However, tool number 3 is even more powerful!

  1. Missed species (

This tool is very convenient for a targeted search for any species in any region/place (you need to define place through project settings). For example, I have 696 species observed in Vladimir Oblast, Russia. At the moment, there are 890 species in the regional project on flora. I enter my nick @apseregin and project id (vladimir-oblast-flora) and get a list of almost two hundred species that were documented by other users, but absent in my observations from the region. If you are a really power-user in your area and confident in your identifications, this is also a good way to look for id errors (or unticked cultivated species) made by others.

You can use two filters as well: project + another user. In this case, you’ll get a list of species encountered by him/her, but missed by you. For instance, Viktor Stepanov (@vist) photographed 64 species that are absent in my observations from Vladimir Oblast. Now I can easily get a list of this species with links to observations.

You can also compare your lifelist with someone’s lifelist (just leave the “Project” field blank). So, for example, Marina Gorbunova (@melodi_96) in her lifelist has 1,698 species not observed by me. Species lists can be viewed through the browser, or you can download a csv.

  1. List of species in the project (

A tool for viewing a complete list of species within the project or within the user. Despite the clarity of the tool, its importance, in my opinion, lies in a slightly different plane. When displaying a list of species in the project, taxa are sorted by the number of observations - with the rarest species at the end of the list, and the most observed species at the top. This allows the experts and project admins to scroll through the list of the rarest species and quickly find errors, since they are fortunately not massive.

These errors can be incorrect identifications, crooked nomenclature (two names for one species), or unticked cultivated plants. The tool allows you to reliably monitor regional lists and pay attention to non-trivial things. You can additionally add the user’s nickname as a filter (or use this filter without specifying the project) to get somone’s lifelist with hyperlinks. Species lists can be viewed through the browser, or you can download a csv.

  1. Project participants (

A technical utility for downloading the list of project members. For unpopular projects, the tool is not essential, but for projects with hundreds or thousands of subscribers, it is very useful. A disclaimer from the author is the following: “Due to some errors, the iNaturalist API may in some cases return an incomplete list of subscribers. This is not a problem with this script, but with the data it receives.” I solve this problem by re-fetching user lists at 1-2 week intervals and merging them together.

  1. Downloading of observations (

Downloading of observations in csv format. A new tool while in work.

  1. Post editor for the journals (

A converter of text and tabular data, which provides text markup for writing and formatting posts in the journals.

If you entered the wrong project id or user nickname, the following message will appear: “An error occurred while receiving or processing data. Please try again later. If the error persists, you can write to the author ( or @kildor)”.

Many thanks to Konstantin for these important and very useful tools. I hope you appreciate them and use them more often.


i’m happy to see that there are folks doing interesting things with the API.

there’s one thought i had related to:

this tool seems to be comparing sets of observations. if you’re trying to monitor identifications, you may want to look at identifications instead of observations, since identifications may come long after observations are observed or submitted.

iNaturalist has a /identifications/recent_taxa API endpoint (which corresponds with the Discoveries section in the Taxon page) that may help you to see this – though its response is a little cluttered, it doesn’t offer multiple multiple language options, and has a few other issues.

here’s an example of a request URL for the endpoint:,research&rank=species&category=improving,leading&per_page=200

and here’s a page that puts the response in a more human-friendly format:,research&rank=species&category=improving,leading&per_page=200

some related discussion: How to find out-of-range observations - wiki - Tutorials - iNaturalist Community Forum


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