OpenAlex Works Scraper
Search OpenAlex scholarly works or fetch one exact OpenAlex work by ID or DOI through the public OpenAlex API, returning normalized paper metadata, authors, institutions, publication venues, citation counts, open-access links, concepts, topics, and optional abstract text.
Workspace
Configure
Inputs stay here while results become exportable artifacts.
Start from an example
Results
Preview, inspect, copy, or export the complete output.
Your result will become an artifact
Run the tool to inspect structured rows, raw JSON, execution details, and downloadable JSON, CSV, and Markdown files.
Overview
OpenAlex Works Scraper gives agents a public-API route into OpenAlex scholarly work metadata. Search by keyword with optional publication date, year, type, open-access, and raw OpenAlex filters, or fetch a known OpenAlex work ID, DOI, or DOI URL. The tool normalizes OpenAlex JSON into compact paper rows with OpenAlex IDs, DOI URLs, titles, publication dates, authors, ORCIDs, institutions, countries, venues, publishers, citation and reference counts, open-access status, landing pages, PDF URLs, concepts, topics, and reconstructed abstracts when requested. It is designed for literature discovery, bibliometric analysis, RAG corpus triage, open-access harvesting, institution research maps, citation monitoring, and research-agent workflows that need open scholarly metadata without publisher scraping.
Last validated: Jul 3, 2026
Input
mode"search" | "work"default: "search"Search OpenAlex works or fetch one exact work.
pageintegerdefault: 1OpenAlex search page number.
sort"relevance_score" | "cited_by_count:desc" | "publication_date:desc" | "publication_year:desc"default: "relevance_score"OpenAlex sort expression for search mode.
typestringOpenAlex work type such as article, preprint, book-chapter, or dataset.
querystringKeyword query for OpenAlex works search.
filterstringOptional raw OpenAlex filter expression, e.g. type:article,authorships.institutions.country_code:US.
work_idstringOpenAlex work ID, OpenAlex URL, DOI, DOI URL, or DOI-prefixed value, e.g. W2919115771, https://openalex.org/W2919115771, 10.1038/nature14539, or https://doi.org/10.1038/nature14539.
per_pageintegerdefault: 10Maximum works to return in search mode.
is_open_accessbooleanFilter search results to open-access or closed works.
include_abstractbooleandefault: trueReconstruct abstract text from OpenAlex inverted-index abstracts when available.
publication_yearintegerExact publication year filter.
to_publication_datestringLatest publication date filter in YYYY, YYYY-MM, or YYYY-MM-DD format.
from_publication_datestringEarliest publication date filter in YYYY, YYYY-MM, or YYYY-MM-DD format.
Output
modestringrequiredMode used for this run
countintegerrequiredNumber of returned works
querystringOpenAlex search query used
worksobject[]requiredStructured OpenAlex work records
work_idstringExact work identifier used
source_urlstringrequiredOpenAlex API URL fetched
total_matchesintegerTotal OpenAlex matches reported by the API
Examples
deep-learning-work
{
"mode": "work",
"work_id": "10.1038/nature14539"
}llm-search
{
"mode": "search",
"query": "large language models",
"per_page": 2,
"from_publication_date": "2024-01-01"
}Use cases
FAQ
Does OpenAlex Works Scraper require an API key?
No. Version 0.1 uses the public OpenAlex API and keeps each run to one bounded request. OpenAlex may enforce request budgets, so high-volume workflows should use OpenAlex's current authentication and pricing guidance directly.
Does it download PDFs or crawl publisher pages?
No. It returns metadata, landing-page URLs, open-access URLs, and PDF URLs when OpenAlex provides them. It does not download PDFs, parse full text, or scrape publisher websites.
Is this tool affiliated with OpenAlex?
No. OpenAlex is operated by OurResearch. This Better Fetch tool uses public OpenAlex API data and is not endorsed by or affiliated with OpenAlex or OurResearch.
Use it anywhere
MCP (Claude, ChatGPT, Codex)
# After connecting https://betterfetch.co/api/mcp, ask your AI to:
1. Call search_tools for "OpenAlex Works Scraper"
2. Call run_tool with:
name: "openalex_works_scraper"
input: {"mode":"work","work_id":"10.1038/nature14539"}REST
curl -sS -X POST "https://betterfetch.co/api/tools/openalex_works_scraper/run" \
-H "Authorization: Bearer bf_your_key_here" \
-H "Content-Type: application/json" \
-d '{"input": {"mode":"work","work_id":"10.1038/nature14539"}}'Run locally
git clone https://github.com/better-fetch/tools/tree/main/tools/openalex-works-scraper && cd openalex-works-scraper && npm i
BETTER_FETCH_API_KEY=bf_your_key_here npx bf-tool run --input '{"mode":"work","work_id":"10.1038/nature14539"}'