RSC Records API
Retrieve compound record details, images, and molecular files.
Retrieve compound record details, images, and molecular files.
openapi: 3.1.0
info:
title: RSC ChemSpider Compounds Filter Records API
description: The RSC ChemSpider Compounds API provides programmatic access to the ChemSpider chemical database, which contains over 88 million unique chemical compounds. The API supports compound searching by name, SMILES, InChI, InChIKey, molecular formula, mass, and elemental composition. Authenticated users can retrieve compound records with detailed properties, fetch external references, images, and MOL files, and perform batch operations. A tools endpoint supports chemical format conversions and InChIKey validation. All requests require an API key obtained from the RSC Developer Portal.
version: '1'
contact:
name: RSC Developer Support
url: https://developer.rsc.org/
termsOfService: https://www.rsc.org/legal/
servers:
- url: https://api.rsc.org/compounds/v1
description: ChemSpider Production API
tags:
- name: Records
description: Retrieve compound record details, images, and molecular files.
paths:
/records/{recordId}/details:
get:
operationId: getRecordDetails
summary: Get Record Details
description: Retrieve detailed information for a specific compound record by its record ID. Returns fields including SMILES, Formula, mass values, CommonName, reference counts, and 2D/3D mol representations.
tags:
- Records
parameters:
- name: recordId
in: path
required: true
schema:
type: integer
description: The ChemSpider record ID
- name: fields
in: query
required: false
schema:
type: string
description: Comma-separated list of fields to return (e.g., SMILES,Formula,CommonName,MolecularWeight)
responses:
'200':
description: Compound record details
content:
application/json:
schema:
$ref: '#/components/schemas/CompoundRecord'
'401':
description: Unauthorized
'404':
description: Record not found
security:
- apiKeyAuth: []
/records/batch:
post:
operationId: getRecordsBatch
summary: Get Records Batch Details
description: Retrieve detailed information for multiple compound records in a single request. Accepts up to 100 record IDs per request.
tags:
- Records
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- recordIds
properties:
recordIds:
type: array
items:
type: integer
maxItems: 100
description: List of ChemSpider record IDs (max 100)
fields:
type: string
description: Comma-separated list of fields to return
responses:
'200':
description: Array of compound record details
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CompoundRecord'
'401':
description: Unauthorized
security:
- apiKeyAuth: []
/records/{recordId}/externalreferences:
get:
operationId: getExternalReferences
summary: Get External References
description: Retrieve external database references for a compound record. Optionally filter by data source names.
tags:
- Records
parameters:
- name: recordId
in: path
required: true
schema:
type: integer
description: The ChemSpider record ID
- name: dataSources
in: query
required: false
schema:
type: string
description: Comma-separated list of data source names to filter by
responses:
'200':
description: External references for the record
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ExternalReference'
'401':
description: Unauthorized
'404':
description: Record not found
security:
- apiKeyAuth: []
/records/{recordId}/image:
get:
operationId: getRecordImage
summary: Get Compound Image
description: Retrieve the 2D structural image for a compound record. Returns the image as base64-encoded PNG data.
tags:
- Records
parameters:
- name: recordId
in: path
required: true
schema:
type: integer
description: The ChemSpider record ID
responses:
'200':
description: Base64-encoded compound image
content:
application/json:
schema:
type: object
properties:
image:
type: string
description: Base64-encoded PNG image of compound structure
'401':
description: Unauthorized
'404':
description: Record not found
security:
- apiKeyAuth: []
/records/{recordId}/mol:
get:
operationId: getRecordMol
summary: Get Compound MOL File
description: Retrieve the MOL file for a compound record. Returns the MOL file content as a string.
tags:
- Records
parameters:
- name: recordId
in: path
required: true
schema:
type: integer
description: The ChemSpider record ID
responses:
'200':
description: MOL file content
content:
application/json:
schema:
type: object
properties:
mol:
type: string
description: MOL file string for the compound
'401':
description: Unauthorized
'404':
description: Record not found
security:
- apiKeyAuth: []
components:
schemas:
ExternalReference:
type: object
description: An external database reference for a compound
properties:
source:
type: string
description: Name of the external data source
sourceUrl:
type: string
format: uri
description: URL of the data source
externalId:
type: string
description: Identifier in the external system
externalUrl:
type: string
format: uri
description: Direct URL to the compound in the external system
CompoundRecord:
type: object
description: Detailed information about a chemical compound record
properties:
id:
type: integer
description: ChemSpider record ID
smiles:
type: string
description: SMILES representation of the compound
formula:
type: string
description: Molecular formula
averageMass:
type: number
description: Average molecular mass
molecularWeight:
type: number
description: Molecular weight
monoisotopicMass:
type: number
description: Monoisotopic mass
nominalMass:
type: number
description: Nominal mass
commonName:
type: string
description: Common name of the compound
referenceCount:
type: integer
description: Number of references in ChemSpider
dataSourceCount:
type: integer
description: Number of data sources containing this compound
pubmedCount:
type: integer
description: Number of PubMed references
rscCount:
type: integer
description: Number of RSC publications referencing this compound
mol2D:
type: string
description: 2D MOL file representation
mol3D:
type: string
description: 3D MOL file representation
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: apikey
description: API key obtained from the RSC Developer Portal at developer.rsc.org. Register and create an application to receive an API key.