Crossref Scraper: DOI Metadata and Citations | $1/1K avatar

Crossref Scraper: DOI Metadata and Citations | $1/1K

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Crossref Scraper: DOI Metadata and Citations | $1/1K

Crossref Scraper: DOI Metadata and Citations | $1/1K

$1 per 1,000 results, platform usage included. Scholarly works from the official Crossref API: DOI, title, authors, journal, publisher, citation count, funders, licence and retraction notices. Search by text, DOI, author or ISSN. No key.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

One Dollar Store

One Dollar Store

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Crossref Scraper: DOI metadata, citation counts and retraction notices

$1 per 1,000 works. Platform usage included. No rental, no minimum.

Pull scholarly works from the official Crossref database. Search by title words, journal, author, ISSN, type of work and publication dates, or look up exact DOIs. Each work comes back as one flat row with DOI, title, authors, journal, publisher, publication date, how many works cite it, funders, licence links and any retraction or correction notice. You can sort by newest, oldest or most cited. No API key and no account with Crossref.

Open it in Apify Console

New to Apify? [Create a free account](https://www.apify.com?fpr=ymnoit) (referral link). Runs from a free plan account return the first 10 results; any paid plan returns everything you ask for, up to your limit.

What it costs

WorksThis actor
1,000$1.00
10,000$10.00
100,000$100.00

Plus $0.001 per run. One flat price, platform usage included, so there is no separate compute or proxy bill. Only work rows are charged. Checking the citation counts of 300 papers every week costs about $0.30 a run, or about $1.20 a month.

Why use it

  • Official data, no key. Rows come straight from the Crossref REST API, which needs no sign up. Crossref says almost none of the metadata is subject to copyright.
  • Search that keeps only real matches. Crossref ranks works that contain just one of your words high. By default the actor keeps only works where every word of your search text appears in the field you chose, and reads more pages to find them.
  • Most cited first. Sort a topic by citation count and the well known works come first, with the count on every row.
  • Retractions on the row. isRetracted is true when Crossref lists a retraction or withdrawal notice, and updatedBy lists the notices, so a literature list can be checked before it is used.
  • Safe for scheduled jobs. A DOI Crossref does not hold, or a search nobody matches, ends with zero rows and a short message, not a crash.

Quick start

  1. Open the actor, keep the example values, press Start.
  2. Or paste this input, which returns the 50 most cited works with machine learning in the title:
{ "searchTexts": ["machine learning"], "sortBy": "mostCited", "maxItems": 50 }
  1. Download the results as JSON, CSV or Excel, or read them through the API.

Use it from code

curl -X POST "https://api.apify.com/v2/acts/one_dollar_store~crossref-doi-metadata/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"dois": ["10.1038/nature14539", "10.1126/science.1127647"], "includeReferences": true, "maxItems": 10}'
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("one_dollar_store/crossref-doi-metadata").call(
run_input={"searchTexts": ["climate change"], "publishedFrom": "2020", "sortBy": "mostCited", "maxItems": 100}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["publishedDate"], item["citedByCount"], item["title"])

Use it from an AI assistant

Claude, ChatGPT, Cursor and other assistants can call this actor through Apify's MCP server. Add it with this server address:

https://mcp.apify.com?tools=one_dollar_store/crossref-doi-metadata

Then ask, for example: "Find the ten most cited papers since 2020 with graph neural network in the title, and tell me if any is retracted."

Switching from another Crossref actor

Most Crossref actors take a search query, a year range and a result limit. Here they are searchTexts, publishedFrom and publishedUntil, and maxItems. Add dois for exact lookups, author and issns to narrow, and sortBy to order the results. The core output fields are doi, title, authors, journal, publishedDate, citedByCount and doiUrl.

Input

FieldTypeDefaultWhat it does
searchTextslist of textnoneWords to search for, one search per line.
searchIntitle, bibliographic, journal, everythingtitleWhere the words are looked for. bibliographic is title, authors and year together. everything is the loosest.
requireAllWordstrue or falsetrueKeep only works where every word of the search text (or of the author name) appears in the chosen field. Turn it off to take Crossref's own ranking as it is.
doislist of textnoneExact DOIs. A doi.org address in front of the DOI works too. A malformed entry is skipped with a warning.
authortextnoneAuthor name. Every word must appear in one author's name when requireAllWords is on.
issnslist of textnoneOnly works from these journals or series. Print and online ISSNs both work.
workTypeany, journal-article, proceedings-article, book-chapter, book, monograph, posted-content, dissertation, dataset, report, peer-review, reference-entry, standardanyOnly this kind of work.
publishedFrom, publishedUntiltextnoneA year (2020), a month (2020-06) or a day (2020-06-15). A year or month as an upper bound includes the whole year or month.
sortByrelevance, newest, oldest, mostCitedrelevanceOrder of the results. The other three sort all matches before the first rows are returned.
includeReferencestrue or falsefalseAdds referenceDois, the DOIs of the works each work cites. Rows get longer.
maxItemsnumber100Total works for the run, 10 to 10,000.

You need at least one of searchTexts, dois, author or issns. Filters apply to searches. A DOI lookup returns exactly the DOIs you gave.

Example, the most cited recent preprints about protein folding:

{
"searchTexts": ["protein folding"],
"workType": "posted-content",
"publishedFrom": "2022",
"sortBy": "mostCited",
"maxItems": 100
}

Output fields

FieldMeaning
doi, doiUrl, landingPageUrlThe DOI in lower case, its doi.org link, and the address the publisher registered for it.
title, subtitle, typeTitle, subtitle and kind of work.
publishedDate, publishedYearPublication date as the publisher gave it (a year, a month or a full date), and the year.
journal, journalShort, volume, issue, page, articleNumberWhere the work appears.
publisher, issn, isbnPublisher and identifiers.
authors, authorCount, authorOrcids, affiliationsAuthor names in order, how many, ORCID links where given, and distinct affiliations.
citedByCount, referenceCountWorks in Crossref that cite this one, and references the work lists.
referenceDoisDOIs of cited works. Only with includeReferences.
subjects, licenses, fundersSubject terms, licence links and funder names.
isRetracted, updatedBy, updatesWorkTrue when a retraction or withdrawal notice is listed. Notices that update the work as type:doi, for example retraction:10.1016/s0140-6736(10)60175-4. On a notice, the work it updates.
addedToCrossref, queryWhen Crossref first created the record, and which search found the row.

Fields a work does not have are left out. Abstracts are not returned: Crossref says some abstracts are protected by copyright.

Sample results

Real rows from test runs on 20 October 2026, with some fields left out and long author lists cut to three names.

[
{"doi": "10.1038/nature14539", "title": "Deep learning", "type": "journal-article", "publishedDate": "2015-05-27", "journal": "Nature", "publisher": "Springer Science and Business Media LLC", "authors": ["Yann LeCun", "Yoshua Bengio", "Geoffrey Hinton"], "citedByCount": 78519, "referenceCount": 103},
{"doi": "10.1016/s0140-6736(97)11096-0", "title": "RETRACTED: Ileal-lymphoid-nodular hyperplasia, non-specific colitis, and pervasive developmental disorder in children", "type": "journal-article", "publishedDate": "1998-02", "journal": "The Lancet", "publisher": "Elsevier BV", "authors": ["AJ Wakefield", "SH Murch", "A Anthony"], "citedByCount": 2043, "referenceCount": 26, "isRetracted": true, "updatedBy": ["correction:10.1016/s0140-6736(04)15715-2", "retraction:10.1016/s0140-6736(10)60175-4"]},
{"doi": "10.1016/j.neucom.2005.12.126", "title": "Extreme learning machine: Theory and applications", "type": "journal-article", "publishedDate": "2006-12", "journal": "Neurocomputing", "publisher": "Elsevier BV", "authors": ["Guang-Bin Huang", "Qin-Yu Zhu", "Chee-Kheong Siew"], "citedByCount": 11895, "referenceCount": 26}
]

Limits

  • Crossref asks for one request at a time. Its public access level allows 5 requests a second and one at a time, and the actor sends requests one by one and slows down to whatever limits Crossref reports. A request returns up to 500 works, so the limit is not what slows a run.
  • Delivery speed is about 8 rows a second. In one test 1,000 works came back in 124 seconds, of which about 12 seconds was reading from Crossref. A run has a 600 second time limit by default, so it delivers about 4,500 works. Raise Timeout under Run options for more, or split a search by publication date.
  • Matching every word means reading more. Crossref returns works that contain only some of your words. With requireAllWords on, the actor reads pages and keeps the full matches. For machine learning in the title, in Crossref's own order, 20 works were kept out of 1,000 read. Sorted by most cited, 1,000 kept took 3,500 read. A search stops after reading 20,000 works, with a warning, so a narrow search such as a rare phrase can return fewer works than exist. Add a date range or a type to narrow it.
  • A search can match millions of works. A run delivers at most maxItems, up to 10,000.
  • Only Crossref DOIs. DOIs registered with other agencies, such as many datasets, are not in Crossref and come back as missing.
  • Counts are Crossref's. citedByCount counts citing works that have deposited references in Crossref. It is lower than Google Scholar or Scopus and changes over time.
  • Dates can be partial. publishedDate is a year, a year and month, or a full date, as the publisher gave it. For works published both online and in print it is the earlier date.
  • Cited DOIs need deposited references. referenceDois lists only references that carry a DOI, and some publishers deposit none.
  • No abstracts. Crossref says some abstracts are protected by copyright, so the actor does not return them.
  • Not a verdict on a paper. A retraction notice is what the publisher told Crossref. Check the publisher's page before you rely on it.

FAQ

How much does it cost to scrape 10,000 Crossref works? $10, plus $0.001 for each run.

Do I pay for compute or proxy on top? No. Platform usage is included in the $1 per 1,000 price. The official API is read directly, so no proxy is used.

How do I get the most cited papers on a topic? Put the topic in searchTexts and set sortBy to mostCited. Add publishedFrom to limit it to recent work.

How do I look up a list of DOIs? Put them in dois, one per line. They are read 40 at a time. Entries with a doi.org link in front work too.

How do I find retracted papers? Look at isRetracted and updatedBy on each row. To check a reading list, look up its DOIs and filter the results on isRetracted.

Where does the data come from? From the Crossref REST API (api.crossref.org). No key and no login are needed. Crossref states that almost none of the metadata is subject to copyright and that you may use it for any purpose.

Is it legal? The actor reads public data only, with no login. How you use it is up to you: follow Crossref's terms and the law where you live.

Is this an official Crossref product? No. It is an independent tool and is not affiliated with or endorsed by Crossref.

Do I need an Apify account? Yes. Actors run from an Apify account, and a free account is enough to start: it includes $5 of platform usage every month. You can sign up here. This is a referral link and it costs you nothing.

Is there a limit on the free plan? Yes. A run started from a free plan account delivers the first 10 results, then ends with a message and a link to the plans. Any paid plan returns everything you ask for, up to your own limit. The price per result is the same on every plan.

More from The One Dollar Store

Every actor here costs $1 per 1,000 results, platform usage included. See the whole store: https://apify.com/one_dollar_store

Health and science

Changelog

  • October 2026: first release.