OpenAlex Scraper & Academic Papers API: DOIs, Citations avatar

OpenAlex Scraper & Academic Papers API: DOIs, Citations

Pricing

from $0.50 / 1,000 work results

Go to Apify Store
OpenAlex Scraper & Academic Papers API: DOIs, Citations

OpenAlex Scraper & Academic Papers API: DOIs, Citations

Scholarly papers from OpenAlex by keyword or bulk DOI list: title, DOI, year, venue, citations, open-access link, authors, institutions, topics and abstract. Simple year, citation, type and open-access filters. CC0 data.

Pricing

from $0.50 / 1,000 work results

Rating

0.0

(0)

Developer

Stanislav

Stanislav

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Security

Limited permissions

Share

OpenAlex Scraper & Academic Paper API: Bulk DOI, Citations

Search OpenAlex, the open index of scholarly papers, by keyword with simple year, citation, type and open-access filters, or look up a list of DOIs in bulk. Every row has title, DOI, year, venue, citation count, open-access link, authors, institutions, topics and abstract.

  • Who it's for: researchers and librarians, literature reviews and meta-analyses, R&D and patent teams, bibliometrics, AI/RAG dataset builders.
  • Source: the official OpenAlex API (CC0 open data). No scraping, no login; an OpenAlex API key is optional.
  • Bulk DOIs: paste DOIs in any form; 50 per API call; DOIs not in OpenAlex are listed in the status and not charged.
  • Output: JSON, CSV or Excel; pay per paper returned (see the Pricing tab).

Quick start (one click)

Open the Actor and press Start: the form is prefilled with this input.

{
"query": "large language models",
"filter": "publication_year:2025,is_oa:true",
"maxResults": 50
}

Sample output (one row, more fields in the dataset):

iddoititlepublicationYearvenue
https://openalex.org/W...https://doi.org/10....A Comprehensive Overview of Large Language Models2025arXiv

Use cases

Literature review starter. Most-cited papers on a topic since 2020.

{"query": "retrieval augmented generation", "yearFrom": 2020, "sort": "cited_by_count:desc", "maxResults": 200}

Bulk DOI enrichment. Citations, venue, authors and open-access link for a DOI list.

{"dois": ["10.1038/nature14539", "10.48550/arXiv.1706.03762"]}

Open-access corpus for RAG. Open-access papers with abstracts, for an LLM corpus.

{"query": "battery recycling", "openAccessOnly": true, "maxResults": 1000}

Research-group leads. Recent papers on a topic, to find active institutions and authors.

{"query": "protein design", "yearFrom": 2025, "type": "article", "maxResults": 300}

How it compares

Checked against the most-used academic paper search actors in the Apify Store (their Store pages, input forms, reviews and Issues tabs, 23 Oct 2026). Alternatives are described generically; every claim about them is visible on their public pages.

