OpenAlex Scholarly Works - Papers, Citations and Open Access avatar

OpenAlex Scholarly Works - Papers, Citations and Open Access

Pricing

from $1.00 / 1,000 results

Go to Apify Store
OpenAlex Scholarly Works - Papers, Citations and Open Access

OpenAlex Scholarly Works - Papers, Citations and Open Access

Search 250 million scholarly works and get flat rows - title, DOI, year, journal, citation count and whether it is open access. Free public API, no key.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

alaudin burki

alaudin burki

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

OpenAlex Scholarly Works — Papers, Citations and Open Access

Search the OpenAlex catalogue of scholarly works and get one flat row per paper: title, DOI, year, venue, citation count and open-access status. The API is public and key-less, so a search runs without an account. Rows are metadata only — no abstracts and no full text.

How to use

  1. Put a search phrase in Search text (OpenAlex matches it against titles, abstracts and full text), or leave it empty and use Filter alone to select a slice of the catalogue.
  2. Optionally add an OpenAlex filter expression, e.g. from_publication_date:2024-01-01,is_oa:true. The two fields combine: the search and the filter are applied together.
  3. Run the Actor and open the dataset. The SUMMARY key-value record reports the row count, the requests made and the reason the run stopped.

Inputs

InputWhat it doesDefault
queryFull-text search phrase, matched by OpenAlex against work titles, abstracts and full text.none — no search term
filterOpenAlex filter expression, comma-separated, e.g. publication_year:2023,is_oa:true.none — no filter
maxItemsStop after this many rows. Capped at 20,000.500
maxPagesStop after this many requests. Each request returns up to 200 works. Capped at 200.5

Example input:

{ "query": "climate adaptation", "filter": "from_publication_date:2024-01-01,is_oa:true", "maxItems": 200, "maxPages": 1 }

Output dataset

FieldMeaning
titleWork title as OpenAlex holds it.
doiThe DOI as a full URL, e.g. https://doi.org/10.1234/example. Null when the work has no DOI.
yearPublication year as a number.
datePublication date, YYYY-MM-DD.
languageLanguage code of the work, e.g. en. Null where OpenAlex has none.
citedByCitation count recorded by OpenAlex at the time of the run. A count, not a quality measure.
journalHost venue's display name, e.g. the journal or repository. Null for works with no known venue.
isOpenAccessWhether OpenAlex classes the work as open access. Its definition is its own.
oaStatusOpen-access route in OpenAlex's vocabulary: gold, green, hybrid, bronze, diamond or closed.
urlPublisher landing page for the work, when OpenAlex records one. Null otherwise.

Each row also carries id (openalex: followed by the OpenAlex work URL), source, firstSeenAt and scrapedAt, plus the work type (article, preprint, book-chapter and so on). Rows are de-duplicated by OpenAlex id.

Why this is different

  • One dataset row per work, with the citation count and the open-access route already resolved — the API nests the venue and the access details inside primary_location and open_access objects.
  • The DOI arrives as a resolvable URL, not a bare string, so it can be followed without rebuilding it.
  • It separates the boolean from the route: isOpenAccess answers yes or no, oaStatus tells you whether that means gold, green, hybrid, bronze or diamond.
  • Two inputs cover the common jobs: a text search for a topic, and a filter expression for a date range, an access type or a field.
  • The run names its own end state: SUMMARY records truncated and stopReason, so a dataset cut off at a cap does not look like the end of the catalogue.

Limitations

  • Metadata only. No abstracts, no full text, no references list and no author affiliations.
  • Citation counts are OpenAlex's own and are a snapshot; they move between runs.
  • Open-access classification is OpenAlex's judgement, and oaStatus categories do not correspond to the terms other indexes use.
  • doi, journal, url and language are frequently null, especially for preprints, older works and grey literature.
  • The search is relevance ranked by OpenAlex. It is not a systematic review protocol and will not enumerate every work on a topic.
  • A run stops at maxItems or maxPages — 500 rows over 5 requests by default, so a broad topic is truncated unless you raise the caps.

FAQ

Do I need an API key? No. The API is queried without credentials, and the Actor sends none.

How do I restrict results to one year or one access type? Use the filter field, e.g. publication_year:2023 or is_oa:true. Several filters can be joined with commas in the same expression.

Why is doi null for some rows? Not every work has a registered DOI. The row is still valid — use id or url to identify it.

Is citedBy comparable across runs? Only loosely. It is a live count from OpenAlex, so a later run can show a higher number for the same paper.

Can I get the abstract or the PDF? No. The Actor returns the metadata fields listed above; the full text is not fetched.

Pricing and limits

Pricing is per event: one charge per run, with the current price on this Actor's Apify pricing panel. Each request returns up to 200 works; a run defaults to 500 rows over 5 requests and can be raised to 20,000 rows and 200 requests. Requests are paced 250 ms apart, retried up to three times on rate-limit and server errors, and time out after 30 seconds. The source itself is free to query.