OpenAlex Scholarly Works Scraper — Search & Filter avatar

OpenAlex Scholarly Works Scraper — Search & Filter

Pricing

from $3.00 / 1,000 scholarly work records

Go to Apify Store
OpenAlex Scholarly Works Scraper — Search & Filter

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

Muhammad Afzal

Maintained by Community

Actor 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:

FieldDescription
openAlexId, doi, titleStable OpenAlex identity, DOI URL, and display title
publicationYear, publicationDate, workType, languageBibliographic metadata
citedByCount, isRetracted, isOpenAccessOpenAlex status and citation metadata at extraction time
landingPageUrl, pdfUrlBest available source links; the actor does not download them
sourceName, sourceIssnPrimary source/journal metadata
authorsAuthor IDs, names, ORCIDs, and compact institution names
topicsOpenAlex topic names
abstractReconstructed abstract when OpenAlex supplies an inverted index
referencedWorksCount, relatedWorksCountOpenAlex relationship counts
searchQuery, appliedFilter, scrapedAtRun 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:

InputDefaultPurpose
openAlexApiKeyrequiredCurrent OpenAlex API key; stored as a secret input
searchQuerymachine learningFull-text search across indexed work text
exactSearchfalseUse unstemmed OpenAlex search
advancedFilteremptyRaw documented OpenAlex filter expression
publicationYearFrom, publicationYearToemptyPublication-year bounds
workTypes[]OR-list of types such as article, dataset, and review
openAccessOnlyfalseKeep only works marked open access
minCitationsemptyMinimum cited_by_count
authorId, institutionId, sourceIdemptyOpenAlex entity filters
countryCodeemptyTwo-letter institution country code
hasAbstractemptyRequire or exclude indexed abstracts
sortrelevanceRelevance, citations, or publication date; prefix - for descending
maxResults25Maximum output records, 1–1,000
perPage100OpenAlex API page size, 1–100
responseFormatdetaileddetailed or smaller concise records
contactEmailemptyOptional 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 ApifyClient
import os
client = 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.

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.