chembl-database-bioactivity
Query ChEMBL (2M+ compounds, 19M+ bioactivity measurements, 13K+ targets) via the public REST/JSON API with plain `requests` — no SDK install required. Search compounds, retrieve IC50/Ki/EC50 bioactivities, find target inhibitors, run SAR, access drug mechanism/indication data.
npx skills add BioTender-max/awesome-bio-agent-skills --skill chembl-database-bioactivity --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
The skill enables an agent to query the ChEMBL public REST/JSON API to search for compounds, retrieve bioactivities (IC50, Ki, EC50, etc.), identify inhibitors for targets, perform SAR analysis, and access drug mechanisms and indications. It operates without an SDK and uses plain requests, leveraging Django-style filters in URL parameters and cursor-style pagination.
How it works
It uses the public endpoint base https://www.ebi.ac.uk/chembl/api/data with various endpoints, e.g. /molecule.json, /molecule/{chembl_id}.json, /target.json, /activity.json, /drug_indication.json, /mechanism.json, /similarity/{smiles}/{threshold}.json, and /substructure/{smiles}.json. It demonstrates constructing requests with requests.get, supplying query parameters like pref_name__icontains, molecule_properties__mw_freebase__range, target_chembl_id, standard_type, standard_value__lte, and limit. It shows how to traverse paginated results via page_meta.next and how to handle different response shapes for molecules, targets, and activities. The Quick Start and Core API sections provide concrete code blocks for retrieving a molecule by CHEMBL ID, searching by name, filtering by Lipinski-like properties, querying bioactivities, and performing structure-based searches (similarity and substructure).
When to use it
Use it for:
- Finding compounds by name, CHEMBL ID, or properties
- Querying bioactivity data (IC50, Ki, EC50) for targets
- Performing similarity or substructure searches using SMILES
- Retrieving drug mechanisms of action and indications
- Identifying inhibitors, agonists, or bioactive molecules for targets
- Analyzing SAR across compound series
- Filtering by Lipinski or other drug-likeness criteria If you need general cheminformatics tools (SMILES manipulation, descriptors), consider rdkit-cheminformatics instead. For a broader database, pubchem-compound-search is suggested.
What it can touch
- The skill uses the requests library and can touch the network to reach https://www.ebi.ac.uk/chembl/api/data. It references optional pandas for tabular analysis in examples. It does not require an API key.
Caveats
- No authentication is required for the public API. Rate limits are not published; a suggested approach is to sleep between requests (time.sleep(0.2-0.5)) in batch loops and back off on HTTP 429. The license indicated is CC-BY-SA-3.0 for the content. The description notes that the ChEMBL SDK (chembl_webresource_client) is not required, and operations can be reproduced with plain requests. The examples assume environment with Python and requests installed.
# ChEMBL Database — Bioactivity Queries > **Why no SDK?** The `chembl_webresource_client` package is convenient sugar over a public, no-auth REST/JSON API at `https://www.ebi.ac.uk/chembl/api/data/`. When the SDK is unavailable, every operation can be reproduced with plain `requests` and URL parameters. This SKILL.md uses the REST path throughout so the code runs in any environment with `requests` installed. Django-style filter syntax (`field__icontains=…`, `field__lte=…`, `field__range=a,b`) works as URL query parameters. ## Overview ChEMBL is EMBL-EBI's bioactive molecule database: 2M+ compounds, 19M+ bioactivity measurements (IC50, Ki, EC50, Kd, …), 13K+ targets. The REST API at `https://www.ebi.ac.uk/chembl/api/data/` returns JSON (append `.json`) or XML/YAML, requires no authentication, and supports Django-style query filters via URL parameters plus cursor-style pagination via `page_meta.next`. ## When to Use - Finding compounds by name, ChEMBL ID, or physicochemical properties - Querying bioactivity data (IC50, Ki, EC50) for specific targets - Performing similarity or substructure searches using SMILES - Retrieving drug mechanisms of action and clinical indications - Identify
- Overview
- When to Use
- Prerequisites
- Quick Start
- Key Concepts
- Filter Operators (Django-style, as URL parameters)
- Core Endpoints
- Response Shape
- Molecular Properties
- Target Information Fields
- Bioactivity Data Fields
- Core API
- 1. Molecule Queries
- 2. Target Queries
pip install requests pip install pandas
What does the chembl-database-bioactivity skill do?
Query ChEMBL (2M+ compounds, 19M+ bioactivity measurements, 13K+ targets) via the public REST/JSON API with plain `requests` — no SDK install required. Search compounds, retrieve IC50/Ki/EC50 bioactivities, find target inhibitors, run SAR, access drug mechanism/indication data.
How do I install it?
Run `npx skills add BioTender-max/awesome-bio-agent-skills --skill chembl-database-bioactivity --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From BioTender-max/awesome-bio-agent-skills, a repository with 135 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
