OpenAlex Scholarly Works Scraper — Search & Filter
Pricing
from $3.00 / 1,000 scholarly work records
OpenAlex Scholarly Works Scraper — Search & Filter
Search OpenAlex scholarly works by topic, date, type, citations, author, institution, source, and open-access status. Returns one compact, traceable work record per dataset item for literature reviews and bibliometric research. API-backed metadata only; it does not download full text.
Pricing
from $3.00 / 1,000 scholarly work records
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
OpenAlex Scholarly Works Scraper
OpenAlex Scholarly Works Scraper searches the OpenAlex catalog and stores one compact, traceable scholarly-work record per dataset item. It supports full-text search, exact search, publication-year ranges, work types, open-access status, citation thresholds, author/institution/source IDs, country filters, advanced OpenAlex filters, sorting, and cursor pagination.
Use it for literature discovery, bibliometric research, citation landscape analysis, open-access screening, research trend datasets, and AI-assisted source discovery. Do not use it to download PDFs, retrieve private full text, or treat citation counts and open-access flags as quality or legal determinations.
The current OpenAlex /works API requires an API key. Create a free key at OpenAlex API settings and pass it as the secret openAlexApiKey input. The actor uses the documented /works API with per_page up to 100 and cursor pagination; it stops at maxResults and never attempts to download the entire OpenAlex dataset.
What data can I extract?
Each dataset item represents one OpenAlex work and includes:
| Field | Description |
|---|---|
openAlexId, doi, title | Stable OpenAlex identity, DOI URL, and display title |
publicationYear, publicationDate, workType, language | Bibliographic metadata |
citedByCount, isRetracted, isOpenAccess | OpenAlex status and citation metadata at extraction time |
landingPageUrl, pdfUrl | Best available source links; the actor does not download them |
sourceName, sourceIssn | Primary source/journal metadata |
authors | Author IDs, names, ORCIDs, and compact institution names |
topics | OpenAlex topic names |
abstract | Reconstructed abstract when OpenAlex supplies an inverted index |
referencedWorksCount, relatedWorksCount | OpenAlex relationship counts |
searchQuery, appliedFilter, scrapedAt | Run provenance and extraction timestamp |
The detailed format keeps up to 20 authors, 8 topics, and a 4,000-character abstract. The concise format keeps smaller author/topic lists and an 800-character abstract for agent workflows.
How to use the actor
Start with a narrow search and a small output cap:
{"openAlexApiKey": "YOUR_OPENALEX_API_KEY","searchQuery": "machine learning in healthcare","workTypes": ["article", "review"],"publicationYearFrom": 2020,"publicationYearTo": 2024,"openAccessOnly": true,"maxResults": 25,"responseFormat": "detailed"}
For citation-focused research:
{"openAlexApiKey": "YOUR_OPENALEX_API_KEY","searchQuery": "large language models","minCitations": 100,"sort": "-citedByCount","maxResults": 100,"responseFormat": "concise"}
For an author or institution portfolio, use an OpenAlex ID such as A5023888391 or I27837315. For more advanced filters, use OpenAlex syntax in advancedFilter, for example type:article,has_abstract:true.
Input
The main controls are:
| Input | Default | Purpose |
|---|---|---|
openAlexApiKey | required | Current OpenAlex API key; stored as a secret input |
searchQuery | machine learning | Full-text search across indexed work text |
exactSearch | false | Use unstemmed OpenAlex search |
advancedFilter | empty | Raw documented OpenAlex filter expression |
publicationYearFrom, publicationYearTo | empty | Publication-year bounds |
workTypes | [] | OR-list of types such as article, dataset, and review |
openAccessOnly | false | Keep only works marked open access |
minCitations | empty | Minimum cited_by_count |
authorId, institutionId, sourceId | empty | OpenAlex entity filters |
countryCode | empty | Two-letter institution country code |
hasAbstract | empty | Require or exclude indexed abstracts |
sort | relevance | Relevance, citations, or publication date; prefix - for descending |
maxResults | 25 | Maximum output records, 1–1,000 |
perPage | 100 | OpenAlex API page size, 1–100 |
responseFormat | detailed | detailed or smaller concise records |
contactEmail | empty | Optional OpenAlex mailto identifier |
Output example
{"openAlexId": "https://openalex.org/W2741809807","doi": "https://doi.org/10.7717/peerj.4375","title": "A scholarly work title","publicationYear": 2024,"publicationDate": "2024-01-02","workType": "article","language": "en","citedByCount": 125,"isRetracted": false,"isOpenAccess": true,"landingPageUrl": "https://example.org/article","pdfUrl": "https://example.org/article.pdf","sourceName": "Journal of Example Research","sourceIssn": "1234-5678","authors": [{"authorId": "https://openalex.org/A1","displayName": "Ada Lovelace","orcid": null,"institutions": ["Analytical Engine Institute"]}],"topics": ["Machine learning"],"abstract": "Reconstructed abstract text when indexed by OpenAlex.","referencedWorksCount": 42,"relatedWorksCount": 20,"searchQuery": "machine learning","appliedFilter": "type:article,open_access.is_oa:true","scrapedAt": "2026-08-01T12:00:00.000Z"}
API and integrations
Run the actor through the Apify API, schedule it, export its dataset as JSON/CSV/XLSX, or use it through Apify's hosted MCP integration after deployment. The dataset schema is stable and uses explicit null values, so agents can page through the dataset without guessing field names. A run with no matches finishes with a warning and zero records; an invalid key, rate limit, or upstream failure is reported as an actionable error.
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('YOUR_USERNAME/openalex-scholarly-works-scraper').call({openAlexApiKey: process.env.OPENALEX_API_KEY,searchQuery: 'quantum computing',maxResults: 25,sort: '-citedByCount'});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("YOUR_USERNAME/openalex-scholarly-works-scraper").call(run_input={"openAlexApiKey": os.environ["OPENALEX_API_KEY"],"searchQuery": "quantum computing","maxResults": 25,})print(client.dataset(run["defaultDatasetId"]).list_items().items)
Data quality and responsible use
OpenAlex metadata can change as records, abstracts, citation links, and open-access locations are updated. Citation counts are not peer-review or research-quality scores. Open-access flags and links are not legal advice, and users must verify licenses and access conditions before redistribution. The actor is independent and is not affiliated with OpenAlex.
Other dedicated research and data actors
Related workspace projects include ../google-scholar-scraper/README.md, ../semantic-scholar-scraper/README.md, and ../ai-citation-monitor/README.md. Other data-focused actors in the same portfolio include ../fbi-crime-data-scraper/README.md, ../gsa-elibrary-partner-finder/README.md, ../harris-county-court-records-scraper/README.md, ../yellow-pages-ca-scraper/README.md, and ../landsearch-scraper/README.md.
FAQ
How many results can I scrape with OpenAlex Scholarly Works Scraper?
Set maxResults from 1 to 1,000. The actor uses cursor pagination and stops at that record cap.
Can I integrate OpenAlex Scholarly Works Scraper with other apps?
Yes. Use the Apify API, dataset exports, schedules, webhooks, or an Apify integration.
Can I use OpenAlex Scholarly Works Scraper with the Apify API?
Yes. Call the actor and read defaultDatasetId from the completed run.
Can I use OpenAlex Scholarly Works Scraper through an MCP Server?
Yes, after deployment, the stable input and dataset schemas are designed for Apify's hosted MCP exposure.
Do I need proxies to query OpenAlex?
No. This actor uses OpenAlex's documented public API, not browser automation or target-site scraping. Use the optional contactEmail to identify your requests and keep result caps bounded.
Is it legal to use OpenAlex metadata?
Review OpenAlex's current terms, data licensing, source licenses, and applicable law for your use case. This actor does not make legal or licensing determinations.
Your feedback
Report an API response change with the run ID, input mode, and a redacted error message so the actor can be repaired without exposing your API key.