Agent skill

Zenodo API

by wentorai in wentorai/research-plugins

Open research repository for all disciplines. An agent skill from wentorai/research-plugins.

MITAuto-check passedBackend & APIs

Install Zenodo API

skills CLI
$ npx skills add wentorai/research-plugins --skill zenodo-api -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install wentorai/research-plugins zenodo-api --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/wentorai/research-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/research/funding/zenodo-api .claude/skills/zenodo-api && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
zenodo-api
GitHub stars
298
Used in
1 other repo
Token cost
~1.9k tokens
SKILL.md length
511 words
Files
1
Skills in repo
405
Repo updated
First seen
Licence
MIT

At a glance

Open research repository for all disciplines. An agent skill from wentorai/research-plugins.

  • Works in 4 steps: Create an account at https://zenodo.org/ → Navigate to Settings > Applications >… → Generate a token with appropriate scopes… → …
  • Backend & APIs work in your project
  • SKILL.md covers Overview, Authentication, Core Endpoints and Rate Limits, plus 2 more sections
  • Calls curl; reaches zenodo.org; needs ZENODO_API_TOKEN

What it does

Zenodo API is an agent skill from wentorai/research-plugins. Open research repository for all disciplines

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs. The repository describes itself as: 350+ academic research skills, MCP configs, and plugins for Research-Claw and AI agents. The licence is MIT.

When your agent uses it

  • Backend & APIs work in your project

Example prompts

  • “/zenodo-api”

Requirements

  • Python 3
  • A credential in ZENODO_API_TOKEN
  • A credential in YOUR_TOKEN

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Create an account at https://zenodo.org/
  2. Navigate to Settings > Applications > Personal access tokens
  3. Generate a token with appropriate scopes (deposit:write, deposit:actions)
  4. Include the token in requests via the access_token query parameter or Authorization header

What it can do on your machine

Read from SKILL.md and the folder at commit bf44b3c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • zenodo.org

    Also links to:

    • developers.zenodo.org
    • guides.github.com
    • schema.datacite.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • ZENODO_API_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Zenodo API loads about 1.9k tokens when it runs. Until then it costs about 14 tokens; SKILL.md has 511 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~14
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from wentorai/research-plugins at commit bf44b3c, republished under its MIT licence (© wentorai). 511 words, ~1,866 tokens.

