ParseForge Scrapers

Semantic Scholar Citations Scraper

parseforge/semanticscholar-citations-scraper

AutomationIntegrations

Scrapes citations or references for one paper from Semantic Scholar using a DOI, arXiv ID, or other identifier. Each result row contains title, authors, year, and citation count.

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

Overview

ParseForge

Semantic Scholar Citations Scraper

Scrape every citation and reference for any paper, by DOI, arXiv ID, or URL, up to a million per run. Each result comes with its title, authors, year, and citation count, no API key required. Export to CSV, JSON, Excel, or XML.

Most academic search APIs need a key and rate-limit your lookups. This Semantic Scholar citation scraper reads the public API directly, letting you pull every paper that cites a work, or every paper that a work references, from a single identifier. Paste a DOI, arXiv ID, CorpusId, or a direct URL, set a maximum, and you get back a complete, flat dataset of connected research.

Who uses it What they scrape Semantic Scholar for
Researchers and PhD students Mapping the literature graph around a key paper for a thesis or review
Librarians and research managers Tracking the downstream influence and citation count of an institution's published output
Bibliometric analysts Building a raw citation network dataset for co-citation or bibliographic coupling analysis

What it does

This Actor collects citations or references for a single paper from Semantic Scholar and returns each citing or referenced paper as a structured row.

  • ๐Ÿ“„ Paper identification by many IDs: paste a Semantic Scholar paper ID, DOI, arXiv ID, CorpusId, PMID, PMCID, or a full URL from semanticscholar.org, arxiv.org, or doi.org.
  • ๐Ÿ”„ Dual direction routing: choose citations (papers that cite this paper) or references (papers this paper cites).
  • ๐Ÿ”‘ Optional API key: bring your free Semantic Scholar API key for a higher rate limit on large collections.

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

What you can do with Semantic Scholar data

๐Ÿ“š Build a literature review dataset.

A PhD student enters the DOI of a foundational paper and scrapes the 200 most recent citations to identify related work for their thesis.

๐Ÿ“ˆ Track research influence over time.

A bibliometric analyst pulls annual citation counts for a set of papers to compute an h-index or impact narrative for a department.

๐Ÿ”— Construct a citation network graph.

A data scientist scrapes inbound citations for a seed paper, then feeds the output into a graph database to run PageRank on the literature.

๐Ÿ” Audit reference lists before submission.

A researcher checks that every paper cited in their manuscript still matches the correct Semantic Scholar record, using the references mode.

Why choose this scraper

What you get
Full citation metadata Author names, title, publication year, venue, and citation count for every result
No API key needed Works with the public endpoint out of the box, with an optional key for higher limits
Accepts any common paper ID Semantic Scholar ID, DOI, arXiv ID, CorpusId, PMID, or a full URL are all auto-detected
Directional citation graph Pull either the inbound citations or the outbound references from a single paper

How it compares

This Actor is purpose-built for directional citation gathering around a single paper, not keyword search. Here is how it compares to other Semantic Scholar scrapers on Apify.

Feature ParseForge Semantic Scholar Search Scraper Academic Paper Scraper
Directional citation scraping (citations & references) Yes, per-run mode selector Not listed Not listed
Accept DOI input Yes, auto-detected Not listed Yes
Accept arXiv ID input Yes, auto-detected Not listed Not listed
Accept PMID input Yes, auto-detected Not listed Not listed
Up to 1 million results per run Yes Not listed Not listed
Optional Semantic Scholar API key Yes Not listed Not listed

Configure the run

Drive the Actor from a single paper identifier in any common format, choose the citation direction, and set a maximum count so you stop exactly when you have enough. The Input tab lists every parameter.

A first run with the defaults:

{
 "paperId": "10.1145/3292500.3330701",
 "maxItems": 10
}

A larger pull:

{
 "paperId": "10.1145/3292500.3330701",
 "maxItems": 200
}

Pricing

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

Results collected Approximate cost
100 results $0.85
1,000 results $8.50
10,000 results $85.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 Semantic Scholar Citations 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 Semantic Scholar 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/semanticscholar-citations-scraper"

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

Troubleshooting

The Actor says no results were found.

