OpenAlex Scraper — Works, Authors & Institutions
Pricing
from $1.50 / 1,000 results
OpenAlex Scraper — Works, Authors & Institutions
Scrape OpenAlex scholarly database by keyword or filter. Extract papers, authors, institutions, and journals with DOI, citations, affiliations, OA status, and concepts. No API key, no login.
OpenAlex Scraper — Works, Authors, Institutions & Sources
Extract millions of scholarly records from OpenAlex — papers with DOI, citations, authors, journals, open-access status, and research concepts. No API key, no login required.
What does OpenAlex Scraper do?
OpenAlex Scraper connects to the OpenAlex API — a fully open, keyless bibliographic database covering over 250 million scholarly works, 90 million authors, 100,000+ institutions, and 200,000+ journals. The actor supports four scraping modes: works (papers and articles), authors, institutions, and sources (journals and venues).
For works, the actor uses OpenAlex's cursor-based pagination (cursor=* → next_cursor) with per-page=200 to efficiently fetch thousands of papers in a single run. You can filter by publication date, document type, concept ID, open-access status, and more using the OpenAlex filter syntax. For authors, institutions, and sources, it uses page-based pagination. The API requires no authentication and provides generous rate limits, especially when you supply your email (polite pool). Datacenter proxies are sufficient — OpenAlex does not block Apify's infrastructure.
The actor runs on Apify's cloud infrastructure, supports scheduled runs, and exports results as CSV, JSON, or Excel directly from the Apify platform.
Who is it for?
- Academic researchers who need bulk metadata for literature reviews, systematic reviews, or bibliometric analysis without paying for Scopus or Web of Science.
- Data scientists and NLP engineers building training datasets, citation networks, or topic-modeling pipelines from peer-reviewed literature.
- Research institutions and libraries tracking publication output, citation impact, and open-access adoption across departments or disciplines.
- Journalists and policy analysts exploring trends in scientific publishing — which topics are growing, who is funding research, which journals dominate.
- Developers building research tools who need a scalable, keyless data pipeline for publications, authors, or journal metadata.
Use cases
- Systematic literature review: Pull all papers on "CRISPR gene editing" published after 2020, filter by article type, and export to CSV for PRISMA screening.
- Citation analysis: Fetch the top 1,000 most-cited papers in a field, identify key authors and their institutions, and map influence networks.
- Open-access monitoring: Track what percentage of papers from a given institution are published open-access using the
oa_statusfield. - Author profiling: Search for researchers by name and extract their works count, citation count, ORCID, and affiliated institutions.
- Journal benchmarking: Compare journals in a field by works count, citation count, and open-access rate to inform submission decisions.
Why use OpenAlex Scraper?
- Completely keyless: No API key, no account, no subscription required. Works out of the box.
- 25+ data fields: Extracts DOI, title, year, date, type, authors, institutions, journal, OA status, concepts, citations, references, language, and more.
- Thousands of results per run: Cursor pagination with 200 results per page — fetch 10,000+ papers in a single run.
- Flexible filtering: Filter works by date range, document type, concept, institution, open-access status, and dozens of other attributes using OpenAlex's filter syntax.
- Four modes in one: Works, authors, institutions, and sources — one actor covers your entire bibliographic research pipeline.
- Export-ready: Download results as CSV, JSON, Excel, or JSONL directly from Apify — ready for Excel, R, Python, or your database.
What data can you extract?
The actor returns a unified flat schema across all modes, with mode-specific fields populated.
Works fields
| Field | Type | Description |
|---|---|---|
id | string | OpenAlex work ID (URL format) |
doi | string | Digital Object Identifier (full URL) |
title | string | Full paper title |
publication_year | string | Year of publication |
publication_date | string | Full publication date (YYYY-MM-DD) |
type | string | Document type: article, book-chapter, preprint, etc. |
cited_by_count | string | Total times cited |
authors | string | Semicolon-separated list of author names |
author_institutions | string | Unique institutions of all authors |
journal | string | Journal or venue name |
oa_status | string | Open access status: gold, green, hybrid, bronze, closed |
concepts | string | Comma-separated research concepts/topics |
referenced_works_count | string | Number of works this paper references |
language | string | ISO 639-1 language code |
Authors fields
| Field | Type | Description |
|---|---|---|
display_name | string | Author's full name |
works_count | string | Total works attributed to this author |
cited_by_count | string | Total citations across all works |
orcid | string | ORCID identifier if available |
affiliations | string | Semicolon-separated institution names |
x_concepts | string | Top research areas/concepts |
Institutions fields
| Field | Type | Description |
|---|---|---|
display_name | string | Institution name |
country | string | ISO country code |
type | string | Institution type: education, government, nonprofit, etc. |
works_count | string | Total works attributed to institution |
cited_by_count | string | Total citation count |
homepage_url | string | Institution homepage URL |
Sources (journals) fields
| Field | Type | Description |
|---|---|---|
display_name | string | Journal or venue name |
issn | string | ISSN(s) |
publisher | string | Publisher name |
works_count | string | Total papers published |
is_oa | string | Whether the journal is fully open access |
country | string | Country of publication |
Sample JSON output (works mode)
{"mode": "works","id": "https://openalex.org/W4394857110","doi": "https://doi.org/10.1136/bmj-2023-078378","title": "TRIPOD+AI statement: updated guidance for reporting clinical prediction models that use regression or machine learning methods","display_name": "TRIPOD+AI statement: updated guidance for reporting clinical prediction models that use regression or machine learning methods","publication_year": "2024","publication_date": "2024-04-16","type": "article","cited_by_count": "2321","authors": "Gary S. Collins; Karel G.M. Moons; Paula Dhiman; Richard D. Riley","author_institutions": "Nuffield Orthopaedic Centre; University of Oxford; KU Leuven","journal": "BMJ","oa_status": "hybrid","concepts": "Machine learning, Artificial intelligence, Clinical prediction rule, Statistics","referenced_works_count": "99","language": "en","works_count": null,"orcid": null,"affiliations": null,"x_concepts": null,"country": null,"issn": null,"publisher": null,"is_oa": null,"homepage_url": null}
How to use
Option A: Search by keyword (works mode)
The most common use case — search for papers by topic and retrieve bulk results.
Steps:
- Set
modetoworks. - Enter your
searchquery (e.g.,"machine learning"or"CRISPR gene editing"). - Optionally add a
filterto narrow results (e.g.,"from_publication_date:2023-01-01,type:article"). - Set
maxResultsto control how many papers to fetch (default 300, supports up to 50,000). - Optionally add your
mailtoemail for higher API rate limits.
Input example:
{"mode": "works","search": "machine learning","filter": "from_publication_date:2023-01-01,type:article","maxResults": 1000,"mailto": "yourname@university.edu"}
Option B: Search authors, institutions, or journals
Use modes other than works to build databases of researchers, universities, or publication venues.
Steps:
- Set
modetoauthors,institutions, orsources. - Enter your
searchquery (searches display names). - Set
maxResultsas needed.
Input example (authors):
{"mode": "authors","search": "Geoffrey Hinton","maxResults": 50}
Input example (institutions):
{"mode": "institutions","search": "MIT","maxResults": 10}
Input example (sources/journals):
{"mode": "sources","search": "Nature","maxResults": 20}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | works | Scraping mode: works, authors, institutions, or sources |
search | string | — | Full-text keyword search query |
filter | string | — | OpenAlex filter expression (works mode only) |
maxResults | integer | 300 | Maximum records to fetch (1–50,000) |
mailto | string | — | Your email for OpenAlex polite pool (optional but recommended) |
proxy | object | Datacenter | Apify proxy configuration |
Full input JSON:
{"mode": "works","search": "climate change","filter": "from_publication_date:2020-01-01,open_access.is_oa:true","maxResults": 500,"mailto": "researcher@university.edu","proxy": {"useApifyProxy": true,"apifyProxyGroups": ["DATACENTER"]}}
Output example
{"mode": "works","id": "https://openalex.org/W2963403868","doi": "https://doi.org/10.1038/s41586-019-1099-1","title": "Solving the retrosynthetic analysis problem using neural network models","display_name": "Solving the retrosynthetic analysis problem using neural network models","publication_year": "2019","publication_date": "2019-03-27","type": "article","cited_by_count": "1890","authors": "Segler, Marwin H. S.; Preuss, Mike; Waller, Mark P.","author_institutions": "University of Münster; IBM Research","journal": "Nature","oa_status": "closed","concepts": "Retrosynthetic analysis, Machine learning, Neural network, Chemistry, Organic synthesis","referenced_works_count": "48","language": "en"}
Tips for best results
- Use the filter parameter for precision: Combine date ranges (
from_publication_date:2020-01-01), document types (type:article), and open-access status (open_access.is_oa:true) for targeted results. See OpenAlex filter documentation. - Add your email as mailto: This puts you in OpenAlex's "polite pool" with higher rate limits and ensures the service can contact you if needed.
- Use both search and filter together: You can combine a keyword
searchwith afilterexpression for highly targeted queries. - Increase maxResults for bulk datasets: The actor supports up to 50,000 results per run using efficient cursor pagination — ideal for systematic reviews.
- Explore concept IDs for topic filtering: Find concept IDs at openalex.org/concepts and use them in filters like
concepts.id:C41008148(machine learning concept ID). - Use institutions mode to benchmark universities: Search for institution names and compare their works_count and cited_by_count metrics.
- Filter by institution for department output: In works mode, filter with
institutions.id:I27837315to get all papers from a specific institution. - Schedule regular runs: Use Apify's scheduler to run monthly snapshots and track how citation counts grow over time.
- Export to Google Sheets: Use the Apify integration to send results directly to a spreadsheet for collaborative review.
- Combine multiple runs: Run the actor with different filters (e.g., one per year) and merge the datasets for longitudinal analysis.
Integrations
The actor works natively with Apify's integration ecosystem:
- Google Sheets: Send scraped data directly to a spreadsheet via the built-in Google Sheets integration — no code needed.
- Slack: Get notified when a run completes via the Apify Slack integration.
- Zapier: Trigger workflows when new papers are scraped — post to Notion, send emails, or update Airtable.
- Make (formerly Integromat): Build automated research pipelines — scrape papers on a schedule, filter by citation count, and save to your database.
- Webhooks: Configure a webhook to push data to your own API endpoint as soon as the actor finishes.
- Schedule: Run the actor weekly or monthly to monitor new publications in your field automatically.
API usage
You can trigger and manage runs programmatically using the Apify API.
cURL:
curl -X POST "https://api.apify.com/v2/acts/logiover~openalex-scraper/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "works","search": "machine learning","filter": "from_publication_date:2023-01-01","maxResults": 500}'
Node.js:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('logiover~openalex-scraper').call({mode: 'works',search: 'machine learning',filter: 'from_publication_date:2023-01-01',maxResults: 500,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("logiover~openalex-scraper").call(run_input={"mode": "works","search": "machine learning","filter": "from_publication_date:2023-01-01","maxResults": 500,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["doi"])
Use with AI agents (MCP)
OpenAlex Scraper is available as an MCP (Model Context Protocol) tool via Apify, enabling AI agents and LLM assistants to query scholarly literature programmatically. You can prompt your AI agent: "Use the OpenAlex scraper to find the 200 most-cited papers on transformer neural networks published since 2022 and give me a summary of the top institutions." — the agent will trigger the actor, retrieve the data, and synthesize findings without any manual steps.
FAQ
Is an API key required?
No. OpenAlex is a fully open, keyless API. You do not need to register, log in, or provide any credentials. The actor works immediately out of the box.
How many results can I get in one run?
Up to 50,000 results per run using cursor-based pagination. The OpenAlex database contains over 250 million works, so for popular topics you may want to narrow results using filters.
What filters can I use for works?
OpenAlex supports dozens of filter attributes including from_publication_date, to_publication_date, type (article, book-chapter, preprint, etc.), open_access.is_oa, concepts.id, institutions.id, authorships.author.id, and many more. See the full filter documentation.
What if I get zero results?
Check that your search query is spelled correctly and that your filter syntax is valid. Try a shorter or more general search term. Some very niche topics may have few papers in OpenAlex. You can also check openalex.org directly to verify your query returns results.
Why are some fields null?
Fields are mode-specific. Works-mode fields (doi, title, journal, oa_status) are null in authors/institutions/sources results, and vice versa. This is by design — all modes share a unified schema.
How do I export to CSV or Excel?
After a run completes, go to the Apify dataset page and click the "Export" button. You can download results as CSV, JSON, Excel (XLSX), or JSONL. You can also export via the API using ?format=csv or ?format=xlsx.
How fast does it run?
The actor fetches 200 records per API request. For 1,000 records, it makes approximately 5 API calls. Typical runs fetch 1,000 papers in under 30 seconds. Large runs (10,000+ records) may take a few minutes.
Is the data up to date?
OpenAlex indexes papers continuously. Most major journals are indexed within days to weeks of publication. Historical coverage goes back to the 1800s for some journals.
Is it legal to scrape OpenAlex?
Yes. OpenAlex is a fully open database operated as a public good. All data is licensed under CC0 (public domain). The API is designed for bulk access. See OpenAlex Terms of Service for full details.
How often should I run the scraper?
For research monitoring (new papers in your field), a weekly or monthly schedule is typical. For one-off literature reviews, a single run is sufficient. Use Apify's scheduler to automate recurring runs.
What is the difference between search and filter?
search performs full-text keyword matching across titles, abstracts, and indexed content. filter narrows results by structured attributes (date, type, concept, institution) without keyword matching. You can combine both.
What are concepts in OpenAlex?
Concepts are machine-assigned research topics derived from the Microsoft Academic Graph taxonomy. Each work is tagged with multiple concepts at different confidence levels. The concepts field in the output contains the top concept names for each paper.
Is it legal?
OpenAlex is operated by OurResearch, a nonprofit organization committed to open bibliographic data. All data in OpenAlex is released under the CC0 public domain license, which means there are no copyright restrictions on use, reproduction, or distribution. The API is explicitly designed for bulk programmatic access and encourages large-scale data retrieval. This actor uses the public API within its intended use case.
As with any data platform, you should review the OpenAlex terms of service before using the data for commercial purposes, and consider providing attribution ("Data from OpenAlex") in publications or products that rely on this data.
Related scrapers
- Semantic Scholar Scraper — Alternative academic database with AI-powered citation analysis
- GitHub Activity Scraper — Track open-source research code repositories
- News Multi-Source Scraper — Monitor science news across publications
- CVE Advisory Scraper — Track security research publications and vulnerability disclosures