Download SKILL.mdSave it as .claude/skills/zenodo-api/SKILL.md (or your agent's skills folder).
name
zenodo-api
description
Open research repository for all disciplines

Zenodo API Guide

Overview

Zenodo is an open-access digital repository developed by CERN and funded by the European Commission. It enables researchers to deposit datasets, software, publications, reports, and any other research-related digital artifacts. Zenodo assigns each upload a DOI, ensuring long-term citability and discoverability of research outputs across all academic disciplines.

The Zenodo API provides programmatic access to the full repository, including the ability to search records, retrieve metadata, create depositions, upload files, and manage communities. It follows FAIR data principles (Findable, Accessible, Interoperable, Reusable) and integrates with GitHub for automatic software archiving.

Researchers, data librarians, and research infrastructure teams use the Zenodo API to automate data publishing workflows, build data discovery tools, integrate archiving into CI/CD pipelines, and harvest metadata for institutional repositories. Zenodo supports versioning, access controls, and rich metadata schemas including DataCite Metadata Schema.

Authentication

Authentication is required for most write operations and for accessing restricted records. Zenodo uses personal access tokens.

  1. Create an account at https://zenodo.org/
  2. Navigate to Settings > Applications > Personal access tokens
  3. Generate a token with appropriate scopes (deposit:write, deposit:actions)
  4. Include the token in requests via the access_token query parameter or Authorization header
bash
# Query parameter method
curl "https://zenodo.org/api/records?access_token=YOUR_TOKEN"

# Header method
curl -H "Authorization: Bearer YOUR_TOKEN" "https://zenodo.org/api/records"

Read-only access to public records does not require authentication, but authenticated requests have higher rate limits.

Core Endpoints

records: Search and Retrieve Records

Search the Zenodo repository for published records including datasets, software, publications, and other artifacts.

  • URL: GET https://zenodo.org/api/records
  • Parameters:
ParameterTypeRequiredDescription
qstringNoSearch query (Elasticsearch syntax)
typestringNoRecord type: dataset, software, publication
communitiesstringNoFilter by community identifier
sortstringNoSort order: bestmatch, mostrecent
sizeintNoNumber of results per page (default 10, max 9999)
pageintNoPage number (default 1)
  • Example:
bash
curl "https://zenodo.org/api/records?q=climate+change&type=dataset&sort=mostrecent&size=5"
  • Response: Returns hits object containing total count and array of record objects with id, doi, metadata (title, creators, description, keywords, publication_date), files (download links), and links.
Show full SKILL.md (198 more words)Show less
depositions: Create and Manage Uploads

Create new depositions to upload research data and software to Zenodo.

  • URL: GET https://zenodo.org/api/deposit/depositions
  • Parameters:
ParameterTypeRequiredDescription
access_tokenstringYesPersonal access token
qstringNoSearch within your depositions
sortstringNoSort order: bestmatch, mostrecent
sizeintNoResults per page
  • Example:
bash
# List your depositions
curl "https://zenodo.org/api/deposit/depositions?access_token=YOUR_TOKEN"

# Create a new deposition
curl -X POST "https://zenodo.org/api/deposit/depositions?access_token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"metadata": {"title": "My Dataset", "upload_type": "dataset", "description": "Sample dataset", "creators": [{"name": "Doe, Jane"}]}}'
  • Response: Returns deposition object with id, metadata, state, submitted, links (including bucket URL for file uploads), and files.

Rate Limits

Rate limits vary based on authentication status. Authenticated requests receive higher limits than anonymous requests. Zenodo does not publicly document exact rate limit numbers, but typical guidance is to keep requests under 60 per minute for anonymous access and 100 per minute for authenticated access. The API returns standard HTTP 429 responses when limits are exceeded, with a Retry-After header indicating when to retry.

Common Patterns

Search for Datasets by Topic

Find openly available datasets in a specific research domain:

python
import requests

params = {
    "q": "machine learning genomics",
    "type": "dataset",
    "sort": "mostrecent",
    "size": 20
}
resp = requests.get("https://zenodo.org/api/records", params=params)
data = resp.json()

for hit in data["hits"]["hits"]:
    meta = hit["metadata"]
    print(f"{meta['title']} | DOI: {hit['doi']} | Date: {meta['publication_date']}")
Archive a GitHub Repository

Zenodo integrates with GitHub to automatically archive releases. You can also deposit programmatically:

python
import requests

TOKEN = os.environ["ZENODO_API_TOKEN"]
headers = {"Authorization": f"Bearer {TOKEN}", "Content-Type": "application/json"}

# Step 1: Create empty deposition
dep = requests.post("https://zenodo.org/api/deposit/depositions",
                     headers=headers, json={}).json()

# Step 2: Upload file to the bucket
bucket_url = dep["links"]["bucket"]
with open("analysis_code.zip", "rb") as f:
    requests.put(f"{bucket_url}/analysis_code.zip",
                 headers={"Authorization": f"Bearer {TOKEN}"},
                 data=f)

# Step 3: Add metadata and publish
metadata = {
    "metadata": {
        "title": "Analysis Code for Paper XYZ",
        "upload_type": "software",
        "description": "Reproducible analysis pipeline.",
        "creators": [{"name": "Doe, Jane", "affiliation": "University X"}]
    }
}
requests.put(f"https://zenodo.org/api/deposit/depositions/{dep['id']}",
             headers=headers, json=metadata)
requests.post(f"https://zenodo.org/api/deposit/depositions/{dep['id']}/actions/publish",
              headers={"Authorization": f"Bearer {TOKEN}"})
Harvest Community Records

Retrieve all records from a specific Zenodo community for institutional tracking:

bash
curl "https://zenodo.org/api/records?communities=astronomy&size=100&sort=mostrecent"

References

© wentorai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/research/funding/zenodo-api of wentorai/research-plugins.

Open the folder on GitHubat commit bf44b3c

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in wentorai/research-plugins, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Zenodo API next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Zenodo API compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Zenodo API this skillwentorai/research-plugins2981 repos~1.9kAutomated safety check: PassMIT
Configuring Horizoncoollabsio/coolify63k4 repos~898Automated safety check: PassMIT
Nestjs Best Practicesrolling-scopes/rsschool-app10k6 repos~1.2kAutomated safety check: PassMIT
Sub2API AdminWei-Shaw/sub2api43k1 repos~717Automated safety check: PassLGPL-3.0
Firecrawl Build Onboardingfirecrawl/firecrawl190k1 repos~1.4kAutomated safety check: NotesISC
Obsidian BasesAtmosphere/atmosphere3.8k22 repos~3.2kAutomated safety check: PassApache-2.0

Similar skills

  • Configuring Horizon

    coollabsio/coolify

    A skill your agent uses whenever the user mentions Horizon by name in a Laravel context.

    63k GitHub starsUsed in 4 repos~898 tokens
    Backend & APIsAuto-check passed
  • Nestjs Best Practices

    rolling-scopes/rsschool-app

    NestJS best practices and architecture patterns for building production-ready applications.

    10k GitHub starsUsed in 6 repos~1.2k tokens
    Backend & APIsAuto-check passed
  • Sub2API Admin

    Wei-Shaw/sub2api

    Manages a Sub2API deployment from the command line: accounts, redeem and invitation codes, groups, proxies, imports, exports and raw admin API calls.

    43k GitHub starsUsed in 1 repo~717 tokens
    Backend & APIsAuto-check passed
  • Firecrawl Build Onboarding

    firecrawl/firecrawl

    Gets Firecrawl working in a project: signs you in through the browser, saves FIRECRAWL_API_KEY to .env and picks the first SDK or REST path.

    190k GitHub starsUsed in 1 repo~1.4k tokens
    Backend & APIsAuto-check: notes
  • Obsidian Bases

    Atmosphere/atmosphere

    Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries.

    3.8k GitHub starsUsed in 22 repos~3.2k tokens
    Backend & APIsAuto-check passed
  • Fortify Development

    coollabsio/coolify

    ACTIVATE when the user works on authentication in Laravel. An agent skill from coollabsio/coolify.

    63k GitHub starsUsed in 4 repos~1.9k tokens
    Backend & APIsAuto-check passed

More from wentorai/research-plugins

All 405 skills in this repo
  • Abstract Writing Guide

    wentorai/research-plugins

    Craft structured research abstracts that maximize clarity and journal acceptance

    298 GitHub starsUsed in 1 repo~1.7k tokens
    Auto-check passed
  • Academic Citation Manager

    wentorai/research-plugins

    Manage academic citations across BibTeX, APA, MLA, and Chicago formats

    298 GitHub starsUsed in 1 repo~2.7k tokens
    Auto-check passed
  • Academic Paper Summarizer

    wentorai/research-plugins

    Summarize academic papers with structured extraction of key elements

    298 GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check passed
  • Academic Study Methods

    wentorai/research-plugins

    Evidence-based study techniques for academic learning and retention

    298 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed
  • Academic Tone Guide

    wentorai/research-plugins

    Adjust writing tone and register for academic audiences and venues

    298 GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check passed
  • Academic Translation Guide

    wentorai/research-plugins

    Academic translation, post-editing, and Chinglish correction guide

    298 GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed

Categories

Questions about Zenodo API

What does Zenodo API do?

Open research repository for all disciplines. An agent skill from wentorai/research-plugins. Zenodo API is an agent skill from wentorai/research-plugins.

When should I use Zenodo API?

Zenodo API fits situations like: backend & APIs work in your project.

How do I install Zenodo API in Claude Code?

Run `npx skills add wentorai/research-plugins --skill zenodo-api -a claude-code`. Or copy the skill folder (skills/research/funding/zenodo-api in wentorai/research-plugins) into .claude/skills/zenodo-api in your project. Claude Code loads it when a task matches its description.

How do I install Zenodo API in Codex?

Run `npx skills add wentorai/research-plugins --skill zenodo-api -a codex`. Or copy the skill folder (skills/research/funding/zenodo-api in wentorai/research-plugins) into .agents/skills/zenodo-api in your project. Codex loads it when a task matches its description.

Can I use Zenodo API in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add wentorai/research-plugins --skill zenodo-api -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/zenodo-api, .gemini/skills/zenodo-api, .github/skills/zenodo-api and .opencode/skills/zenodo-api in your project.

What does Zenodo API need to run?

Going by SKILL.md and its folder, Zenodo API needs the command-line tools its instructions call (curl) and credentials named ZENODO_API_TOKEN. Our summary lists: Python 3; A credential in ZENODO_API_TOKEN; A credential in YOUR_TOKEN.

Does Zenodo API access the network?

SKILL.md names 4 domains. In commands or code: zenodo.org; the agent is likely to contact it when it follows the instructions. As links in the text: developers.zenodo.org, guides.github.com and schema.datacite.org. This is read from the text; nothing was executed.

Is Zenodo API safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Zenodo API use?

Zenodo API is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Zenodo API use?

About 1.9k tokens (SKILL.md is roughly 7.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Zenodo API?

Skills that share tags, products or a category with Zenodo API: Configuring Horizon (coollabsio/coolify, 63k stars), Nestjs Best Practices (rolling-scopes/rsschool-app, 10k stars), Sub2API Admin (Wei-Shaw/sub2api, 43k stars) and Firecrawl Build Onboarding (firecrawl/firecrawl, 190k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Zenodo API?

wentorai (a GitHub user) maintains it in wentorai/research-plugins, which has 298 GitHub stars. The repository holds 405 skills in this directory. The repository was last updated on June 19, 2026.

Source: wentorai/research-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.