Help Topics| FAQs| Glossary
| General Help |
| Search and Browse |
| Advanced Search |
| Browse Options |
| Exploring a 3D Structure |
| Grouping Structures |
| 3D Viewers |
| Mol* |
| Sequence Viewers |
| Tools |
| Additional Resources |
| Programmatic Access |
The Application Programming Interface or APIs provide programmatic access to the PDB archive. APIs that power thercsb.org website are:
For details on ourPython API client and how to integrate it into your workflow, visit ourAPI Client documentation.
All static data that is exposed in rcsb.org is available in the Data API. The schema follows themmCIF dictionary, extended with annotations coming from external resources. The core PDB data is split up into core objects, one per level of the structural data hierarchy, with entity subdivided into polymeric and non-polymeric subschemas (differing from the mmCIF dictionary). These are some of the core objects:
Both internal additions to the mmCIF dictionary and external resources annotations are prefixed with rcsb_. In each core object, the rcsb_<core_object>_container_identifiers field holds the cardinal identifiers for the objects and any parent/child. Additionally every core object contains a single string identifier in field rcsb_id.
The data is available via 2 different interfaces:
The REST API permits the retrieval of all data for one core object at a time.
TheGraphQL interface offers more flexible data retrieval, essentially making it possible to grab any piece of data from any level of the hierarchy in a single query. To use it programmatically POST your GraphQL queries under thedata.rcsb.org/graphql endpoint.
All output from both REST and GraphQL interfaces is offered in JSON format.
The search API programmatically exposes all search functionality available at rcsb.org. It is possible to perform queries with arbitrary Boolean logic across all data available in the RCSB PDB data API via a convenient JSON-format query language. At the root level it is also possible to combinetext-based searches (any text/numerical field in the RCSB PDB data API) withprotein/nucleotide sequence search (mmseqs2 software) andStructure similarity searches (BioZernike software, described inGuzenko et al 2020). All output from the Search API is offered in JSON format.
This Search API example shows how to findall PDB structures and CSMs for a given UniProtKB sequence
The ModelServer is a service for accessing subsets of macromolecular model data. It delivers atomic coordinates together with annotations in the primary data files in a compressed BinaryCIF encoding (BCIF). Structure data can be served at different levels of granularity (e.g., assembly, polymer chain, ligand), and ligand data may also be delivered in popular chemical informatics formats (e.g., SDF, MOL, MOL2).
The specification of the BinaryCIF format can be found at:https://github.com/molstar/BinaryCIF.
The VolumeServer is a service for accessing subsets of volumetric data. It automatically downsamples the data depending on the volume of the requested region to reduce the bandwidth requirements and provide near-instant access to even the largest data sets.
Both ModelServer and VolumeServer are part of Mol* (D. Sehnal, A.S. Rose, J. Kovca, S.K. Burley, S. Velankar (2018) Mol*: Towards a common library and tools for web molecular graphics MolVA/EuroVis Proceedings.doi:10.2312/molva.20181103).
The Sequence Coordinates API provides alignments between structural and sequence databases and integrates protein positional features from multiple resources. Alignment data is available for NCBIRefSeq (including protein and genomic sequences),UniProt andPDB sequences. Protein positional features are integrated fromUniProt,CATH,SCOPe andRCSB PDB.
The Alignment API serves as a comprehensive platform for the seamless computation of structure alignments. Structure alignment focuses on making an optimal superposition of the 3D coordinates of biological macromolecules to establish a residue-residue correspondence between sequences of related structures. This API provides a streamlined method for programmatically executing structure alignment calculations.
The RCSB PDB APIs implement rate-limiting measures to ensure fair usage. While access to static files is not restricted, all RCSB PDB APIs have rate limits in place. We recommend starting with a handful of requests per second. If you exceed the limit, the service will respond with a 429 HTTP error code, indicating that you need to reduce your request rate as described below.
If you encounter this error, you can retry your query after a short waiting period or add a waiting period after each request. The exponential backoff strategy, which gradually increases the time between retries, is a common way to find an acceptable request rate. Additionally, if you are using a public IP address that is shared with other users, such as certain universities or when using a VPN, you might encounter rate-limiting issues earlier due to shared resources.
RCSB PDB Web Services usage is available under the same terms and condition as RCSB PDB Web Portal (seeusage policies)
Contact RCSB PDB with questions or suggestions for specific services.
RCSB PDB Core Operations are funded by theU.S. National Science Foundation (DBI-2321666), theUS Department of Energy (DE-SC0019749), and theNational Cancer Institute,National Institute of Allergy and Infectious Diseases, andNational Institute of General Medical Sciences of theNational Institutes of Health under grant R01GM157729.