Querying citations via API

Hi everyone,

I’m planning to do a network analysis of some research, looking at how it has been used and how it’s located in the broader body of evidence. For that purpose, I need to retrieve data on citations i.e. I provide a DOI, and get back a list of other DOIs that cited the work in question.

From the REST API, I can get citation counts, and I can get reference counts as well as full details of the referenced works. But not the converse - I can’t get the list of citing works. I see this was requested previously and this isn’t available via the REST API.

This documentation says it is possible to retrieve that list of citing works via a different, XML API - but I can’t see any clear examples of how you would structure such a query to include the list of citing DOIs, or to be honest, which URL I’m supposed to hit. (I’ve been looking at this DOI to metadata page.

Would anyone be kind enough to walk me through a simple example of how to fetch this kind of data?

1 Like

Hello, and thanks for your question.

While citation counts are openly available via the REST API (and the XML API as well), at this point in time, full citation data is only made available to Crossref members. This may change in the future, but as things stand, the data you’re looking for is not part of the public metadata corpus.

Best,
Shayn

1 Like

Hi Shayn,

Thanks for your speedy reply.

If we were to become members, would this type of query be possible then?

1 Like

Technically yes, but Crossref membership is only available to organizations that produce scholarly or professional content, or a funder that issues grants to researchers. And, you’d have to agree to our membership terms, including the intention to register DOIs as persistent identifiers for the content you publish or the grants you issue.

If all of that applies to your organization, please have a look at our membership information here and you’ll find a link to apply at the bottom of the page.

1 Like

Hi Shayn,

We meet all those requirements, so joining is an option for us - but only if it would actually allow us to run this sort of query for all works - not just ones we later deposited ourselves. Would that be possible, and is this the API call we’d need?

https://doi.crossref.org/servlet/getForwardLinks?usr=email@address.com/role&pwd=password&doi=doi&startDate=YYYY-MM-DD&endDate=YYYY-MM-DD

Cheers,
Tom

Yes, Crossref members can now query for cited-by data for all DOIs, not just their own. That’s a change we made within the past few years.

https://doi.crossref.org/servlet/getForwardLinks?usr=email@address.com/role&pwd=password&doi=doi&startDate=YYYY-MM-DD&endDate=YYYY-MM-DD

Yes, that’s the query structure for all cited-by data for a single DOI or a full DOI prefix asserted within a given date range.

1 Like

Not to disuade you or your organization from becoming a member, but you can retrieve the cited/citing relationships for a DOI using the OpenCitations database: OpenCitations - OpenCitations Index Search Interface
They have a search interface as well as an API. I notice the numbers can be slightly different, but they do their own cleaning methods on DOIs in references, so may take a conservative approach to prevent false positives.
You can find their methods here in their GitHub: GitHub - opencitations/coci: Repository of the OpenCitations Index of Crossref open DOI-to-DOI citations (COCI)

2 Likes

Thank you so much for uncovering this Poppy, OpenCitations looks like an extremely useful resource and probably is in all honesty a more practical for us to approach on this project, which is on a pretty short turnaround.

We do publish though and may well sign up for membership at some point - it’s probably just a discussion that needs to happen at company level rather than the tail of this one project wagging the organisational dog…

1 Like