skills/research/funding/figshare-api/SKILL.md
Research data sharing and repository
npx skillsauth add wentorai/research-plugins figshare-apiInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Figshare is a cloud-based research data management platform that allows researchers to store, share, and discover research outputs including datasets, figures, media, papers, posters, and fileset collections. Every item uploaded to Figshare receives a citable DOI and is stored in a FAIR-compliant manner, making research outputs findable, accessible, interoperable, and reusable.
The Figshare API provides comprehensive programmatic access to the repository, enabling researchers and institutions to automate data publishing, integrate with research workflows, and build custom discovery interfaces. The platform supports versioning, embargo periods, and flexible access controls for both public and private research data.
Researchers, data managers, institutional repository administrators, and research infrastructure developers use the Figshare API to automate deposit workflows, harvest metadata for institutional dashboards, build data discovery tools, and integrate research data management into existing laboratory information management systems. Figshare serves over 150 institutions worldwide and hosts millions of research outputs.
Authentication via personal access token is required for write operations and accessing private content. Read access to public content is available without authentication but has lower rate limits.
Authorization headercurl -H "Authorization: token YOUR_FIGSHARE_TOKEN" "https://api.figshare.com/v2/account/articles"
Public endpoints can be accessed without a token for browsing published content.
Search the public Figshare repository for published articles (datasets, figures, papers, media, and other item types).
GET https://api.figshare.com/v2/articles| Parameter | Type | Required | Description |
|----------------|--------|----------|--------------------------------------------------------|
| search_for | string | No | Free-text search query |
| item_type | int | No | Item type filter (1=figure, 2=media, 3=dataset, etc.) |
| published_since| string | No | Filter by date (YYYY-MM-DD format) |
| order | string | No | Sort: published_date, modified_date, views |
| order_direction| string | No | asc or desc |
| page | int | No | Page number (default 1) |
| page_size | int | No | Results per page (default 10, max 1000) |
curl -X POST "https://api.figshare.com/v2/articles/search" \
-H "Content-Type: application/json" \
-d '{"search_for": "genomics CRISPR", "item_type": 3, "page_size": 5}'
id, title, doi, url, published_date, description, defined_type_name, categories, tags, authors, files (with download URLs), and citation.Retrieve and manage dataset-specific content in Figshare. Datasets are a specialized article type with additional support for large file collections.
GET https://api.figshare.com/v2/articles/{article_id}| Parameter | Type | Required | Description | |------------|------|----------|------------------------------------| | article_id | int | Yes | The Figshare article/dataset ID |
# Get a specific dataset by ID
curl "https://api.figshare.com/v2/articles/12345678"
# List files in a dataset
curl "https://api.figshare.com/v2/articles/12345678/files"
id, title, doi, description, authors, categories, tags, files (array with name, size, download_url, computed_md5), license, version, is_embargoed, and custom_fields.Rate limits vary based on authentication status and endpoint. Authenticated requests generally allow up to 100 requests per minute. Unauthenticated requests are limited to approximately 10 requests per minute. The API returns HTTP 429 with a Retry-After header when limits are exceeded. For bulk data harvesting, Figshare provides OAI-PMH endpoints at https://api.figshare.com/v2/oai which are more suitable for large-scale metadata collection.
Find publicly available datasets matching specific research topics:
import requests
payload = {
"search_for": "single cell RNA-seq",
"item_type": 3, # datasets only
"page_size": 20,
"order": "published_date",
"order_direction": "desc"
}
resp = requests.post("https://api.figshare.com/v2/articles/search", json=payload)
results = resp.json()
for item in results:
print(f"{item['title']}")
print(f" DOI: {item['doi']}")
print(f" Published: {item['published_date']}")
print()
Automate data deposit for reproducible research workflows:
import requests
TOKEN = os.environ["FIGSHARE_API_TOKEN"]
headers = {"Authorization": f"token {TOKEN}", "Content-Type": "application/json"}
# Step 1: Create a new article
article_data = {
"title": "Supplementary Data for Analysis of Gene Expression",
"defined_type": "dataset",
"description": "RNA-seq counts and metadata for the analysis.",
"tags": ["RNA-seq", "gene expression"],
"categories": [69] # Genetics category
}
resp = requests.post("https://api.figshare.com/v2/account/articles",
headers=headers, json=article_data)
article_url = resp.json()["location"]
# Step 2: Upload file
article = requests.get(article_url, headers=headers).json()
print(f"Created article ID: {article['id']}, DOI will be assigned on publish")
Collect metadata from all Figshare items in an institution's repository:
curl "https://api.figshare.com/v2/oai?verb=ListRecords&metadataPrefix=oai_dc&set=institution_123"
documentation
Write Tsinghua University theses using the ThuThesis LaTeX template
development
Templates, formatting rules, and strategies for thesis and dissertation writing
documentation
Set up LaTeX templates for PhD and Master's thesis documents
documentation
Write SJTU theses using the SJTUThesis LaTeX template with full compliance