OpenAlex Scraper - 250M Papers, Citations, No API Key avatar

OpenAlex Scraper - 250M Papers, Citations, No API Key

Pricing

from $2.00 / 1,000 record scrapeds

Go to Apify Store
OpenAlex Scraper - 250M Papers, Citations, No API Key

OpenAlex Scraper - 250M Papers, Citations, No API Key

Scrape OpenAlex, the free catalog of 250M+ scholarly works, 100M+ authors and 250K+ journals. Search by keyword or filter syntax, get titles, abstracts, DOIs, citations and open-access links. $2 per 1,000 records.

Pricing

from $2.00 / 1,000 record scrapeds

Rating

0.0

(0)

Developer

Gio

Gio

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

7 days ago

Last modified

Features

Limited permissions

Share

OpenAlex Scraper

Why use this scraper

OpenAlex is one of the largest free, open catalogs of scholarly output: over 250 million works, 100 million authors, and 250,000 journals and repositories, all queryable without a paywall or an API key. The catch for most researchers and analysts is that the raw OpenAlex API returns deeply nested JSON (abstracts stored as an inverted index rather than plain text, authorships as an array of objects, concepts as a scored list) that needs real parsing work before it's usable in a spreadsheet, a BI tool, or a training pipeline. This actor does that parsing once: pass a search term or filter, get back flat, readable records with the abstract already reconstructed and the fields you actually want pulled to the top level.

Overview

You choose an entity type (works, authors, institutions, concepts, or sources), give a free-text search term and/or an OpenAlex filter expression, and set a cap on how many records to return. The actor queries the OpenAlex API, paginates through results automatically, and flattens each record (reconstructing abstracts, extracting author and institution names, pulling out citation counts and open-access status) before writing it to your dataset. A run of a few hundred records typically finishes in well under a minute, since OpenAlex's own API responds quickly and the actor paces its requests to stay inside OpenAlex's rate limit.

Supported inputs

  • Entity type (required): works (papers, books, datasets), authors, institutions, concepts, or sources (journals, repositories, conferences).
  • Search term: free-text search across title, abstract, and full text for works, or name for the other entity types.
  • Filter expression: OpenAlex's own filter syntax (for example publication_year:2024, is_oa:true, cited_by_count:>100), combinable with a search term to narrow results further.
  • Max records: caps how many entries come back, from a minimum of 10 up to 10,000.
  • Debug logging: optional verbose logs for troubleshooting a run that isn't behaving as expected.

Use cases

  • Academic researchers doing literature reviews who need a structured export of papers matching a topic, rather than clicking through search results one page at a time.
  • Bibliometrics and research-evaluation teams analyzing citation counts, open-access rates, or institutional output across a field or time period.
  • Research-intelligence and grant-analytics products that need author and institution data (affiliations, output volume) to build researcher or institution profiles.
  • AI and NLP teams building training or evaluation datasets from real paper abstracts and metadata at scale, using OpenAlex's open-access corpus.
  • Trend-detection tools tracking how fast a specific topic's publication volume or citation rate is growing by filtering on year and keyword together.

How it works

The actor calls the OpenAlex REST API for the entity type you selected, using cursor-based pagination to walk through result pages until it reaches your maxItems cap or runs out of matches. For works, the biggest parsing job is the abstract: OpenAlex stores abstract text as an inverted index (a map of each word to the list of positions it appears at, to save space), so the actor reconstructs the original sentence order before writing the record. It also flattens authorship and institution arrays down to plain name lists, pulls the primary source title, and surfaces open-access status and the direct OA PDF link when one exists, instead of leaving you to dig through nested location objects.

Input configuration

Recent papers on a topic:

{
"entity": "works",
"searchTerm": "large language models",
"maxItems": 50
}

Highly cited open-access papers from a specific year:

{
"entity": "works",
"searchTerm": "climate change adaptation",
"filter": "publication_year:2024,is_oa:true,cited_by_count:>100",
"maxItems": 100
}

Authors matching a name:

{
"entity": "authors",
"searchTerm": "Yoshua Bengio",
"maxItems": 10
}

Output sample

Real record for a highly cited paper matching "large language models":

{
"entityType": "work",
"id": "https://openalex.org/W4362515116",
"displayName": "A Survey of Large Language Models",
"title": "A Survey of Large Language Models",
"doi": "https://doi.org/10.1007/s11704-026-60308-3",
"publicationYear": 2026,
"publicationDate": "2026-05-09",
"type": "article",
"citedByCount": 8087,
"isOpenAccess": true,
"oaUrl": "https://link.springer.com/content/pdf/10.1007/s11704-026-60308-3.pdf",
"authors": ["Wayne Xin Zhao", "Kun Zhou", "Junyi Li", "..."],
"authorIds": ["https://openalex.org/A5037145565", "..."]
}

