gbif / gbif-api

GBIF API
Apache License 2.0
28 stars 5 forks source link

`/species/{usageKey}/identifier` route returns nothing #136

Closed AntoineAA closed 3 months ago

AntoineAA commented 3 months ago

Hello,

I would like to get taxon identifiers, such as those displayed at the bottom of this page, for example, in the "taxon identifiers" category: https://www.gbif.org/species/3189863

To do this, I'm using the https://api.gbif.org/v1/species/3189863/identifier route, but there are never any results (tested on several species).

Is this an issue with this API route or am I using the wrong one?

Thanks,

Antoine

mdoering commented 3 months ago

if you look at the page resources you can see the data comes from wikidata and is retrieved through some internal GBIF API: https://www.gbif.org/api/wikidata/species/3189863?locale=en

@MortenHofft can you explain what the call is exactly doing?

ManonGros commented 3 months ago

Hi @AntoineAA You can read more about it here: https://discourse.gbif.org/t/given-a-gbif-human-readable-webpage-for-a-species-how-to-find-the-api-call-for-each-item-on-the-page/

You are also welcome to check our latest Data Use Club session about accessing species information from GBIF in general: https://vimeo.com/showcase/9533896/video/949141282

AntoineAA commented 3 months ago

Hi,

Thank you for your replies.

If I understand correctly, this route https://www.gbif.org/api/wikidata/... cannot be used by external clients (dedicated to GBIF internal use only)?

I have to use the Wikidata API?

MortenHofft commented 3 months ago

yes. The WikidataAPI is public and it is what we use too. https://www.gbif.org/api/wikidata/.. can disappear at any moment. You cannot rely on it in any production environment. The Discourse link that Marie provided explains how we do it. And Wikidata also have documentation of their own. And even if it is just for a script here and now, then you would probably get us blocked if you started hammering it. We are just proxying the request to wikidata's API.

If you just need to get a few identifiers and you find that it is far easier to use https://www.gbif.org/api/wikidata/ then you are welcome to do so, but it is a worse and more unstable solution. And please do not use it excessively. And remember it could be gone tomorrow. Our stable APIs can be found here https://techdocs.gbif.org/en/

AntoineAA commented 3 months ago

OK, thank you for all your answers!

I'm going to use the Wikibase SDK to retrieve the data I need (EPPO codes).