ParseForge Scrapers

Open Citations Scraper

parseforge/open-citations-scraper

Developer toolsAutomationOther

Scrapes citation records from OpenCitations by DOI, PMID, or OMID. Returns each citation as a flat row with optional title, authors, and publication date metadata.

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

Overview

ParseForge

Open Citations Scraper

Scrape citation data from OpenCitations by DOI, PMID, or OMID, up to a million per run. Each citation comes with its source metadata, target DOI, and optional full bibliographic details. No API key or registration required. Export to CSV, JSON, Excel, or XML.

OpenCitations provides open bibliographic citation data, but querying it programmatically means building API calls and handling pagination. This Actor reads incoming citations or outgoing references for any publication identifier you provide, and returns each match in one fixed schema. You can optionally enrich every result with full metadata like title, authors, and publication date.

Who uses it What they scrape OpenCitations for
Academic researchers Mapping the citation network around a key paper in their field.
Librarians Auditing the reference list of an institutional publication for completeness.
Meta-science analysts Gathering large-scale citation counts to study research impact and reproducibility.
Journal editors Checking which recent articles cite a submission under review.

What it does

This Actor collects citation records from OpenCitations by DOI, PMID, or OMID and returns each one as a flat row.

  • ๐Ÿ“– Incoming citations: find every publication that has cited the given identifier.
  • ๐Ÿ“ค Outgoing references: list every publication that the given identifier cites.
  • ๐Ÿท๏ธ Flexible identifiers: start from a DOI, a PubMed ID (PMID), or an OpenCitations Meta ID (OMID).
  • ๐Ÿ“š Optional metadata: toggle on to fetch title, authors, publication date, and venue for each result.

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

What you can do with OpenCitations data

๐Ÿ“ˆ Build a citation graph for a literature review.

A doctoral student enters the DOI of a seminal paper, collects all incoming citations, and identifies the most influential follow-up work.

๐Ÿ” Audit a reference list for a manuscript.

A librarian runs the Actor with the PMID of an accepted article, fetches its outgoing references, and verifies every cited source is correctly indexed.

๐Ÿ“Š Measure research impact across disciplines.

A meta-science analyst scrapes citations for a set of OMIDs, exports the dataset to CSV, and computes field-normalized citation counts.

๐Ÿ“ Find potential peer reviewers.

A journal editor inputs the DOI of a submission, retrieves its outgoing references, and identifies authors who have published closely related work.

Why choose this scraper

What you get
No API key needed Query the public OpenCitations API without registration or authentication.
Flat, predictable schema Every citation arrives as one row with the same columns, ready for analysis.
Metadata on demand Add title, authors, and publication date to each citation with one checkbox.
Scales to large lists Collect up to a million citation records in a single run.

How it compares

No other Store actor targets OpenCitations the same way, so the honest comparison is with the alternatives teams actually weigh.

Open Citations Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When OpenCitations changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor from a single DOI, PMID, or OMID, choose whether you want incoming citations or outgoing references, and optionally enrich each row with full bibliographic metadata. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10,
  "doi": "10.1016/j.jmb.2005.08.075"
}

A larger pull:

{
  "maxItems": 200,
  "doi": "10.1016/j.jmb.2005.08.075"
}

Pricing

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

Results collected Approximate cost
100 results $0.75
1,000 results $7.50
10,000 results $75.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 Open 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 OpenCitations 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/open-citations-scraper"

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

Troubleshooting

Why am I getting no results?

First, verify your identifier is correct and exists in OpenCitations. Try a known DOI like 10.1016/j.jmb.2005.08.075. Also check that you selected the correct search type: a new paper may have no incoming citations yet.

The run is taking a long time.

When 'Include Metadata' is enabled, the Actor makes an additional API call for each citation. For large result sets, this can increase runtime significantly. Try disabling metadata for a faster collection.

I see an error about an invalid identifier.

Ensure you provided only one identifier (DOI, PMID, or OMID) and that it is formatted correctly. A DOI should start with '10.', a PMID is a plain number, and an OMID looks like 'omid:br/06140242082'.

The metadata fields are empty even though I enabled the option.

Some citation records in OpenCitations do not have complete metadata available. The Actor will return whatever metadata the API provides, which may be partial for older or less-indexed publications.

I hit the maximum items limit but I know there are more citations.

Increase the 'Maximum citations' input field up to 1,000,000. If you need more, you can run the Actor again with a higher limit or split your work across multiple runs.

FAQ

Question Answer
What is OpenCitations? OpenCitations is an open repository of scholarly citation data. It provides freely accessible bibliographic citation information, including incoming citations and outgoing references for academic publications.
Do I need an API key to use this Actor? No. This Actor queries the public OpenCitations API endpoints, which do not require authentication or an API key.
What identifiers can I use? You can provide a DOI (e.g., 10.1016/j.jmb.2005.08.075), a PubMed ID (PMID), or an OpenCitations Meta Identifier (OMID). Only one identifier is used per run.
What is the difference between citations and references? Citations are incoming: publications that cite your given identifier. References are outgoing: publications that your given identifier cites. You choose which direction to scrape with the searchType input.
What metadata is included when I enable the option? When 'Include Metadata' is checked, the Actor fetches additional details for each citation, such as the title, list of authors, publication date, and journal or venue name.
How many citations can I collect in one run? You can set the maximum up to 1,000,000 records. The actual number collected depends on how many citations exist for your identifier.
Can I scrape multiple DOIs at once? This Actor processes one identifier per run. To scrape multiple DOIs, you can run the Actor multiple times, once for each identifier, or use an Apify workflow to loop over a list.
What output formats are supported? You can export your results to CSV, JSON, Excel, or XML from the Apify dataset tab.
Is the data from OpenCitations free to use? Yes. OpenCitations data is published under a CC0 license, meaning it is in the public domain and can be used for any purpose without restriction.
Why would I use this instead of the OpenCitations website? This Actor automates the collection, handles pagination, and gives you a structured dataset you can export and analyze immediately, without manual copying or coding.

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 OpenCitations. 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 How many citations to collect per run. 10
doi string Digital Object Identifier (e.g., 10.1016/j.jmb.2005.08.075). Provide one identifier: DOI, PMID, or OMID. 10.1016/j.jmb.2005.08.075
pmid string PubMed ID (numeric identifier for biomedical publications). Provide one identifier: DOI, PMID, or OMID. not set
omid string OpenCitations Meta Identifier (e.g., omid:br/06140242082). Provide one identifier: DOI, PMID, or OMID. not set
searchType string (2 options) Type of search to perform: citations (incoming citations) or references (outgoing references). citations
includeMetadata boolean Fetch detailed metadata (title, authors, publication date, etc.) for each citation. This requires additional API calls. true

Pricing

from $2.80 per 1,000 results

Charged forWhat it isPrice each
Actor Start Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). $0.005 to $0.0075
result Single result in the default dataset. $0.0028 to $0.0042

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~open-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 Open Citations Scraper on Apify All scrapers