Crossref Works Scraper — DOIs, Authors & Citations avatar

Crossref Works Scraper — DOIs, Authors & Citations

Pricing

Pay per event

Go to Apify Store
Crossref Works Scraper — DOIs, Authors & Citations

Crossref Works Scraper — DOIs, Authors & Citations

Search Crossref's 150M+ DOI registry by bibliographic query and metadata filters, and export title, publisher, journal, full author list with ORCID and affiliation, citation counts, funder/award data, license, ISSN, and abstract as clean JSON, CSV, or Excel.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share


🎯 What this scrapes

Crossref is the DOI registration agency behind most scholarly publishing — 150M+ journal articles, book chapters, datasets, preprints, and proceedings, each with publisher-submitted metadata exposed through one keyless JSON API. The catch is cursor-only deep paging plus metadata that nests authors, funders, and licenses several levels down. This Actor walks Crossref's cursor pages for you and flattens every work into one row — authors keep their ORCID and affiliation, funders keep their award numbers — so a scholarly-output tracker or funder-compliance report lands straight in a spreadsheet.

🔥 What we handle for you

walks Crossref's cursor paging so there is no ~10 000-record offset ceiling flattens nested author/funder/license blocks into clean rows — authors keep ORCID and affiliation, funders keep award numbers retries transient 429/5xx responses with backoff instead of failing the whole run

💡 Use cases

  • Track a competitor lab's or institution's new publications as they're registered with Crossref.
  • Pull citation counts for a grant or tenure report without hand-rolling the API.
  • Check funder compliance — confirm published works credit the right funder and award number.
  • Build a publisher- or journal-level dataset of works, ISSNs, and licenses for a research-ops pipeline.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Fill in the input form — most fields have sensible defaults.
  3. Click Start. Output streams into the run's dataset.
  4. Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.

📥 Input

FieldTypeRequiredDefaultNotes
querystringno'climate change adaptation'Free-text bibliographic search (title, author, journal, year all matched together). Leave empty if you are filtering…
fromPublicationDatestringno'2020-01-01'Only works published on or after this date, as YYYY-MM-DD. Leave empty for no floor.
untilPublicationDatestringno'—'Only works published on or before this date, as YYYY-MM-DD. Leave empty for no ceiling.
workTypestringno'journal-article'Restrict to one Crossref work type. Leave empty to match every type.
publisherNamestringno'—'Substring match against the publisher name, e.g. Elsevier. Leave empty for any publisher.
hasOrcidbooleannoFalseOnly return works where at least one author has an ORCID on file.
hasAbstractbooleannoFalseOnly return works that carry an abstract.
hasFullTextbooleannoFalseOnly return works Crossref has a full-text link for.
funderNamestringno'—'A funder's common name (e.g. Wellcome Trust) matched case-insensitively against each work's funder list,…
sortFieldstringno'score'Field Crossref sorts results by.
sortOrderstringno'desc'Ascending or descending.
maxResultsintegerno100Stop after this many works. Each work is one billed result row.
proxyConfigurationobjectno{'useApifyProxy': False}Crossref is a public API and does not need a proxy. Leave this off unless your account requires egress through Apify…

Example input

{
"query": "climate change adaptation",
"workType": "journal-article",
"maxResults": 3,
"proxyConfiguration": {
"useApifyProxy": false
}
}

📤 Output

Every row is one dataset item.

FieldTypeNotes
doistringBare DOI string, e.g. 10.1037/xyz (no https://doi.org/ prefix).
titlestringWork title.
typestringCrossref work type, e.g. journal-article.
publisherstringPublisher name.
container_titlestringJournal or series title (first entry if Crossref lists several).
authorsarrayAuthor list, each with name, orcid, and affiliation.
author_countintegerNumber of authors — convenience scalar.
published_datestringBest-available publication date (YYYY, YYYY-MM, or YYYY-MM-DD).
volumestringJournal volume.
issuestringJournal issue.
pagestringPage range.
issnarrayISSNs (print and/or electronic).
license_urlstringLicense URL (first entry if Crossref lists several).
license_countintegerNumber of license entries Crossref returned.
fundersarrayFunder list, each with name, doi, and award_numbers.
is_referenced_by_countintegerCitation count.
abstractstringAbstract, passed through verbatim (JATS XML tags included, not stripped).
urlstringWork URL — Crossref's own URL, or https://doi.org/<doi> when absent.

Example output

{
"doi": "10.1371/journal.pone.0212345",
"title": "Example study on citation graphs",
"type": "journal-article",
"publisher": "Public Library of Science (PLoS)",
"container_title": "PLOS ONE",
"authors": [
{
"name": "Jane Q. Researcher",
"orcid": "0000-0002-1234-5678",
"affiliation": "University of Somewhere"
}
],
"author_count": 1,
"published_date": "2023-04-12",
"volume": "18",
"issue": "4",
"page": "e0212345",
"issn": [
"1932-6203"
],
"license_url": "https://creativecommons.org/licenses/by/4.0/",
"license_count": 1,
"funders": [
{
"name": "Wellcome Trust",
"doi": "10.13039/100004440",
"award_numbers": [
"WT12345"
]
}
],
"is_referenced_by_count": 42,
"abstract": "<jats:p>We present an analysis of...</jats:p>",
"url": "https://doi.org/10.1371/journal.pone.0212345"
}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.05One-off warm-up charge per run
result$0.002Per dataset item

Example: 1 000 results at the rates above ≈ $2.05. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.

🚧 Limitations

  • Metadata only — it does not download PDFs or full text.
  • The abstract field is passed through verbatim, JATS XML tags included; the Actor does not strip or reformat it.
  • Free-text funder-name matching is a client-side substring match and can return false positives (e.g. "Gates" matches multiple foundations) — pass the exact Funder DOI for precision.

❓ FAQ

Do I need an API key?

No. Crossref's works API is free and keyless. The Actor sends a polite, identifying User-Agent so runs stay inside Crossref's shared rate limit.

How deep can I page?

Crossref's cursor paging has no ~10 000-record wall the way offset paging does — the only limit is the Maximum works you set.

Can I filter by funder name instead of a Funder DOI?

Yes — type a funder's common name (e.g. "Wellcome Trust") and the Actor keeps only works whose funder list contains a case-insensitive match. Pass the exact Funder Registry DOI (e.g. 10.13039/100004440) for an exact server-side filter instead.

💬 Your feedback

Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.