Agent skill · Databases

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.

BioTender-maxgithub.com/BioTender-maxGitHub ↗
claude-codeNOASSERTION
Install
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.

Facts
Files in the skill folder: 1
SKILL.md size: 25 KB
Bundled scripts: none
Path: skills/sciagent/chembl-database-bioactivity/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 135
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

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.
From the SKILL.md

# 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

What's inside
Steps it walks through
  1. Overview
  2. When to Use
  3. Prerequisites
  4. Quick Start
  5. Key Concepts
  6. Filter Operators (Django-style, as URL parameters)
  7. Core Endpoints
  8. Response Shape
  9. Molecular Properties
  10. Target Information Fields
  11. Bioactivity Data Fields
  12. Core API
  13. 1. Molecule Queries
  14. 2. Target Queries
Commands it runs
pip install requests
pip install pandas
More from awesome-bio-agent-skills
All skills →
About this skill
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.

Keep going