{"id":"programmatic_access","title":"Programmatic access","lastModified":"2024-11-27","type":"help","content":"\nUniProt provides several application programming interfaces (APIs) to query and access its data programmatically:\n\n# UniProt website REST API\n\n**What:** RESTful URLs that can be bookmarked, linked and used in programs for all entries, queries and tools available through this website. Data is available in all formats provided on the website, e.g. text, XML, RDF, FASTA, GFF, tab-separated for UniProtKB protein data.  \n**Why:** Access data and tools from the UniProt website with any programming language.  \n**Help articles:** [https://www.uniprot.org/help/api](https://www.uniprot.org/help/api)  \n**Swagger documentation:** [https://www.uniprot.org/api-documentation/](https://www.uniprot.org/api-documentation)  \n\n# Proteins REST API\n\n**What:** Extended REST API with a service providing [genomic coordinates](https://www.ebi.ac.uk/proteins/api/doc/#coordinatesApi) of UniProtKB sequences, and other services providing annotations imported and mapped from Large Scale data Sources (LSS), such as 1000Genomes, ExAC, PeptideAtlas, and HPA via the [variation](https://www.ebi.ac.uk/proteins/api/doc/#/variation), [proteomics](https://www.ebi.ac.uk/proteins/api/doc/#proteomics), and [antigen](https://www.ebi.ac.uk/proteins/api/doc/#/antigen) services.  \n**Why:** Access data sets mapped to UniProt and integrated through a single service.  \n**Documentation:** <https://www.ebi.ac.uk/proteins/api/doc/>\n\n# UniProt SPARQL API\n\n**What:** [SPARQL](https://en.wikipedia.org/wiki/SPARQL) API for all UniProt data, stored in Resource Description Framework (RDF) format ([Help](https://www.uniprot.org/help/sparql)). An SQL-like graph query language that allows to perform complex queries across all UniProt data, as well as across other resources that provide a SPARQL endpoint, such as Ensembl or Wikidata.  \n**Why:** Access data from UniProt, and other resources, using a low-cost alternative to importing the data into e.g. a relational database and building a local data warehouse.  \n**Documentation:** [https://sparql.uniprot.org](https://sparql.uniprot.org/)\n\n# UniProt Java API\n\n**What:** A Java library that provides a stable remote API for programmatically accessing UniProt data.  \n**Why:** Access data and tools from UniProt using Java.  \n**Documentation:** <https://www.ebi.ac.uk/uniprot/japi/>","categories":["UniProtKB","UniRef","UniParc","Programmatic access","Technical","help"]}