ChEMBL Activity API

Activity values recorded in assays, linking molecules to targets with quantitative bioactivity measurements.

OpenAPI Specification

chembl-activity-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: ChEMBL Data REST Activity API
  description: ChEMBL is a manually curated database of bioactive molecules with drug-like properties, maintained by the EMBL-EBI. This REST API provides programmatic access to bioactive molecules, drug targets, bioactivity measurements, approved drugs, assay data, and clinical trial compound information. ChEMBL_37 contains over 2.9 million distinct compounds, 24.5 million activities, and 18,552 targets.
  version: ChEMBL_37
  contact:
    name: ChEMBL Team
    email: chembl-help@ebi.ac.uk
    url: https://www.ebi.ac.uk/chembl/
  license:
    name: Creative Commons Attribution-ShareAlike 3.0 Unported
    url: https://creativecommons.org/licenses/by-sa/3.0/
  termsOfService: https://www.ebi.ac.uk/about/terms-of-use/
  x-logo:
    url: https://www.ebi.ac.uk/chembl/static/chembl/img/chembl_logo.png
servers:
- url: https://www.ebi.ac.uk/chembl/api/data
  description: ChEMBL Production API Server
tags:
- name: Activity
  description: Activity values recorded in assays, linking molecules to targets with quantitative bioactivity measurements.
paths:
  /activity:
    get:
      tags:
      - Activity
      summary: List activities
      description: Retrieve a paginated list of activity records. Activities link molecules to targets with quantitative bioactivity measurements (IC50, Ki, EC50, etc.).
      operationId: listActivities
      parameters:
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      - name: molecule_chembl_id
        in: query
        description: Filter by ChEMBL ID of the compound
        schema:
          type: string
          example: CHEMBL25
      - name: target_chembl_id
        in: query
        description: Filter by ChEMBL ID of the target
        schema:
          type: string
          example: CHEMBL301
      - name: assay_chembl_id
        in: query
        description: Filter by ChEMBL ID of the assay
        schema:
          type: string
      - name: standard_type
        in: query
        description: Filter by activity type (e.g., IC50, Ki, EC50, Kd)
        schema:
          type: string
          example: IC50
      - name: standard_value__lte
        in: query
        description: Filter by standard value less than or equal to
        schema:
          type: number
      - name: standard_value__gte
        in: query
        description: Filter by standard value greater than or equal to
        schema:
          type: number
      - name: assay_type
        in: query
        description: Filter by assay type (B=Binding, F=Functional, A=ADME, T=Toxicity, P=Physicochemical, U=Unclassified)
        schema:
          type: string
          enum:
          - B
          - F
          - A
          - T
          - P
          - U
      responses:
        '200':
          description: Successful response with paginated list of activities
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/Meta'
                  activities:
                    type: array
                    items:
                      $ref: '#/components/schemas/Activity'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
  /activity/{activity_id}:
    get:
      tags:
      - Activity
      summary: Get activity by ID
      description: Retrieve a single activity record by its unique activity ID.
      operationId: getActivity
      parameters:
      - name: activity_id
        in: path
        required: true
        description: Unique numeric activity ID
        schema:
          type: integer
          example: 31863
      - $ref: '#/components/parameters/format'
      responses:
        '200':
          description: Activity record
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Activity'
        '404':
          $ref: '#/components/responses/NotFound'
  /activity/search:
    get:
      tags:
      - Activity
      summary: Search activities
      description: Full-text search for activities using query string.
      operationId: searchActivities
      parameters:
      - name: q
        in: query
        required: true
        description: Search query string
        schema:
          type: string
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      responses:
        '200':
          description: Search results
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/Meta'
                  activities:
                    type: array
                    items:
                      $ref: '#/components/schemas/Activity'
components:
  parameters:
    offset:
      name: offset
      in: query
      description: Number of records to skip for pagination
      schema:
        type: integer
        default: 0
        minimum: 0
    format:
      name: format
      in: query
      description: Response format
      schema:
        type: string
        enum:
        - json
        - xml
        - yaml
        - jsonp
        default: json
    limit:
      name: limit
      in: query
      description: Number of records to return per page (default 20, max 1000)
      schema:
        type: integer
        default: 20
        maximum: 1000
        minimum: 1
  schemas:
    Error:
      type: object
      properties:
        error_message:
          type: string
        status:
          type: string
    Meta:
      type: object
      description: Pagination metadata for list responses
      properties:
        limit:
          type: integer
          description: Number of records returned per page
        next:
          type: string
          nullable: true
          description: URL for the next page of results
        offset:
          type: integer
          description: Number of records skipped
        previous:
          type: string
          nullable: true
          description: URL for the previous page of results
        total_count:
          type: integer
          description: Total number of records matching the query
    Activity:
      type: object
      description: A bioactivity measurement linking a compound to a target through an assay
      properties:
        activity_id:
          type: integer
          description: Unique ID for the activity record
        assay_chembl_id:
          type: string
          description: ChEMBL ID of the assay
        assay_description:
          type: string
          description: Description of the assay
        assay_type:
          type: string
          description: Assay type code (B=Binding, F=Functional, A=ADME, T=Toxicity, P=Physicochemical, U=Unclassified)
        bao_endpoint:
          type: string
          description: BioAssay Ontology (BAO) endpoint term ID
        bao_format:
          type: string
          description: BioAssay Ontology (BAO) format term ID
        bao_label:
          type: string
          description: Human-readable BAO endpoint label
        canonical_smiles:
          type: string
          description: Canonical SMILES representation of the compound
        data_validity_comment:
          type: string
          nullable: true
          description: Comment on data validity/quality
        document_chembl_id:
          type: string
          description: ChEMBL ID of the source document
        document_journal:
          type: string
          description: Journal of the source publication
        document_year:
          type: integer
          nullable: true
          description: Year of the source publication
        molecule_chembl_id:
          type: string
          description: ChEMBL ID of the tested compound
        pchembl_value:
          type: number
          nullable: true
          description: Negative log10 of the molar activity value (-log10 of standard value in M)
        relation:
          type: string
          nullable: true
          description: Relationship qualifier for the activity value (=, >, <, >=, <=, ~)
        standard_flag:
          type: boolean
          nullable: true
          description: Whether the activity was standardized
        standard_relation:
          type: string
          nullable: true
          description: Standardized relationship qualifier
        standard_text_value:
          type: string
          nullable: true
          description: Standardized text value for non-numeric activities
        standard_type:
          type: string
          nullable: true
          description: Standardized activity type (e.g., IC50, Ki, EC50, Kd)
        standard_units:
          type: string
          nullable: true
          description: Standardized units of the activity measurement
        standard_value:
          type: number
          nullable: true
          description: Standardized numeric activity value
        target_chembl_id:
          type: string
          description: ChEMBL ID of the biological target
        target_organism:
          type: string
          nullable: true
          description: Organism of the biological target
        target_pref_name:
          type: string
          nullable: true
          description: Preferred name of the biological target
        target_tax_id:
          type: string
          nullable: true
          description: NCBI taxonomy ID of the target organism
        type:
          type: string
          nullable: true
          description: Original activity type as reported in the source document
        units:
          type: string
          nullable: true
          description: Original units as reported in the source document
        value:
          type: string
          nullable: true
          description: Original numeric or text value as reported in the source document
  responses:
    BadRequest:
      description: Bad request - invalid query parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
externalDocs:
  description: ChEMBL Web Services Documentation
  url: https://chembl.gitbook.io/chembl-interface-documentation/web-services/chembl-data-web-services