search_chembl_target
Resolve biological targets to ChEMBL IDs using exact match on UniProt accession, gene symbol, or protein name. Filter results by organism or target type for specificity.
Instructions
Resolve a biological TARGET (protein/receptor/enzyme) to a ChEMBL ID.
⚠️ DO NOT use this tool to look up drugs, compounds, or molecules by name.
For drug/compound/molecule names (e.g., "sorafenib", "imatinib", "aspirin"),
use search_chembl_molecule instead.
Resolution is deterministic SPARQL against the ChEMBL RDF graph, not a lexical
search — there is no ranking to second-guess:
• UNIPROT ACCESSION (e.g. "P00533") → the structured skos:exactMatch link.
Returns every target containing that protein (the single protein plus any
complex/family/chimera it participates in) — filter target_type to get
just one.
• GENE SYMBOL / PROTEIN NAME (e.g. "EGFR", "epidermal growth factor
receptor") → EXACT (case-insensitive) match on the target component's
skos:altLabel synonyms. Not fuzzy/substring — fix typos before calling.
Every result carries organism and type, so a symbol shared across species
or complexes is disambiguated by inspecting those fields (or by passing the
organism/target_type filters) — NOT by trusting order.
Target-type values (for type and the target_type filter): SINGLE PROTEIN,
PROTEIN COMPLEX, PROTEIN FAMILY, PROTEIN-PROTEIN INTERACTION, CHIMERIC PROTEIN,
NUCLEIC-ACID, CELL-LINE, TISSUE, ORGANISM, SELECTIVITY GROUP, SMALL MOLECULE,
OLIGOSACCHARIDE, LIPID, METAL, and other rarer kinds. An unrecognized
target_type raises rather than silently matching nothing.
The search string can be passed as any of: query (canonical), search,
term, keyword, keywords, search_term, or name.
RETURNS a dict {'total_count', 'has_more', 'results'}. total_count is rows
RETURNED (capped by limit), not the full match count; has_more is true if
more exist beyond this page. Each result has 'chembl_id', 'name' (rdfs:label),
'organism', and 'type'. On endpoint failure this tool does NOT raise — it
returns a dict with a single 'error' key instead; CHECK FOR 'error' BEFORE
READING 'results'.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| term | No | ||
| limit | No | Max results. Defaults to 20. | |
| query | No | UniProt accession (preferred), gene symbol, or exact protein name. Examples: "P00533", "EGFR", "Thrombin". | |
| search | No | ||
| keyword | No | ||
| keywords | No | ||
| organism | No | Case-insensitive substring filter on organism, e.g. "Homo sapiens". Applied inside the query. | |
| search_term | No | ||
| target_type | No | Exact (case-insensitive) filter on target type, e.g. "SINGLE PROTEIN" — collapses an accession/symbol match to the canonical single protein and drops complexes/families. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||