Search the PRIDE Archive v3 REST API for proteomics datasets: discover projects by keyword + faceted filters (organism, instrument, disease, software), fetch project metadata, list and download RAW/PEAK/RESULT/FASTA files (with FTP/Aspera URLs), look up which projects mention a UniProt accession, and find similar projects. PRIDE v3 no longer exposes peptide/PSM-level identification endpoints — for spectrum-level data download the project's RESULT files. Use uniprot-protein-database for protein s
SkillScore100Maintained
Automatic
◆Research pack
Last verified 8/23/2026
What it changes
Passed 22 of 22 test cases with the skill, and 6 of 22 without it.
Without skill27%
With skill100%
Checks it passed that the model alone missed
Filter keys use the _facet field suffix.
The query parameter sortDirection is set to DESC.
The script calls GET /projects/count and GET /files/count.
and 23 more in the full report
16 fixed6 passed either way0 still failing0 broke
Pass-rate lift
+73 pp
Tokens
+299%
Agent turns
0%
Response time
-27%
Model gemini-3.6-flashMeasured 8/23/2026v122 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 16 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 16
Prompt
Write a Python call to PRIDE v3 search endpoint to retrieve the 10 most recently submitted datasets matching 'single-cell proteomics'. Which query parameter controls sorting field and order?
What was checked, without and with the skill
Checked
Without skill
With skill
The query parameter sortFields is set to submission_date.
Passed
Passed
The query parameter sortDirection is set to DESC.
Missed
Passed
case-21 · gemini-3.6-flash · 8/23/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md653 linessingle file
PRIDE Database
Overview
The PRIDE Archive (ProteomicsIDEntifications database) at EMBL-EBI is the world's largest public mass-spectrometry proteomics repository — 39,000+ projects and 3.4M+ deposited files as of 2026. Programmatic access is via a JSON REST API at https://www.ebi.ac.uk/pride/ws/archive/v3/. No authentication is required. The OpenAPI/Swagger spec is at https://www.ebi.ac.uk/pride/ws/archive/v3/v3/api-docs. PRIDE v3 returns plain JSON arrays for list endpoints (no HAL+JSON _embedded envelope) and intentionally does not expose per-peptide or per-PSM identification endpoints — for spectrum-level identifications, download the project's RESULT files (mzIdentML, MaxQuant txt, etc.) and parse them locally.
When to Use
Finding published proteomics datasets by free-text keyword and facet filters (organism, tissue, disease, instrument, software, PTM) for meta-analysis or benchmarking
Downloading raw mass-spectrometry data (RAW, mzML, MGF) or pre-processed identifications (RESULT files) from a specific PRIDE project accession
Looking up which PRIDE projects mention a specific UniProt protein accession (project-level occurrence map only — no PSM/coverage counts at the API surface)
Finding similar projects to one of interest for reanalysis or cross-study comparison
Fetching SDRF (Sample-Data Relationship Format) files for projects so you can model the sample-to-MS-run mapping programmatically
Discovering valid filter values via faceted search before constructing a structured query
For protein sequences, Swiss-Prot annotations, and ID mapping use uniprot-protein-database
For protein domain and family classification use interpro-database — PRIDE only reports project-level occurrence, not domain-level features
PRIDE v3 has no /peptides, /psms, or /proteins?proteinAccession= endpoints — if you need peptide- or PSM-level data, download the RESULT files from /projects/{accession}/files and parse them with pyteomics or a search-engine-specific reader
Prerequisites
Python packages: requests, pandas, matplotlib
Data requirements: a PRIDE project accession (PXD###### format) or a search keyword, optionally a UniProt accession for protein-occurrence lookup
Environment: internet connection; no API key required
Rate limits: not formally published; keep bursts under ~5 requests/second and add time.sleep(0.3) in loops
pip install requests pandas matplotlib
Quick Start
import requests
PRIDE = "https://www.ebi.ac.uk/pride/ws/archive/v3"
# 1) Free-text search for cancer proteomics projects
projects = requests.get(f"{PRIDE}/search/projects",
params={"keyword": "prostate cancer", "pageSize": 5},
timeout=30).json()