This actorCommon in the alternatives
SourceOpenAlex, the open scholarly index (CC0 data), via its official APISeveral alternatives scrape a search engine's result pages instead
Simple filtersyearFrom, yearTo, minCitations, type, openAccessOnly as form fields; raw OpenAlex filter still availableThe OpenAlex-based alternative has similar fields; scrapers usually offer only year range
Bulk DOI lookupPaste up to thousands of DOIs (bare or https://doi.org/...); 50 per API call; DOIs not found are listed in the status and not chargedRare
Cost predictability$0.50 per 1,000 works + $0.005 per run; you can cap spend with "Max charge per run"A review of one alternative: "this one costed me more than 4 euros" vs 0.3 euro elsewhere for the same task
OutputTitle, DOI, year, type, citations, open-access URL, venue, authors, institutions, topics, abstract (rebuilt from OpenAlex's inverted index)Search-result snippets on scrapers
Not includedAuthor email addresses (not in OpenAlex)Requested in an issue on one alternative, also not supported there

Ready-to-copy inputs

Open-access papers on a topic, 2024 or later, cited at least 20 times:

{"query": "retrieval augmented generation", "yearFrom": 2024, "minCitations": 20, "openAccessOnly": true, "maxResults": 200}

Metadata for a list of DOIs:

{"dois": ["10.1038/nature14539", "https://doi.org/10.1145/3065386"]}

Features and details of this OpenAlex API

Search 250M+ scholarly works from OpenAlex, the open (CC0) successor of Microsoft Academic Graph. One clean JSON row per paper. No scraping, no login, no proxies.

What you get per work

fieldexample
id, doihttps://openalex.org/W..., https://doi.org/10....
title, type, languageA Comprehensive Overview of Large Language Models, article, en
publicationYear, publicationDate2025, 2025-03-01
venue, publisherjournal / conference / repository name
isOpenAccess, oaUrl, landingPageUrlfree full-text link when available
citedByCount412
authors, institutionsnames only (published bibliographic metadata, no emails)
topicstop 3 OpenAlex topics
abstractreconstructed plain text

API key (optional, free)

Without a key the actor uses OpenAlex's keyless access, which shares one small daily budget and allows at most 10,000 results. For bigger or repeated pulls, create a free key at openalex.org (Settings → API key, ~30 s) and paste it into OpenAlex API key. It is stored as an Apify secret input and only sent to api.openalex.org; usage counts against your own OpenAlex account. If OpenAlex answers 429 and no key is set, the run stops with a clear message telling you to add one (you are only charged for results actually returned).

Data licence

OpenAlex data is CC0. Please cite OpenAlex (Priem et al., 2022) in published work.

Pricing

Pay per result: one charge per work returned, plus a small per-run start fee. Cap spend with "Max charge per run".

How to use the OpenAlex API

  1. Open the Actor, fill in the input form (or paste the JSON below).
  2. Click Start. Results land in the dataset as JSON, CSV, Excel or via the Apify API.
  3. For alerts or regular refreshes, add an Apify Schedule. You can cap spend with "Max charge per run".

Input example

{
"query": "large language models",
"filter": "publication_year:2025,is_oa:true",
"sort": "cited_by_count:desc",
"maxResults": 500
}

Output example

{
"id": "https://openalex.org/W...",
"doi": "https://doi.org/10....",
"title": "A Comprehensive Overview of Large Language Models",
"publicationYear": 2025,
"venue": "arXiv",
"isOpenAccess": true,
"oaUrl": "https://arxiv.org/pdf/...",
"citedByCount": 412,
"authors": [
"..."
],
"topics": [
"Natural Language Processing"
],
"abstract": "..."
}

Values above are illustrative; field names match the dataset schema.

FAQ

Do I need an OpenAlex API key?

No for small runs. Keyless access shares a small daily budget and stops at 10,000 results; a free key from openalex.org removes that bottleneck.

Is this a Google Scholar scraper?

No. It uses OpenAlex's official open API, not Google Scholar, so coverage and citation counts can differ from Scholar.

Can I use the data commercially?

OpenAlex data is CC0. Please cite OpenAlex (Priem et al., 2022) in published work.

How much does it cost?

$0.50 per 1,000 papers plus $0.005 per run.

Are there limits I should know about?

Yes. Results are only as complete and current as the official source. If a source is down, the run logs the error instead of returning made-up data. Report problems in the Issues tab.

Use it from code, AI agents and automations

The same input as the form above works everywhere. Results are the run's dataset (JSON, CSV, Excel). You need an Apify API token (Console → Settings → API & Integrations).

Python (pip install apify-client)

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("stazis/openalex-works-api").call(run_input={
"query": "large language models",
"filter": "publication_year:2025,is_oa:True",
"maxResults": 50
})
for item in client.dataset(run.default_dataset_id).iterate_items(): # apify-client < 3: run["defaultDatasetId"]
print(item)

JavaScript / TypeScript (npm i apify-client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('stazis/openalex-works-api').call({
"query": "large language models",
"filter": "publication_year:2025,is_oa:true",
"maxResults": 50
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

HTTP, one call (waits for the run, up to 5 minutes, and returns the items)

curl -X POST "https://api.apify.com/v2/acts/stazis~openalex-works-api/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
-d '{"query": "large language models", "filter": "publication_year:2025,is_oa:true", "maxResults": 50}'

AI agents (MCP). This Actor runs with limited permissions, so AI agents can use it through the hosted Apify MCP server (Claude, Cursor, VS Code, Codex and other MCP clients). Add this to your MCP client config and sign in with Apify on first use:

{ "mcpServers": { "openalex-works-api": { "url": "https://mcp.apify.com?tools=stazis/openalex-works-api" } } }

Agents without an Apify account can pay per run in USDC through agi.apify.com (x402). Pricing is pay-per-event, so an agent pays only for the results it gets.

LangChain (pip install langchain-apify, set APIFY_TOKEN): from langchain_apify import ApifyActorsTool and tool = ApifyActorsTool("stazis/openalex-works-api") gives your agent this Actor as a tool.

No-code and scheduling: use the Apify app in Make, n8n or Zapier ("Run an Actor", then pick stazis/openalex-works-api), or create a Schedule in Apify Console to run it daily and send results to a webhook, Slack or Google Drive through Apify integrations.

Other data APIs by stazis