openapi: 3.0.3 info: title: PubChem PUG REST Compounds API description: 'PUG REST is a REST-style version of PUG (Power User Gateway), a web interface for accessing PubChem data and services. PUG REST provides access to the data in PubChem Compounds as well as specialized chemical structure search services. The service supports various input formats including chemical names, SMILES strings, InChI identifiers, and direct database identifiers. It can return data in multiple formats including JSON, XML, CSV, SDF, and PNG images. ' version: 1.0.0 contact: email: pubchem-help@ncbi.nlm.nih.gov license: name: Public Domain url: https://www.ncbi.nlm.nih.gov/home/about/policies/ servers: - url: https://pubchem.ncbi.nlm.nih.gov/rest/pug description: PubChem PUG REST API tags: - name: Compounds description: Operations on compound records paths: /compound/cid/{cids}/{format}: get: tags: - Compounds summary: Get compound records by CID description: Retrieve full compound records for the specified CIDs parameters: - name: cids in: path required: true schema: type: string description: Comma-separated list of Compound IDs (CIDs) example: 2244,5793 - name: format in: path required: true schema: type: string enum: - XML - JSON - JSONP - ASNT - ASNB - SDF - PNG - TXT default: JSON description: Output format - name: record_type in: query schema: type: string enum: - 2d - 3d default: 2d description: Type of conformer for compounds - name: image_size in: query schema: type: string default: large description: Image size - large (300x300), small (100x100), or custom (e.g. 320x240) - name: callback in: query schema: type: string description: Callback function name for JSONP format responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/CompoundRecords' application/xml: schema: $ref: '#/components/schemas/CompoundRecords' chemical/x-mdl-sdfile: schema: type: string image/png: schema: type: string format: binary '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '503': $ref: '#/components/responses/ServiceUnavailable' /compound/name/{name}/{format}: get: tags: - Compounds summary: Get compound records by name description: Retrieve compound records for the specified chemical name parameters: - name: name in: path required: true schema: type: string description: Chemical name example: aspirin - name: format in: path required: true schema: type: string enum: - XML - JSON - JSONP - ASNT - ASNB - SDF - PNG - TXT default: JSON description: Output format - name: name_type in: query schema: type: string enum: - word - complete description: Name matching type - name: record_type in: query schema: type: string enum: - 2d - 3d default: 2d description: Type of conformer for compounds - name: image_size in: query schema: type: string default: large description: Image size for PNG format - name: callback in: query schema: type: string description: Callback function name for JSONP format responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/CompoundRecords' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '503': $ref: '#/components/responses/ServiceUnavailable' /compound/smiles/{smiles}/{format}: get: tags: - Compounds summary: Get compound records by SMILES description: Retrieve compound records for the specified SMILES string parameters: - name: smiles in: path required: true schema: type: string description: SMILES string (URL-encoded) example: CCCC - name: format in: path required: true schema: type: string enum: - XML - JSON - JSONP - ASNT - ASNB - SDF - PNG - TXT default: JSON description: Output format - name: record_type in: query schema: type: string enum: - 2d - 3d default: 2d description: Type of conformer for compounds - name: image_size in: query schema: type: string default: large description: Image size for PNG format - name: callback in: query schema: type: string description: Callback function name for JSONP format responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/CompoundRecords' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '503': $ref: '#/components/responses/ServiceUnavailable' /compound/inchikey/{inchikey}/{format}: get: tags: - Compounds summary: Get compound records by InChI Key description: Retrieve compound records for the specified InChI Key parameters: - name: inchikey in: path required: true schema: type: string description: InChI Key example: BPGDAMSIGCZZLK-UHFFFAOYSA-N - name: format in: path required: true schema: type: string enum: - XML - JSON - JSONP - ASNT - ASNB - SDF - PNG - TXT default: JSON description: Output format - name: record_type in: query schema: type: string enum: - 2d - 3d default: 2d description: Type of conformer for compounds - name: image_size in: query schema: type: string default: large description: Image size for PNG format - name: callback in: query schema: type: string description: Callback function name for JSONP format responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/CompoundRecords' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '503': $ref: '#/components/responses/ServiceUnavailable' /compound/cid/{cids}/property/{properties}/{format}: get: tags: - Compounds summary: Get compound properties description: Retrieve specific properties for the specified compounds parameters: - name: cids in: path required: true schema: type: string description: Comma-separated list of Compound IDs (CIDs) example: 1,2,3,4,5 - name: properties in: path required: true schema: type: string description: Comma-separated list of property names example: MolecularFormula,MolecularWeight,InChIKey - name: format in: path required: true schema: type: string enum: - XML - JSON - JSONP - ASNT - ASNB - CSV - TXT default: JSON description: Output format - name: callback in: query schema: type: string description: Callback function name for JSONP format responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/PropertyTable' text/csv: schema: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '503': $ref: '#/components/responses/ServiceUnavailable' /compound/cid/{cids}/synonyms/{format}: get: tags: - Compounds summary: Get compound synonyms description: Retrieve synonyms for the specified compounds parameters: - name: cids in: path required: true schema: type: string description: Comma-separated list of Compound IDs (CIDs) example: '2244' - name: format in: path required: true schema: type: string enum: - XML - JSON - JSONP - ASNT - ASNB - TXT default: JSON description: Output format - name: callback in: query schema: type: string description: Callback function name for JSONP format responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/InformationList' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '503': $ref: '#/components/responses/ServiceUnavailable' components: schemas: InformationList: type: object description: List of information records properties: InformationList: type: object properties: Information: type: array items: type: object properties: CID: type: integer SID: type: integer AID: type: integer Synonym: type: array items: type: string Title: type: string Description: type: string PropertyTable: type: object description: Table of compound properties properties: PropertyTable: type: object properties: Properties: type: array items: type: object properties: CID: type: integer MolecularFormula: type: string MolecularWeight: type: string SMILES: type: string InChI: type: string InChIKey: type: string IUPACName: type: string XLogP: type: number ExactMass: type: string MonoisotopicMass: type: string TPSA: type: number Complexity: type: integer Charge: type: integer HBondDonorCount: type: integer HBondAcceptorCount: type: integer RotatableBondCount: type: integer HeavyAtomCount: type: integer CompoundRecord: type: object description: A single compound record properties: id: type: object properties: id: type: object properties: cid: type: integer atoms: type: object bonds: type: object stereo: type: array items: type: object props: type: array items: type: object Fault: type: object description: Error response properties: Fault: type: object properties: Code: type: string Message: type: string Details: type: array items: type: string CompoundRecords: type: object description: Collection of compound records properties: PC_Compounds: type: array items: $ref: '#/components/schemas/CompoundRecord' responses: NotFound: description: The input record was not found (e.g. invalid CID) content: application/json: schema: $ref: '#/components/schemas/Fault' application/xml: schema: $ref: '#/components/schemas/Fault' ServiceUnavailable: description: Too many requests or server is busy, retry later content: application/json: schema: $ref: '#/components/schemas/Fault' application/xml: schema: $ref: '#/components/schemas/Fault' text/html: schema: type: string BadRequest: description: Request is improperly formed (syntax error in the URL, POST body, etc.) content: application/json: schema: $ref: '#/components/schemas/Fault' application/xml: schema: $ref: '#/components/schemas/Fault'