UniProt REST API
Provides programmatic access to the UniProt database of 230M+ protein sequences with functional annotations, including the manually curated Swiss-Prot subset, enabling protein lookup, sequence retrieval, and functional annotation queries.
Score Breakdown
⚙ Agent Friendliness
🔒 Security
HTTPS enforced. No auth required — appropriate for public biological reference data. CC BY 4.0 licensed. Python client library maintained by EMBL-EBI team.
⚡ Reliability
Best When
An agent needs authoritative protein sequence or functional annotation data, especially from the manually curated Swiss-Prot subset.
Avoid When
You need 3D structure data, genomic coordinates, or real-time experimental proteomics results.
Use Cases
- • Retrieving protein function, subcellular location, and pathway annotations
- • Fetching canonical protein sequences by gene name or accession (UniProt ID)
- • Mapping between gene identifiers, protein IDs, and cross-database accessions
- • Filtering proteins by organism, function, or keyword for bioinformatics pipelines
- • Downloading Swiss-Prot reviewed entries for machine learning datasets
Not For
- • Real-time protein structure prediction (use AlphaFold API or ESMFold)
- • Genomic or nucleotide sequence data (use NCBI or Ensembl APIs)
- • Proteomics raw mass spectrometry data
Interface
Authentication
No authentication required for read access. Fully open public API. The SPARQL endpoint is also unauthenticated. Heavy batch use is expected to use streaming endpoints rather than paginated queries.
Pricing
Free public API funded by EMBL-EBI, NIH, and the Swiss Institute of Bioinformatics. CC BY 4.0 licensed data.
Agent Metadata
Known Gotchas
- ⚠ UniProt migrated to a new REST API in 2022; legacy URL formats still partially work but are deprecated — old code may silently return wrong data
- ⚠ Query syntax uses a custom UniProt query language (e.g., gene:BRCA1 AND organism_id:9606) that differs from standard search operators
- ⚠ Large result sets require streaming (Accept: text/plain + streaming response); JSON pagination has a max of 500 per page
- ⚠ Accession IDs can be primary or secondary (merged/demerged entries); agents must handle ID history
- ⚠ SPARQL endpoint has different base URL and query patterns from REST — easy to conflate documentation
Alternatives
Full Evaluation Report
Detailed scoring breakdown, competitive positioning, security analysis, and improvement recommendations for UniProt REST API.
Scores are editorial opinions as of 2026-03-06.