OpenAlex Scholar Scraper (Papers, Authors, Journals) avatar

OpenAlex Scholar Scraper (Papers, Authors, Journals)

Pricing

from $2.10 / 1,000 results

Go to Apify Store
OpenAlex Scholar Scraper (Papers, Authors, Journals)

OpenAlex Scholar Scraper (Papers, Authors, Journals)

Search OpenAlex, the open CC0 catalogue of 250M+ scholarly works plus authors, journals, institutions, publishers, funders and topics. Full-text query, filters (year, type, open access, citations, author, journal), cursor pagination past 10k, reconstructed abstracts. DOI/ORCID/ROR/ISSN lookup.

Pricing

from $2.10 / 1,000 results

Rating

0.0

(0)

Developer

Ibnu Adzim

Ibnu Adzim

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Search OpenAlex — the open, CC0 catalogue of 250M+ scholarly works, plus the authors, journals & repositories, institutions, publishers, funders and research topics behind them. Built and maintained by the non-profit OurResearch; no API key.

  • Full-text query across title + abstract + full text
  • Filters — publication year range, work type, open-access only, minimum citations, by author / journal / institution, plus a raw OpenAlex filter passthrough for anything else
  • Cursor pagination — pull far more than 10,000 results (the page-offset ceiling does not apply to cursors)
  • Reconstructed abstracts — OpenAlex stores abstracts as an inverted index; this Actor turns them back into plain text
  • ID lookup — resolve a DOI, ORCID, ROR, ISSN or OpenAlex id to its record; the entity is inferred from the reference
Record typeOne perCarries
SEARCH_SUMMARYqueryentity, upstream count, results returned, cursor pages, filter string, requests made
RESULTwork / author / journal / …normalised fields for that entity + the verbatim OpenAlex record in raw
ERRORbad input / missing record_error code + _errorDetail

Entities

works (papers, books, datasets, preprints…), authors, sources (journals & repositories), institutions, publishers, funders, topics. All seven share the same search/filter/cursor mechanics; the normalised fields on the RESULT row differ by entity.

Things OpenAlex will (not quite) mislead you about

Each is measured, and each has a scenario in tests/smoke/openalex-scholar-scraper_traps.sh (9/9 passing).

search is an honest filter, not a ranked corpus. A nonsense query returns count: 0 — unlike Crossref and the Art Institute of Chicago, which return the whole corpus, ranked. Real queries are relevance-ranked by default (supply sort to override — e.g. cited_by_count:desc, but note that overrides relevance entirely).

An unknown workType returns a silent count: 0, not an error. filter=type:notarealtype is HTTP 200 with zero results — a "no such works" that is really "no such type". The Actor validates workType against OpenAlex's controlled list up front and refuses an unknown one with the valid list. (A malformed filter key or operator IS a 400 → bad_request.)

page-based paging stops at offset 10,000 (page=401 at per-page=25 → HTTP 400). This Actor uses cursor= pagination throughout, which has no such limit — deepPaginationViaCursor: true on the summary when it kicks in.

Paratext is excluded by default. Series/issue front-matter records aggregate a whole series' citations and swamp a cited-by-count sort with non-articles. is_paratext:false is applied unless you set includeParatext.

Every id and DOI comes back as a URL (https://openalex.org/W…, https://doi.org/…). The normalised fields carry the bare form; raw keeps the URLs.

Some works genuinely have no abstract (abstract: null) — OpenAlex doesn't have one, not a parse failure.

The polite pool

OpenAlex offers a faster request pool to API users who identify themselves. Set mailto to your contact email to use it (added as mailto= on every request). Off by default — the common pool is fine at this Actor's pacing, which backs off on the 429 OpenAlex returns under sustained load.

Notes on cost

search mode: one request per 200 results (cursor pages). ids mode: one request per reference. slimOutput drops the (large, for works) raw record. No proxy needed.