Using the API to determine if a name is present in a specific checklist

The documentation here GBIF species API give the impression that you can provide a datasetKey so that the results of names usage are restricted to that dataset. However, that doesn’t appear to be the case

e.g. this returns the same thing whatever the uuid…
https://api.gbif.org/v1/species?name=Puma%20concolor&dataset_key=6d9e952f-948c-4483-9807-575348147c7e

Is there a way to query a single checklist for a name with the API?

Wouldn’t the be quite useful? The other alternative is downloading the who dataset, which seems rather excessive for a simple query.

@qgroom

You will want to make the API call this way in order to get from a single checklist:

https://api.gbif.org/v1/species/search?q=puma&datasetKey=2d59e5db-57ad-41ff-97d6-11f5fb264527

this one will work as well if you replace dataset_key by datasetKey.

Thanks! Though I was put off using the using the query search because of the danger of unexpected results, such as

https://api.gbif.org/v1/species/search?q=puma&datasetKey=2d59e5db-57ad-41ff-97d6-11f5fb264527&rank=species

Returns a Platyhelminth!

https://api.gbif.org/v1/species?name=Puma%20concolor&datasetKey=6d9e952f-948c-4483-9807-575348147c7e might work, but as I’m actually trying to use this though pygbif (name_usage.py) I suspect this sort of call is not supported.

There is also the qField= SCIENTIFIC | VERNACULAR | DESCRIPTION
which restricts the free text search to a specific field

https://api.gbif.org/v1/species/search?q=Countryside&rank=species
https://api.gbif.org/v1/species/search?q=Countryside&rank=species&qField=SCIENTIFIC

And then the more convoluted approach of using match to find the entry in the backbone. And then get the related names
https://api.gbif.org/v1/species/5231190/related?datasetKey=2d59e5db-57ad-41ff-97d6-11f5fb264527
But if it isn’t in the backbone that won’t work well of course.