uniprot API for agents (unofficial) — JSON over curl | clify
UniProt, the Universal Protein Resource. This CLI wraps the public rest.uniprot.org JSON API to search and fetch UniProtKB protein entries, sequences, publications, version history, taxonomy, keywords, diseases, UniRef clusters and proteomes, plus AlphaFold structure predictions.
Host: uniprot.org. Call these verified read commands with plain curl; no install, key, or account. Use the public JSON API with plain curl. No install, key, account, or browser is needed. Example: curl 'https://clify-dev.netlify.app/sites.json'. Start with /search?q=weather, then call /abc/COMMAND. Responses are one JSON object. The hosted MCP and GitHub repo are also available.
Commands
search-proteins
Search UniProtKB protein entries with a query; filters such as reviewed or organism go inside the query string Params: query*, api_fields, sort, size
curl 'https://clify-dev.netlify.app/uniprot/search-proteins?query=%28hemoglobin%29+AND+%28reviewed%3Atrue%29&sort=length+desc'
count-protein-facets
Get facet counts (reviewed status, model organism, existence level, annotation score, length bins, etc.) for a UniProtKB query without fetching entries Params: query*, facets
curl 'https://clify-dev.netlify.app/uniprot/count-protein-facets?query=hemoglobin'
get-protein
Get the full UniProtKB entry (names, genes, organism, function comments, features, cross-references, sequence) for an accession Params: accession*, api_fields
curl 'https://clify-dev.netlify.app/uniprot/get-protein'
download-protein
Download a UniProtKB entry as plain text: a FASTA sequence, the flat file, or GFF features Params: accession*, format
curl 'https://clify-dev.netlify.app/uniprot/download-protein'
get-protein-gene-centric
Get the gene-centric view of a protein: the canonical protein of its proteome plus related isoforms and fragments from the same gene Params: accession*
curl 'https://clify-dev.netlify.app/uniprot/get-protein-gene-centric'
get-protein-history
List all historical versions of a UniProtKB entry (UniSave) with release dates and sequence versions Params: accession*
curl 'https://clify-dev.netlify.app/uniprot/get-protein-history'
list-result-fields
List the valid result field names (for --fields) and the sortable fields of a UniProt database Params: database*
curl 'https://clify-dev.netlify.app/uniprot/list-result-fields'
list-protein-search-fields
List the query field terms usable in UniProtKB queries (e.g. accession, gene, organism_id, reviewed), with examples Params: none
curl 'https://clify-dev.netlify.app/uniprot/list-protein-search-fields'
search-taxonomy
Search taxonomy nodes by name, or list children/descendants with parent:<taxId> or ancestor:<taxId> Params: query*, api_fields, size
curl 'https://clify-dev.netlify.app/uniprot/search-taxonomy?query=mouse'
get-taxonomy
Get a taxonomy node by NCBI taxon id: names, rank, parent, full lineage, links and protein/proteome counts Params: taxonId*
curl 'https://clify-dev.netlify.app/uniprot/get-taxonomy'
search-keywords
Search UniProt controlled keywords (KW-xxxx) by name Params: query*, api_fields, size
curl 'https://clify-dev.netlify.app/uniprot/search-keywords?query=heme'
get-keyword
Get a UniProt keyword: definition, synonyms, parent hierarchy, category and protein counts Params: keywordId*
curl 'https://clify-dev.netlify.app/uniprot/get-keyword'
search-diseases
Search UniProt human disease entries (DI-xxxxx) by name Params: query*, api_fields, size
curl 'https://clify-dev.netlify.app/uniprot/search-diseases?query=thalassemia'
get-disease
Get a disease entry: definition, alternative names, cross-references (MIM, MedGen, etc.), keywords and protein counts Params: diseaseId*
curl 'https://clify-dev.netlify.app/uniprot/get-disease'
search-uniref
Search UniRef sequence clusters (100%, 90% and 50% identity); filter identity in the query, e.g. 'hemoglobin AND identity:0.9' Params: query*, api_fields, size
curl 'https://clify-dev.netlify.app/uniprot/search-uniref?query=hemoglobin'
search-proteomes
Search proteomes by organism name; filter in the query, e.g. 'human AND proteome_type:1' for reference proteomes Params: query*, api_fields, size
curl 'https://clify-dev.netlify.app/uniprot/search-proteomes?query=human'
get-proteome
Get a proteome by UPID: description, taxonomy, type, and components (chromosomes) with protein counts Params: upid*
curl 'https://clify-dev.netlify.app/uniprot/get-proteome'
get-alphafold-prediction
Get the AlphaFold predicted structure for a UniProt accession: confidence (pLDDT) and download URLs for PDB, CIF and PAE files Params: accession*
curl 'https://clify-dev.netlify.app/uniprot/get-alphafold-prediction'