Project with predefined list (of hundreds!) of species

Here in Switzerland, we offer exams to receive a certificate of species knowledge of plants (on three levels, for 200, 400 and 600 species). I would like to create a project only for these species. Is there a way to upload a list of species to be included in the project so that I don’t have to manually type in hundreds of names? The list is at the end of this document, and I also have an Excel version:
https://www.infoflora.ch/fr/assets/content/documents/certifications/Reglement_certif_v2024_FR_2023-12-04.pdf

Here is the project I am creating:
https://www.inaturalist.org/projects/certification-des-connaissances-en-botanique-de-terrain-niveau-400?test=apiv2

3 Likes

A great question !

I think this feature request describes what you are asking about:
https://forum.inaturalist.org/t/filter-collection-project-using-taxon-list/6470

If so, tldr it might be implemented in the future, but is low priority, so likely not soon.

there are two parts to the problem here:

  1. first, you need to translate the list of taxa from your source to a list of iNaturalist taxa. some of this is probably a manual task because your source may not match iNat taxonomy exactly. but assuming they do match exactly, i would probably do the translation by extracting the each list of taxa from your PDF and then uploading that (add batch) as a new iNaturalist list. once loaded, you can download your list, and the number in the URL field will be the iNat taxon ID. (you can also access a json version of the list, 200 taxa per page.)
  2. add your taxa to your project. to do this en masse, you’d probably have to do this via the API. the third point in this other post (https://forum.inaturalist.org/t/edit-project-breaks-entirely-for-project-with-undefined-user/30070/13) describes how to use the API to add a user to the project criteria. you would just need to adapt this to add taxa to the project.

so it’s definitely possible, but i guess you’d have to decide whether you think it would be faster to accomplish things using the process described above, or if you think it would be faster to just add everything manually.

i’ve thought about making a script that would basically sync up a project’s include and exclude taxon criteria based on two iNat lists, but i sort of fear the unintended consequences of making that sort of functionality too readily available to the masses.

2 Likes

@nschwab
Ideas on this?

There is an undocumented API for this that I reverse engineered using Chrome Dev Tools that is based on multipart form uploads. I have some code here https://github.com/max-mapper/inaturalist-taxonomy-import. I’ve used it to create projects with thousands of taxa. I didn’t really intend the code to be used by others so apologies for no documentation.

You might also consider – projects with long lists of included species can get buggy and hard to edit (there have been some forum posts on this). If possible, you might set up an umbrella project including three subprojects: the 200 first level species, the next 200, and the last 200 (assuming each level includes the species from previous levels plus a new 200).

1 Like