UniProt
Researchrest.uniprot.org
The UniProt Consortium's reference database of protein sequence and function: curated Swiss-Prot and automatic TrEMBL entries with their sequences, domains, variants, diseases, subcellular locations, keywords and cross-references, plus UniRef clusters, UniParc sequence archive, reference proteomes, the UniProt taxonomy and the controlled vocabularies behind the annotation.
Capabilities (46)
GET /v1/data/uniprot/arba-rule1 creditReturns one ARBA rule - a machine-learned annotation rule - with its condition set (InterPro signatures, taxon) and the annotations it confers.
GET /v1/data/uniprot/arba-search1 creditSearches the ARBA machine-learned rule set and returns matching rules with their conditions and conferred annotations.
GET /v1/data/uniprot/citation1 creditReturns one literature record as UniProt holds it: title, authors or authoring group, journal, volume and pages, publication date, abstract where available, and PubMed and DOI cross-references.
GET /v1/data/uniprot/citations-search1 creditSearches the literature UniProt cites and returns matching references with titles, authors, journals and PubMed and DOI identifiers.
GET /v1/data/uniprot/cross-ref-database1 creditReturns the registry record for one database UniProt links out to: its full name, abbreviation, category, home server, the URL template used to build entry links, its reference publication and how many UniProt entries cross-reference it.
GET /v1/data/uniprot/cross-ref-database-list1 creditReturns every database that can be used as a cross-reference filter in a UniProtKB query, grouped by category with the short value each one is named by.
GET /v1/data/uniprot/cross-ref-databases-search1 creditSearches the registry of databases UniProt cross-references and returns matching records with their categories, link templates and entry counts.
GET /v1/data/uniprot/disease1 creditReturns one entry from UniProt's human disease vocabulary: name, acronym, definition, alternative names, keyword and MIM cross-references and the count of proteins annotated with it.
GET /v1/data/uniprot/diseases-search1 creditSearches UniProt's human disease vocabulary and returns matching diseases with definitions, acronyms and cross-references.
GET /v1/data/uniprot/entries1 creditReturns full UniProtKB records for up to 1000 accessions named in one request, in a single results array.
GET /v1/data/uniprot/entry1 creditReturns the complete UniProtKB record for one accession: protein and gene names, organism and lineage, the amino-acid sequence, function and subunit comments, sequence features such as domains, binding sites and variants, GO terms, keywords, literature references and every database cross-reference.
GET /v1/data/uniprot/entry-publications1 creditReturns every publication UniProt associates with one accession - both the curated references in the entry and additional computationally mapped and community-submitted papers - with authors, title, journal, PubMed and DOI identifiers and the annotation categories each paper supports.
GET /v1/data/uniprot/evidence-codes1 creditReturns the evidence codes UniProt annotations can carry, grouped into manual, automatic and experimental assertions, each with its name and code.
GET /v1/data/uniprot/gene-centric1 creditReturns the gene-centric view for one accession within its proteome: the canonical protein with its sequence, and the related isoform and paralogous entries grouped under the same gene.
GET /v1/data/uniprot/gene-centric-search1 creditSearches the gene-centric view and returns one record per gene with its canonical protein and related entries, across proteomes.
GET /v1/data/uniprot/help-article1 creditReturns one UniProt help or documentation article as structured JSON: id, title, categories, last-modified date and the full Markdown body.
GET /v1/data/uniprot/help-search1 creditSearches UniProt's help and documentation and returns matching articles with their ids, titles, categories and highlighted match snippets.
GET /v1/data/uniprot/keyword1 creditReturns one controlled-vocabulary keyword: its name, definition, category, parent and child terms, synonyms, GO mappings and how many reviewed and unreviewed entries carry it.
GET /v1/data/uniprot/keywords-search1 creditSearches the UniProt keyword vocabulary and returns matching keywords with definitions, categories and hierarchy.
GET /v1/data/uniprot/proteome1 creditReturns one proteome record: the organism and its taxonomy, the source genome assembly and annotation, whether it is a reference or redundant proteome, its BUSCO and CPD completeness scores, protein counts and the component chromosomes and plasmids.
GET /v1/data/uniprot/proteomes-search1 creditSearches the proteome collection and returns matching proteomes with organism, taxonomy, type, completeness scores and protein counts.
GET /v1/data/uniprot/release-note1 creditReturns the full text of one UniProt or Swiss-Prot release note, with its release date and the complete change narrative for that release.
GET /v1/data/uniprot/release-notes-search1 creditSearches UniProt release notes and returns matching notes with their ids, titles, release dates and highlighted match snippets.
GET /v1/data/uniprot/result-fields1 creditReturns the catalogue of field names that a dataset's endpoints accept in the fields parameter, grouped by section, each with its human label and sortable flag.
GET /v1/data/uniprot/search1 creditRuns a UniProt query against the whole knowledgebase and returns the matching entries as full records, with the total match count in the x-total-results header and a cursor for the next page.
GET /v1/data/uniprot/search-facets1 creditReturns only the facet breakdown for a query - counts per review status, model organism, protein existence, annotation score, length band and so on - with no entry bodies, because the page size is pinned to zero.
GET /v1/data/uniprot/search-fields1 creditReturns the query fields a dataset's search endpoint accepts, each with its term name, data type, example value and the validation regex the upstream applies.
GET /v1/data/uniprot/subcellular-location1 creditReturns one term from UniProt's subcellular location vocabulary: name, definition, synonyms, category, GO mapping, parent and child terms and the counts of entries annotated with it.
GET /v1/data/uniprot/subcellular-locations-search1 creditSearches the subcellular location vocabulary and returns matching terms with definitions, categories and GO mappings.
GET /v1/data/uniprot/taxa1 creditReturns up to 1000 taxonomy nodes named in one request, in a single results array.
GET /v1/data/uniprot/taxon1 creditReturns one node of the UniProt taxonomy: scientific and common names, mnemonic, rank, parent, synonyms, lineage links and the counts of UniProtKB entries and proteomes attached to it.
GET /v1/data/uniprot/taxonomy-search1 creditSearches the UniProt taxonomy by name and returns the matching nodes with their IDs, ranks, parents and synonyms.
GET /v1/data/uniprot/uniparc-bestguess1 creditReturns the single UniParc record UniProt considers the best representative for the given input - the longest reviewed UniProtKB sequence among the matching archive entries - rather than the whole matching set.
GET /v1/data/uniprot/uniparc-by-accession1 creditReturns the single UniParc record whose sequence corresponds to a given UniProtKB accession, with all of that sequence's cross-references across source databases.
GET /v1/data/uniprot/uniparc-by-dbreference1 creditReturns the UniParc records cross-referenced by an identifier from any source database - EMBL, RefSeq, Ensembl, PDB, a patent office and so on - letting you resolve a foreign ID to a UniParc sequence.
GET /v1/data/uniprot/uniparc-cross-references1 creditReturns just the cross-reference list of one UniParc record, paged: source database, identifier, version, gene and protein name, organism, creation and update dates and whether the reference is still active.
GET /v1/data/uniprot/uniparc-entries1 creditReturns UniParc records for up to 1000 UPIs named in one request, in a single results array.
GET /v1/data/uniprot/uniparc-entry1 creditReturns one UniParc record: the non-redundant protein sequence, its CRC64 and MD5 checksums, and every database cross-reference that has ever carried that exact sequence, with the source database, identifier, version, organism and active flag.
GET /v1/data/uniprot/uniparc-search1 creditSearches the UniParc sequence archive and returns matching records with their UPI, sequence, cross-reference count and common taxa.
GET /v1/data/uniprot/uniref-cluster1 creditReturns one UniRef cluster: its identity threshold, member count, common taxon, seed, representative member with its sequence, and the member list with organisms and accessions.
GET /v1/data/uniprot/uniref-members1 creditReturns the member list of one UniRef cluster, paged: each member's accession or UniParc ID, protein name, organism, taxon ID, sequence length and whether it is the seed.
GET /v1/data/uniprot/uniref-search1 creditSearches the UniRef clusters and returns matching clusters with their identity level, size, common taxon and representative member.
GET /v1/data/uniprot/unirule1 creditReturns one curator-written UniRule: the condition sets a sequence must satisfy (InterPro signatures, taxonomy, sequence length and so on) and the annotations the rule then applies, plus its template entries and how many proteins it hits.
GET /v1/data/uniprot/unirule-search1 creditSearches the UniRule rule set and returns matching rules with their conditions, applied annotations and statistics.
GET /v1/data/uniprot/version-diff1 creditReturns a line-by-line diff between two versions of the same UniProtKB entry, with the full flat-file text of both versions and the changed lines marked.
GET /v1/data/uniprot/version-history1 creditReturns the UniSave version history of one accession: every entry version with its sequence version, entry name, database (Swiss-Prot or TrEMBL) and the release in which it first and last appeared.
Licence
Creative Commons Attribution 4.0 International (CC BY 4.0). The UniProt licence page (served verbatim by the API itself at https://rest.uniprot.org/help/license) says: "We have chosen to apply the Creative Commons Attribution 4.0 International (CC BY 4.0) License to all copyrightable parts of our databases." The same page adds the disclaimer: "We make no warranties regarding the correctness of the data, and disclaim liability for damages resulting from its use. We cannot provide unrestricted permission regarding the use of the data, as some data may be covered by patents or other rights. Any medical or genetic information is provided for research, educational and informational purposes only. It is not in any way intended to be used as a substitute for professional medical advice, diagnosis, treatment or care." CC BY 4.0 permits commercial use and redistribution provided attribution is given, so both are set true; the attribution string below is what we print. Two things that caveat the data rather than the licence: UniProt warns that individual records may describe matter covered by third-party patents, and medical or genetic annotation is explicitly not medical advice.
https://www.uniprot.org/help/licenseAttribution
Display this wherever you show the data. It arrives on every response as provenance.attribution_text.
Source: UniProt (The UniProt Consortium, https://www.uniprot.org), licensed under CC BY 4.0.
Cache: up to 3600s
