OpenAlex Scholarly Works Scraper avatar

OpenAlex Scholarly Works Scraper

Pricing

from $4.00 / 1,000 results

Go to Apify Store
OpenAlex Scholarly Works Scraper

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

naoki anzai

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

OpenAlex Research Intelligence

Research and intelligence teams enter topics, works, authors, institutions, or concepts. The Actor discovers and monitors official OpenAlex metadata, then emits only new work signals on recurring monitor runs. Use the companion PubMed and NIH Actors for the buyer-facing report, citation export, and grant/funding context; this Actor's runtime and pricing remain row-based.

Store Quickstart

Use a bounded scheduled watch to establish a free baseline and then receive only new work, author, and source rows on change. The first run stores the baseline; later changed runs are the alert step in the research workflow.

{
"searchTerms": ["retrieval augmented generation"],
"fromDate": "2025-01-01",
"sort": "publication_date:desc",
"limitPerSource": 10,
"maxWorks": 20,
"monitor": true,
"monitorKey": "rag-literature-watch",
"initialRunMode": "baseline_only",
"delivery": "dataset",
"dryRun": false
}

The first baseline emits zero rows and zero charges. Repeat the same input on a schedule; unchanged runs remain zero-row/zero-charge, while new works produce structured change rows that can be passed to the report/export workflow below.

Run the next report

Research cluster workflow

  1. Discover: use OpenAlex search, author, institution, concept, or work filters to find a bounded research set.
  2. Alert: enable monitor: true with a stable monitorKey; only unseen works are delivered after the baseline.
  3. Deliver: send the resulting work IDs or search terms to the PubMed/NIH companion Actors when a report, citation export, or funding-output view is required.

OpenAlex does not fabricate a report, export, or synthetic alert row. Its existing runtime emits work_summary, author_signal, and source_summary rows; monitor mode makes those rows change-only. This keeps the Store description aligned with the deployed contract.

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: true and 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

FieldDefaultNotes
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 / toDateemptyPublication date filters in YYYY-MM-DD.
sortcited_by_count:descCitation, publication date, or relevance sort.
limitPerSource25Works fetched per search/filter source.
maxWorks100Global unique work cap.
includeAbstractfalseReconstruct abstract text from OpenAlex inverted index when available.
mailtoemptyOptional polite-pool email parameter for OpenAlex.
monitorfalseMonitor mode: emit only works not seen on a prior run (stateful new-results alert). Pair with a schedule.
monitorKeyemptyOptional label to namespace monitor state across several watched queries.
initialRunModebaseline_onlyFirst monitor run: baseline_only records state with 0 rows/charges; emit_backfill delivers the current baseline as charged rows.
deliverydatasetdataset or webhook.
dryRunfalseSkip dataset/webhook delivery.

At least one of searchTerms, workIds, authorIds, institutionIds, or conceptIds is required.

Dataset Rows and downstream deliverables

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

The rows above are the deployed OpenAlex deliverables. A recurring monitor run is the alert step; report/export packaging is intentionally handled by the linked PubMed and NIH Actors so buyers receive source-specific outputs with the appropriate interpretation limits.

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

See docs/sample-output.json for a representative work_summary, author_signal, and source_summary payload. Run the actor once with the Quickstart input to establish state before scheduling.

Local Development

npm install
npm test
node 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.
  • includeAbstract can increase payload size substantially.

Monitoring example

See Monitor mode above to schedule new-paper alerts for an author, institution, or concept.

Billing safety

  • monitor: false preserves one-shot behavior and delivers each output row through the configured PAY_PER_EVENT event.
  • monitor: true persists the seen-work cursor only after delivery and the PHASE89_DELIVERY_AUDIT receipt succeed.
  • The runtime verifies the chargedCount returned by Actor.pushData for every billable row. Missing charge receipts fail closed.