OpenAlex Scraper · Works, Authors, Institutions & Citations avatar

OpenAlex Scraper · Works, Authors, Institutions & Citations

Pricing

from $1.30 / 1,000 record returneds

Go to Apify Store
OpenAlex Scraper · Works, Authors, Institutions & Citations

OpenAlex Scraper · Works, Authors, Institutions & Citations

Scrape scholarly works, papers, citations, authors, institutions, and open-access metadata from the OpenAlex API. Fast HTTP scraper charging per returned record with tiered pricing.

Pricing

from $1.30 / 1,000 record returneds

Rating

0.0

(0)

Developer

Tarek Etman

Tarek Etman

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Share

reapX — public sources in, addressable records out

OpenAlex Scraper · Works, Authors, Institutions & Citations

OpenAlex Scraper allows you to extract scholarly works, academic papers, citation counts, authorships, institution affiliations, and open-access metadata directly from the public OpenAlex API. Search millions of publications by topic, field of study, university institution, publication year, or citation threshold with zero API key required.

Maintained by reapX. Every row cites the Apify run that produced it — nothing is inferred, modelled or filled in, and a field absent from the source is absent from the row. The extracted archive for this source is browsable at reapx.dev/data/openalex-scraper/ and mirrored as an open dataset on Hugging Face and Kaggle. Questions: reapxdev@proton.me

What is OpenAlex Scraper?

OpenAlex Scraper fetches structured bibliographic and bibliometric data from OpenAlex's catalog of over 250 million scholarly works. Designed for researchers, data scientists, academic libraries, and automated AI agents, this actor returns rich academic metadata per paper without browser overhead.

Features

  • Full-Text & Topic Search: Search works by query keywords, abstracts, or subfields.
  • Concept & Field Filters: Filter by OpenAlex Concept IDs (e.g., Computer Science, Artificial Intelligence, Quantum Computing).
  • Institution Affiliations: Extract publications affiliated with specific universities and research institutions (e.g., Harvard, MIT, Stanford, Oxford).
  • Citation Counts & Rankings: Sort publications by citation count or set minimum citation thresholds.
  • Open-Access Status: Filter by Open Access (OA) availability, status (gold, green, hybrid, bronze, closed), and obtain direct PDF download links.
  • Polite API Integration: Uses OpenAlex polite pool routing for fast, reliable data retrieval.

How to Scrape OpenAlex Works

  1. Enter a Search Query: Type a topic or search term (e.g., machine learning, quantum computing, climate change).
  2. Apply Optional Filters: Filter by concept ID, institution ID, publication year, or open-access status.
  3. Set Citation Thresholds: Optionally specify a minimum citation count or sort order (relevance_score:desc, cited_by_count:desc, publication_date:desc).
  4. Run the Scraper: Receive structured JSON output in your Apify dataset.

⬇️ Input

ParameterTypeDefaultDescription
querystring"machine learning"Full-text search query across titles and abstracts.
conceptstring""OpenAlex Concept ID (e.g. C41008148 for Computer Science).
institutionstring""OpenAlex Institution ID (e.g. I136199984 for Harvard University).
yearstring""Publication year (e.g. 2024) or year range (e.g. 2020-2024).
open_accessstring""Filter Open Access availability ("true", "false", or empty).
min_citationsinteger0Minimum citation count filter.
sortstring"relevance_score:desc"Sort order (relevance_score:desc, cited_by_count:desc, publication_date:desc).
max_resultsinteger50Maximum work records to retrieve (1-10000).
mailtostring"reapxdev@proton.me"Contact email for OpenAlex polite pool.

Exported Dataset Schema

