ParseForge Scrapers

OpenAlex Topics Scraper

parseforge/openalex-topics-scraper

News & mediaOther

Collects OpenAlex research topics with their works counts, citation metrics, related concepts, and hierarchical ancestors. Returns each topic as a flat row.

Run this scraper See the API call
Total users
2
Monthly active
1
Total runs
94
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

OpenAlex Topics Scraper

Scrape OpenAlex research topics by concept, subfield, or domain, up to a million per run. Every topic comes with its works count, citation metrics, related concepts, and hierarchical ancestors. No API key required. Export to CSV, JSON, Excel, or XML.

OpenAlex is a free, open catalog of the global research ecosystem, but querying its API for topic-level data requires pagination handling and schema normalization. This Actor reads the public Topics endpoint directly, collecting every topic that matches your scope, and returns each one as a clean, flat row ready for analysis.

Who uses it What they scrape OpenAlex for
Research analysts Mapping the landscape of a scientific subfield by its topic hierarchy and publication volume.
Librarians Building a browsable taxonomy of research areas for a university discovery portal.
Data scientists Training a topic classification model on the OpenAlex concept hierarchy and citation signals.
Grant writers Identifying high-growth research topics to align a proposal with funder priorities.

What it does

This Actor collects OpenAlex research topics from the full Topics catalog and returns each topic with its metadata as a structured row.

  • 🌳 Hierarchical ancestors: each topic includes its parent concepts and full lineage up to the root domain.
  • πŸ“ˆ Citation and works metrics: total works count, citation counts, and computed impact signals per topic.
  • πŸ”— Related concepts: linked sibling and child topics for building knowledge graphs.
  • βš™οΈ Flat row output: every topic is returned as one row, no nested JSON to unpack.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with OpenAlex data

πŸ—ΊοΈ Map a research subfield.

A research analyst collects all topics under 'Computer Science' to visualize the subfield hierarchy and identify the fastest-growing areas by works count.

πŸ“š Build a library taxonomy.

A university librarian scrapes the full OpenAlex topic tree to populate a discovery system with standardized, linked research categories.

πŸ€– Train a topic classifier.

A data scientist collects topics with their works counts and citation metrics as labeled training data for a scholarly document classifier.

πŸ“ Align a grant proposal.

A grant writer pulls topics related to a funding call to show how the proposed work fits into a high-impact, growing research area.

Why choose this scraper

What you get
No API key OpenAlex is fully open. No registration, no token, no rate-limit headaches.
Fixed schema Every topic row has the same columns, so your CSV or database import works first time.
Full hierarchy Ancestors and related concepts are included, not the topic name.
Scalable Collect a handful of topics for a pilot or the entire catalog for a production pipeline.

How it compares

This Actor focuses exclusively on the OpenAlex Topics endpoint, returning the full topic taxonomy with hierarchical ancestors, while other OpenAlex scrapers target scholarly works, authors, and citations.

Feature ParseForge OpenAlex Academic Research Scraper - Scholarly Papers OpenAlex Academic Research Scraper OpenAlex Works Scraper
Scrapes OpenAlex Topics endpoint Yes Not listed Not listed Not listed
Returns hierarchical topic ancestors Yes Not listed Not listed Not listed
Includes related concepts per topic Yes Not listed Not listed Not listed
Scrapes scholarly papers and authors No, topics only Yes Yes Yes
No API key required Yes Yes Yes Yes

Configure the run

Set a maximum number of topics to collect per run, from one up to one million, and the Actor handles pagination and rate limits automatically. The Input tab lists every parameter.

A first run with the defaults:

{
 "maxItems": 10
}

A larger pull:

{
 "maxItems": 200
}

Pricing

Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $2.10
1,000 results $21.00
10,000 results $210.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the OpenAlex Topics Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to OpenAlex through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/openalex-topics-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting fewer topics than my maxItems setting?

The Actor stops when it has collected the number of topics you set. If the OpenAlex catalog has fewer topics than your maxItems value, you will receive all available topics and the run will finish normally.

The run timed out. What should I do?

Lower your maxItems value and run again. Collecting a very large number of topics can take time. If you need the full catalog, consider splitting the work across multiple runs or increasing the run timeout in your Apify account settings.

Some topic fields are empty or null.

Not every topic has a description, related concepts, or citation counts. Empty fields reflect missing data in OpenAlex itself, not a collection error.

The output has duplicate topic rows.

The Actor deduplicates by topic ID. If you see duplicates, check whether you ran the Actor multiple times and concatenated datasets without removing overlap.

I need topics only from one domain, like Medicine.

The Actor collects all topics. After the run, filter your dataset on the ancestor domain field to keep only rows where the root ancestor is 'Medicine'.

FAQ

Question Answer
Do I need an API key or institutional login? No. OpenAlex is a completely open service. This Actor calls the public REST API with polite rate limiting and requires no authentication.
What is an OpenAlex topic? A topic is a specific research area within the OpenAlex concept hierarchy. Each topic sits under a subfield, which sits under a domain, and carries aggregated works counts and citation metrics.
How many topics can I collect in one run? You set the maximum with the 'Maximum topics' input. The Actor can collect up to one million topics per run, paginating through the API automatically.
What fields does each topic row contain? Each row includes the topic ID, display name, description, works count, citation counts, related concepts, and hierarchical ancestors. The exact schema is shown in the sample output on the Actor's page.
Can I filter by domain or subfield? The Actor collects topics from the full catalog. To focus on a specific domain, filter the output dataset by the ancestor fields after the run completes.
Is the data updated live? Yes. Every run calls the live OpenAlex API, so you get the current topic metadata and metrics as of the moment of collection.
How is this different from scraping works or authors? This Actor targets the Topics endpoint specifically. It returns the research topic taxonomy and aggregated metrics, not individual papers or author profiles.
What output formats are supported? You can export your dataset to CSV, JSON, Excel, or XML from the Apify platform after the run finishes.
Can I schedule this to run weekly? Yes. Apify's scheduler lets you set a recurring run so your topic dataset stays current as OpenAlex adds and updates topics.
Does this Actor handle API rate limits? Yes. It makes requests at a polite rate and retries automatically if the API signals a temporary limit.

Related actors

Browse the full ParseForge collection for more scrapers.

πŸ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by OurResearch. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
maxItems integer Maximum number of topics to collect per run. 10

Pricing

from $19.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.019 to $0.021

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST Β· run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~openalex-topics-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run OpenAlex Topics Scraper on Apify All scrapers