First confirm the paper has citations or references on the live Semantic Scholar site. Then check your paperId format: paste the DOI exactly as it appears, or use the Semantic Scholar 40-character hex ID for the most direct lookup.

Why am I getting a rate limit error?

The public API has a lower rate limit. Add a free Semantic Scholar API key in the optional API key field to increase the limit significantly.

My PMID is not being recognized.

Make sure you include the 'PMID:' prefix, for example 'PMID:19872477'. A bare number is interpreted as a CorpusId, not a PubMed ID.

The run stopped before collecting all citations.

Check your maxItems setting. If the paper has more citations than the number you entered, the Actor stops there. Increase maxItems to collect more.

I entered an arXiv ID but the Actor failed.

Try the canonical arXiv ID form without the version suffix, like '1705.10311'. Both 'arXiv:1705.10311' and '1705.10311' should work, but removing extra trailing text can help if the paper has multiple versions.

The output has duplicate entries.

Semantic Scholar occasionally returns the same paper under slightly different IDs. Use the dataset's unique key or deduplicate on the paperId column in your post-processing step.

FAQ

Question Answer
Can I scrape citations for more than one paper at a time? No, this Actor is built for one paper per run. To process a list of papers, use it inside an Apify workflow or call it in a loop from the API with a different paperId each time.
What paper identifier formats does it accept? It auto-detects Semantic Scholar 40-character hex IDs, DOIs with or without a prefix, arXiv IDs, CorpusIds, PMIDs, and full URLs from semanticscholar.org, arxiv.org, or doi.org. A plain number is treated as a CorpusId.
Do I need a Semantic Scholar API key? No, the public endpoint works without a key for smaller jobs. For higher rate limits on runs up to a million items, you can add a free key from semanticscholar.org/product/api.
What is the difference between citations and references mode? Citations mode returns papers that cite your target paper. References mode returns papers that your target paper cites.
Does this scrape the full text of the papers? No, it returns the citation metadata including title, authors, year, venue, and citation counts. The full text is not included.
Can I limit the number of results? Yes, set the maximum citations field to any number from 1 up to 1,000,000 per run.
Is it legal to scrape Semantic Scholar? Semantic Scholar provides a public API for non-commercial use and research. This Actor uses that API and respects its rate limits.
Can I export the results? Yes, you can export your dataset in CSV, JSON, Excel, XML, and other formats directly from the Apify run.
How do I handle a paper with a million citations? Set maxItems to 1,000,000 and, optionally, add an API key for the higher rate limit. The Actor will paginate through the full list sequentially.
Does this Actor work with the Apify API from my code? Yes, you can call it programmatically from Python, JavaScript, or any language that speaks HTTP, and consume the results as you would any Apify dataset.

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 Allen Institute for Artificial Intelligence (AI2). 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
paperId string The paper to scrape. Many formats are accepted and auto-detected, paste any one of: โ€ข Native Semantic Scholar ID (40-char hex), e.g. 649def34f8be52c8b66281af98ae884c09aef38b โ€ข DOI, with or without prefix, e.g. 10.1145/3292500.3330701 or DOI:10.1145/3292500.3330701 โ€ข arXiv ID, with or without prefix, e.g. 1705.10311, arXiv:1705.10311 or ARXIV:1705.10311 โ€ข CorpusId, e.g. CorpusId:2227892 (a bare number is treated as a CorpusId) โ€ข PMID / PMCID, e.g. PMID:19872477 (must include the prefix) โ€ข A full URL: semanticscholar.org/paper/..., arxiv.org/abs/..., or doi.org/... Note: a plain number is interpreted as a CorpusId; for a PubMed ID use the explicit PMID: prefix. An example paper is prefilled so you can run it right away, just replace it with the paper you want. 10.1145/3292500.3330701
mode string (2 options) Citations (papers citing this one) or references (papers this one cites). citations
maxItems integer Maximum number of citations to collect per run. 10
apiKey string Optional API key for higher rate limits. Get one at semanticscholar.org/product/api. not set

Pricing

from $7.50 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.0075 to $0.0085

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~semanticscholar-citations-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 Semantic Scholar Citations Scraper on Apify All scrapers