OpenAlex Scholarly Works Scraper
Pricing
from $4.00 / 1,000 results
OpenAlex Scholarly Works Scraper
Extract publication, author, institution, source, citation, topic, DOI, and open-access signals from the official OpenAlex API.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
naoki anzai
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
3
Monthly active users
20 hours ago
Last modified
Categories
Share
OpenAlex Research Intelligence
Extract research intelligence from the official OpenAlex API without browser scraping. Use search terms, OpenAlex work IDs, author IDs, institution IDs, or concept IDs to produce flattened dataset rows for works, authors, and publication sources.
Run the next report
- Turn a literature watch into a source-linked trial and evidence-gap report with Biomedical Trial & Literature Evidence Report.
Use cases
Use this actor for academic / bibliometric research — query 250M+ scholarly works by topic, author, institution, or citation. Auth-free, official-API-first, with a stable output schema and documented source compliance.
Monitor mode - new-paper alerts (recurring)
Schedule this actor and get only the works you haven't seen before on each run - a stateful "new research" alert, not a full re-dump. Ideal for watching an author, institution, or concept for new publications.
- Set
monitor: trueand run on a schedule (Apify Schedules). - The first run defaults to
initialRunMode: "baseline_only": it establishes state, emits 0 rows, and makes 0 PPE charges. - Use
initialRunMode: "emit_backfill"when you explicitly want the first baseline delivered as charged rows for a billing proof or initial export. - Every later run emits only new works (plus their author/source rows). If the state is unchanged, it emits 0 rows and makes 0 charges.
- State is namespaced per query — watching several? Give each a distinct
monitorKey. - A state read/save failure fails closed: the actor does not charge rows or advance the cursor.
{"institutionIds": ["I63966007"],"sort": "publication_date:desc","monitor": true,"initialRunMode": "baseline_only","delivery": "webhook","webhookUrl": "https://your-endpoint.example/new-papers"}
Tip: entity queries (
authorIds/institutionIds/conceptIds) are the most reliable for scheduled monitoring.
Inputs
| Field | Default | Notes |
|---|---|---|
searchTerms | [] | Research queries for OpenAlex works. |
workIds | [] | OpenAlex work IDs or URLs. |
authorIds | [] | OpenAlex author IDs. |
institutionIds | [] | OpenAlex institution IDs. |
conceptIds | [] | OpenAlex concept IDs. |
fromDate / toDate | empty | Publication date filters in YYYY-MM-DD. |
sort | cited_by_count:desc | Citation, publication date, or relevance sort. |
limitPerSource | 25 | Works fetched per search/filter source. |
maxWorks | 100 | Global unique work cap. |
includeAbstract | false | Reconstruct abstract text from OpenAlex inverted index when available. |
mailto | empty | Optional polite-pool email parameter for OpenAlex. |
monitor | false | Monitor mode: emit only works not seen on a prior run (stateful new-results alert). Pair with a schedule. |
monitorKey | empty | Optional label to namespace monitor state across several watched queries. |
initialRunMode | baseline_only | First monitor run: baseline_only records state with 0 rows/charges; emit_backfill delivers the current baseline as charged rows. |
delivery | dataset | dataset or webhook. |
dryRun | false | Skip dataset/webhook delivery. |
At least one of searchTerms, workIds, authorIds, institutionIds, or conceptIds is required.
Dataset Rows
work_summary
- title, DOI, OpenAlex ID, publication year/date, type
- citation count, open-access status, retraction flag
- primary source, publisher, landing page, PDF URL
- topics, concepts, countries, institutions
author_signal
- work ID/title, author name and OpenAlex ID
- author order/position, corresponding author flag
- affiliated institutions and countries
source_summary
- work ID/title, journal or source name
- source type, ISSN, host organization, open-access source flag
Example Input
{"searchTerms": ["large language models", "retrieval augmented generation"],"fromDate": "2024-01-01","sort": "cited_by_count:desc","limitPerSource": 10,"maxWorks": 20,"includeAbstract": false,"delivery": "dataset","dryRun": false}
Sample output
Each run produces structured dataset rows (see the Dataset Rows section above for the field list). Run the actor once with the example input to see a live sample before scheduling.
Local Development
npm installnpm testnode src/index.js
output/result.json contains the full payload. Apify dataset delivery writes flattened rows.
Limitations
- OpenAlex coverage is broad but not identical to Crossref, PubMed, Semantic Scholar, or publisher APIs.
- Citation counts and metadata can lag source publications.
- Relevance sort is used only for search sources; non-search filters fall back to citation sort.
includeAbstractcan increase payload size substantially.
Monitoring example
See Monitor mode above to schedule new-paper alerts for an author, institution, or concept.
Billing safety
monitor: falsepreserves one-shot behavior and delivers each output row through the configured PAY_PER_EVENT event.monitor: truepersists the seen-work cursor only after delivery and thePHASE89_DELIVERY_AUDITreceipt succeed.- The runtime verifies the
chargedCountreturned byActor.pushDatafor every billable row. Missing charge receipts fail closed.