ebi API for agents (unofficial) — JSON over curl | clify
EBI Search (EMBL-EBI): keyword search across all EMBL-EBI data resources such as UniProt, PDBe, Ensembl, Europe PMC, ChEBI and Reactome, with entry lookup, cross-references, gene/protein identification and FASTA sequence download.
Host: ebi.ac.uk. Call these verified read commands with plain curl; no install, key, or account. Use the public JSON API with plain curl. No install, key, account, or browser is needed. Example: curl 'https://clify-dev.netlify.app/sites.json'. Start with /search?q=weather, then call /abc/COMMAND. Responses are one JSON object. The hosted MCP and GitHub repo are also available.
Commands
search-domain
Keyword search within one EBI Search domain (e.g. uniprot, proteinSequences, pubmed, chebi, pdbe), with field selection, facet filters, sorting and offset paging Params: domain*, query*, api_fields, facets, sort, size, start
curl 'https://clify-dev.netlify.app/ebi/search-domain?query=insulin&api_fields=descRecName%2Corganism_scientific_name%2Cacc%2Cstatus&facets=TAXONOMY%3A9606%2Cstatus%3AReviewed'
get-search-facets
Get facet value counts for a query in a domain, e.g. source database, organism (TAXONOMY) or review status, to discover filter values for search-domain Params: domain*, query*, facetfields, facetcount, facets
curl 'https://clify-dev.netlify.app/ebi/get-search-facets?query=insulin&facetfields=domain_source&facetcount=50'
count-all-domains
Search all EMBL-EBI data at once and get hit counts per domain and subdomain (the tree behind the 'All results' page) Params: query*
curl 'https://clify-dev.netlify.app/ebi/count-all-domains?query=insulin'
list-domains
List all EBI Search domains and subdomains (ids, names, descriptions, index info) as a tree Params: none
curl 'https://clify-dev.netlify.app/ebi/list-domains'
get-domain-info
Get one domain's metadata: searchable/retrievable/sortable fields, facets, and index info. Use it to find valid values for fields, facets and sort. Params: domain*
curl 'https://clify-dev.netlify.app/ebi/get-domain-info'
get-entries
Fetch one or more entries by id or accession from a domain, with selected fields Params: domain*, ids*, api_fields, fieldurl, viewurl
curl 'https://clify-dev.netlify.app/ebi/get-entries?api_fields=descRecName%2Corganism_scientific_name%2Cstatus'
list-entry-xref-domains
List the domains an entry is cross-referenced to, with the number of referenced entries in each (e.g. pdbe, alphafold, europepmc) Params: domain*, id*
curl 'https://clify-dev.netlify.app/ebi/list-entry-xref-domains'
get-entry-xrefs
Get the entries in a target domain that cross-reference a given entry (e.g. AlphaFold or BioModels entries for UniProt INS_HUMAN) Params: domain*, id*, targetDomain*, api_fields, size, start
curl 'https://clify-dev.netlify.app/ebi/get-entry-xrefs'
identify-term
Identify what a search term refers to (gene, protein, etc., grouped by orthology and organism) with links to summary pages Params: term*
curl 'https://clify-dev.netlify.app/ebi/identify-term?term=INSR'
get-summary-details
Get the gene/protein summary details (expression, structures, literature...) for an identification returned by identify-term Params: term*, spine, tid*, classification
curl 'https://clify-dev.netlify.app/ebi/get-summary-details?term=insulin&spine=molecular&tid=synENSG00000144749&classification=9606'
fetch-sequence
Download raw database entries such as a FASTA sequence via dbfetch (e.g. UniProtKB P01308 in FASTA) Params: id*, db, format
curl 'https://clify-dev.netlify.app/ebi/fetch-sequence?id=P01308&db=uniprotkb&format=fasta'