Querying species/suggest by Colloquial or Vernacular Name?


I’m working with the GBIF API for a student project. We want to build a search portal that lets users see the common ancestral links between two species: Two user search queries that return kingdom → phylum → order → family → genus → species keys for comparison & further analysis.

I expected this to be a fairly straightforward task since GBIF assigns unique keys for each group & species in the tree. What I didn’t account for was the crossover between data sets, languages, duplicate entries, living & preserved specimen + the crossover between scientific names and colloquial names.

Our immediate issue task was to figure out how to filter out inaccuracies in the response data. So far the species/match endpoint has provided us the most flexibility, allowing us to stack search filters to improve its accuracy:

// Example query: 'lynx'
+ ?q=lynx
+ &class=mammalia
+ &rank=SPECIES 
+ &status=ACCEPTED 
+ &datasetKey=d7dddbf4-2cf0-4f39-9b2a-bb099caae36c // GBIF Backbone only

// Result -> "species": "Lynx lynx"

But in this case, we were lucky that the colloquial name for a lynx matched its scientific name. If we try to search for a “bobcat,” we get nothing.

Querying species without knowing their scientific name leads to major inaccuracies in our search results.

“Dog” → “Dognina florella”
“Human” → “Pediculus humanus”

(And this is while using &rank=SPECIES… otherwise we get back fungi, parasites and bacteria)

Now our goal is to figure out how we can get the correct result without previous knowledge for our query.

The species/{id}/vernacularName endpoint seemed ideal for this, but it requires knowing the species taxonID. So it’s a chicken and egg problem.

Does anyone know a good way to solve this?

Right now using wikidata for the predicted result then scraping for the taxonID seems like the safest option, but I’m curious whether or not this is possible through GBIF directly. Thanks!

Hi @treeclimber

The search function allows you to specify that you would like the search to be based on vernacular names. For example: https://api.gbif.org/v1/species/search?q=bobcat&qField=VERNACULAR&rank=species&status=ACCEPTED&datasetKey=d7dddbf4-2cf0-4f39-9b2a-bb099caae36c

Words like “human” or “dog” might not give you what you expect as some species for parasite or viruses might include the name of their host, like the “American dog uukuvirus”.

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