Zenodo Scraper — Datasets, Papers & Software Records
Pricing
Pay per event
Zenodo Scraper — Datasets, Papers & Software Records
Search Zenodo's open research repository and export records — DOI, title, authors, resource type, publication date, license, access rights, file count and download stats — as clean JSON, CSV or Excel.
Pricing
Pay per event
Rating
0.0
(0)
Developer
DevilScrapes
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
🎯 What this scrapes
Zenodo is where CERN hosts the open-science long tail: datasets, software releases, preprints and project deliverables that never reach a journal index. Its API returns a record shape that splits the same field across a top level and a nested metadata block, and encodes resource type as a three-key object. This Actor reconciles both into one flat row so a dataset landscape or a grant-output audit lands straight in a spreadsheet.
🔥 What we handle for you
reconciles Zenodo's duplicated top-level and metadata fields into one row unpacks the three-key resource-type object into type and subtype columns retries transient 429/5xx responses instead of failing the whole run
💡 Use cases
- Find open datasets in a research area and rank them by downloads.
- Audit the published outputs of a funded project or grant.
- Track software releases archived with a citable DOI.
- Build a reading list restricted to genuinely open-access records.
⚙️ How to use it
- Click Try for free at the top of the page.
- Fill in the input form — most fields have sensible defaults.
- Click Start. Output streams into the run's dataset.
- Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.
📥 Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
searchQuery | string | no | 'climate' | Full-text search across titles, descriptions and creators. |
resourceType | string | no | 'any' | Restrict to one Zenodo resource type. |
openAccessOnly | boolean | no | False | Restrict to records whose files are openly downloadable. |
maxResults | integer | no | 100 | Stop after this many records. Each record is one billed result row. |
proxyConfiguration | object | no | {'useApifyProxy': False} | Zenodo is a public API and does not need a proxy. Leave this off unless your account requires egress through Apify… |
Example input
{"searchQuery": "climate","maxResults": 3,"proxyConfiguration": {"useApifyProxy": false}}
📤 Output
Every row is one dataset item.
| Field | Type | Notes |
|---|---|---|
record_id | integer | Zenodo record identifier. |
doi | string | Record DOI. |
doi_url | string | Resolvable DOI URL. |
title | string | Record title. |
resource_type | string | Top-level type, e.g. dataset, publication. |
resource_subtype | string | Subtype, e.g. deliverable, preprint. |
publication_date | string | Publication date (YYYY-MM-DD). |
creators | array | Author or creator names. |
first_creator | string | First listed creator. |
access_right | string | open, embargoed, restricted or closed. |
license | string | License identifier, when declared. |
file_count | integer | Number of attached files. |
downloads | integer | Reported download count. |
views | integer | Reported view count. |
url | string | Record page on zenodo.org. |
Example output
{}
💰 Pricing
Pay-Per-Event — you pay only when these events fire:
| Event | USD | What it is |
|---|---|---|
actor-start | $0.05 | One-off warm-up charge per run |
result | $0.002 | Per dataset item |
Example: 1 000 results at the rates above ≈ $2.05. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.
🚧 Limitations
- Returns record metadata and stats, not the files themselves.
- Embargoed and restricted records appear with their metadata but no downloadable content.
❓ FAQ
Do I need an API key?
No. Zenodo's search API is open for anonymous use; the Actor stays inside the unauthenticated rate limit.
Can I filter to just datasets?
Yes — set Resource type to Dataset. The Actor maps it to Zenodo's type filter.
Are download counts reliable?
They are Zenodo's own reported stats, passed through unchanged. Treat them as indicative rather than audited.
💬 Your feedback
Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.