Key output fields

FieldTypeDescription
entityTypestringWhich OpenAlex entity this record represents (work, author, institution, concept, or source).
idstringThe OpenAlex canonical URI ID for this entity.
displayName / titlestringThe entity's name or title.
doistring (works)Digital Object Identifier, when assigned.
publicationYear / publicationDateinteger / string (works)When the work was published.
citedByCountintegerNumber of times this work has been cited, per OpenAlex's index.
isOpenAccessboolean (works)Whether a free, legal full-text version exists.
oaUrlstring (works)Direct link to the open-access version, when isOpenAccess is true.
authors / authorIdsarray (works)Author names and their OpenAlex IDs, in authorship order.
institutionsarray (works)Institution names associated with the work's authors.
abstractstring (works)The reconstructed abstract text, when OpenAlex has one indexed.
conceptsarray (works)OpenAlex's auto-tagged research concepts for the work.

Pricing

Pay-per-event pricing, billed only on successful records:

EventPrice
Actor start$0.00005 (one-time per run, scaled by memory)
Record scraped$0.002

That works out to $2 per 1,000 records. Errors and empty pages are not charged.

What makes this richer than the competition

themineworks/openalex-scholarly-works advertises 20 extracted fields similar in scope to this actor, but is scoped to a single entity type (works) rather than covering works, authors, institutions, concepts, and sources from one input schema. shahidirfan/OpenAlex-Scraper and rupom888/academic-research-scraper both wrap OpenAlex search but, based on their listed usage (8 and 4 users in 30 days against this actor's comparable traffic), haven't published the filter-syntax support this actor exposes directly as an input field, which matters for anyone narrowing by year, open-access status, or citation threshold rather than keyword alone. This actor's key differentiator is the abstract reconstruction: OpenAlex's raw inverted-index format is unusable without that step, and handling it inside the actor means the output is ready to read, not another parsing job for the buyer.

Notes & limitations

  • OpenAlex's own rate limit is roughly 10 requests per second for unauthenticated use; the actor paces paginated calls to stay comfortably under that, which means very large pulls (thousands of records) take proportionally longer than a single page.
  • abstract is only populated when OpenAlex has an abstract indexed for that work; some older or less common publications don't have one, and the field comes back empty in those cases rather than guessed or generated.
  • citedByCount reflects OpenAlex's own citation index at the time of the run, which is comprehensive but not guaranteed to be perfectly in sync with every publisher's own citation count on a given day.
  • Filter expressions must follow OpenAlex's documented syntax exactly (comma-separated conditions, no spaces around colons); a malformed filter returns an API error rather than a partial match.
  • This actor returns metadata and abstracts, not full-text PDFs; use the oaUrl field to fetch the full text separately for open-access works.

FAQ

Do I need an OpenAlex API key? No. OpenAlex is free and open with no authentication required, and this actor doesn't require any credentials either.

Can I combine a search term and a filter in the same run? Yes, searchTerm narrows by free text while filter narrows by structured conditions (year, open-access status, citation count); using both together gives the most precise result set.

How current is the data? OpenAlex ingests new publications continuously from sources like Crossref and PubMed, so results reflect whatever OpenAlex has indexed as of the run, typically within days of a paper's own publication.

Can I pull every paper from a specific author or institution? Yes, use the filter syntax with author.id: or institutions.id: set to the relevant OpenAlex ID (found by first running an authors or institutions search) to pull their full output.

What happens if my search term matches zero results? The run completes successfully with an empty dataset and only the one-time actor-start event is charged.

Does maxItems limit cost, or just rows returned? Both. Cost is per successful record scraped, so a lower maxItems directly caps the maximum spend for that run.

For AI Agents & LLM Apps

This actor is callable directly from AI agents and LLM applications, either through the Apify MCP server or the REST API.

Via MCP (mcp.apify.com): add the Apify MCP server to your agent's tool config and call this actor by its ID, gio21/openalex-scraper, passing entity, searchTerm, filter, and maxItems as arguments. The agent gets back structured papers or author records it can cite or summarize directly.

Via API (run-sync-get-dataset-items):

curl "https://api.apify.com/v2/acts/gio21~openalex-scraper/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"entity": "works",
"searchTerm": "large language models",
"maxItems": 20
}'

This call blocks until the run finishes and returns the dataset items directly in the response, which fits synchronous agent tool calls well.

SEO Keywords

openalex scraper, openalex api, scholarly works scraper, academic paper dataset, citation data scraper, research metadata api, bibliometrics scraper