Each returned item represents one academic work and includes the following fields:

  • paperId: OpenAlex work identifier (W-id only, e.g. W2939474406).
  • doi: Digital Object Identifier canonical URL.
  • title: Publication title.
  • publicationYear: Year of publication.
  • publicationDate: ISO date string (YYYY-MM-DD).
  • type: Publication type (e.g., article, book-chapter, preprint).
  • citedByCount: Total citations recorded by OpenAlex.
  • isOpenAccess: Boolean flag indicating Open Access availability.
  • oaStatus: Open Access tier (gold, green, hybrid, bronze, closed).
  • authors: Comma-separated author names.
  • primaryInstitution: Primary institution affiliation of the lead author.
  • primaryTopic: Main research topic or field.
  • openalexUrl: Canonical OpenAlex work URL.
  • landingPageUrl: Publisher landing page URL.
  • pdfUrl: Direct link to open-access PDF file.
  • language: Publication language code.

❓ FAQ

How do I find OpenAlex Concept IDs?

Concept IDs start with C followed by digits (e.g., C41008148 for Computer Science, C154945302 for Artificial Intelligence). You can search concepts via OpenAlex or leave the field blank to rely on text search.

How do I find OpenAlex Institution IDs?

Institution IDs start with I followed by digits (e.g., I136199984 for Harvard University, I63966007 for MIT).

Is an API key required to run this scraper?

No API key is required. OpenAlex provides free public API access. The scraper includes a polite pool email parameter for optimal rate limits.


Unofficial - not affiliated with OpenAlex. Collects public data only. reapx. Contact reapxdev@proton.me.

🧪 Example input

A real, runnable configuration — this is an actual input this Actor has run with.

{
"query": "computer science",
"concept": "C41008148",
"max_results": 50,
"mailto": "reapxdev@proton.me"
}

📄 Sample output

One real row from a real run of this Actor, unedited.

{
"paperId": "W2101234009",
"doi": "https://doi.org/10.48550/arxiv.1201.0490",
"title": "Scikit-learn: Machine Learning in Python",
"publicationYear": 2012,
"publicationDate": "2012-01-02",
"type": "preprint",
"citedByCount": 63895,
"isOpenAccess": true,
"oaStatus": "green",
"authors": "Fabián Pedregosa, Gaël Varoquaux, Alexandre Gramfort, Vincent Michel, Bertrand Thirion, Olivier Grisel, Mathieu Blondel, Müller, Andreas, Nothman, Joel, Louppe, Gilles, Peter Prettenhofer, Ron J. Weiss, Vincent Dubourg, Jake Vanderplas, Alexandre Passos, David Cournapeau, Matthieu Brucher, Matthieu Perrot, Édouard Duchesnay",
"primaryInstitution": "Commissariat à l'Énergie Atomique et aux Énergies Alternatives",
"primaryTopic": "Computational Physics and Python Applications",
"openalexUrl": "https://openalex.org/W2101234009",
"landingPageUrl": "http://arxiv.org/abs/1201.0490",
"pdfUrl": "https://arxiv.org/pdf/1201.0490",
"language": "en"
}

How it works

  1. You set the filters below, or none at all.
  2. The Actor calls the source's own public endpoint and pages through the results.
  3. Every row is pushed to the dataset as it is built, not buffered to the end — so a run that hits its time limit still returns everything it collected up to that point.
  4. You are charged per row returned, so the maximum-results field is also your cost cap.

💬 Your feedback

Found a bug, or need a field this does not return yet? Open an issue on the Actor's Issues tab, or write to reapxdev@proton.me. Bugs get fixed and reasonable field requests get added.

⚠️ Run outcomes and error handling

This Actor reports what happened in the run's status message, and it always keeps whatever it collected. These are the outcomes you can get and what each one means.

OutcomeWhat it means
SuccessRows were returned and you were charged record-returned at $0.002 per row.
No matchesThe source returned nothing for your filters. Nothing is charged. Widen the date window or drop a filter.
Partial - source refusedThe source rate-limited or refused some requests. The affected items are skipped and named in the log, and everything already collected is still pushed. A block never discards a run's work.
Rejected filterThe source itself rejected the filter combination. The run fails fast with the source's own reason and nothing is charged.

What is guaranteed either way

  • Every row is pushed as it is built, not buffered to the end of the run. Anything that buffers output loses everything to a timeout, a block or a migration; this does not.
  • A field absent from the source is absent from the row. Nothing is inferred, modelled or filled in to make a row look complete.