Get Retraction Watch metadata from Crossref’s API
- Learn how to identify the update metadata in records pulled from Crossref REST API.
- Understand what filters to use to retrieve records based on update metadata
What you need to know
As you might know, part of the scholarly metadata that you can find in Crossref’s REST API includes updates made to specific works. More recently we also annouced:
Retractions and corrections from Retraction Watch are now available in Crossref’s REST API. Back in September 2023, we announced the acquisition of the Retraction Watch database with an ongoing shared service. Since then, they have sent us regular updates, which are publicly available as a csv file. Our aim has always been to better integrate these retractions with our existing metadata, and today we’ve met that goal.1
In this tutorial we’ll show how to understand and retrieve this metadata. We need to understand how this information will be expressed in the REST API, so let’s take a look at both ends of the relationship: a record that has an update and a record that represents an update to another one:
Identify the update metadata
Let’s examine a record that contains update metadata: ´https://api.crossref.org/v1/works/10.1177/1758835920922055´
In the following box you will see this record retrieved from the works
endpoint in JSON format, as it’s normally returned from the REST API. You can collapse any key by clicking the litle triangle to the left of the key name. Can you find the key called updated-by
?. Just click the magnifying glass icon on top and type or paste updated-by
.
You should see a lot of interesting information there, including the DOI that identify the retraction. Let’s take a look at the complementary record; use the same tools to now find the update-to
key:
If you expand the keys type
and source
you will understand why there are two entries in this record. In this case, the updates are coming from two sources: from Retraction Watch and also from the publisher.
Retrieve many records with updates
You can use the works
endpoint with the filter filter=update-type:retraction
in your regular API call, e.g. https://api.crossref.org/v1/works?filter=update-type:retraction
. Let’s use this in combination with rows
to get a quick idea of the number of records with retractions:
Don’t forget to add the mailto
parameter with your contact email address to direft your request to our Polite
pool.
Code
jsonedit(jsonlite::fromJSON("https://api.crossref.org/v1/works?filter=update-type:retraction&rows=0&mailto=learning@crossref.org"))
Other methods
You can also go to our gitlab repository and download a .CSV
file that you can open in your text or spreadsheet editor of choice: Retraction Watch data.
- You can get Retraction Watch metadata from the Crossref REST API.
- Find the
updated-by
and/orupdate-to
keys. - Use the filter
filter=update-type:retraction
to get multiple records.