ChecklistBank API
Free ChecklistBank API with no key: search the Catalogue of Life and thousands of taxonomic checklists by name, with full classification, synonyms and nomenclatural status.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the ChecklistBank API?
The ChecklistBank API is a free, key-free service hosting the Catalogue of Life and thousands of other taxonomic datasets. Name searches return matched taxa with their full classification from domain down to species, plus authorship, rank, taxonomic status and synonym relationships.
ChecklistBank is the infrastructure behind the Catalogue of Life, the global consensus checklist that aims to list every known species once, with one accepted name. The important structural idea is that it hosts many datasets side by side: `3LR` is the Catalogue of Life release, but hundreds of regional and taxon-specific checklists live alongside it under their own dataset keys, all queried through identical endpoints. Choosing the dataset is choosing your taxonomic authority.
The response gives you the entire classification inline rather than as a chain of links — the example's `classification` array runs Eukaryota, Animalia, Chordata, Vertebrata, Gnathostomata, Osteichthyes, Tetrapoda, Mammalia and onwards, each with its own id, rank and authorship. That saves a great many round trips when you need a taxonomic tree. The `status` field on each entry distinguishes accepted names from synonyms and provisional placements, which is what makes this usable for cleaning a species list rather than merely looking names up.
Quick facts
- Base URL
https://api.checklistbank.org- Authentication
- No API key needed to read public datasets. Catalogue of Life content is released under CC BY 4.0; other hosted checklists carry their own licences, stated on each dataset.
- Rate limit
- No published limit. ChecklistBank offers whole-dataset downloads, which are the right route for bulk taxonomic matching.
- Pricing
- Free. Catalogue of Life is CC BY 4.0; individual hosted datasets vary.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the ChecklistBank API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. Search the Catalogue of Life for a species name
GET https://api.checklistbank.org/dataset/3LR/nameusage/search?q=Panthera%20leo&limit=1
curl 'https://api.checklistbank.org/dataset/3LR/nameusage/search?q=Panthera%20leo&limit=1' \
-H 'Accept: application/json'const res = await fetch("https://api.checklistbank.org/dataset/3LR/nameusage/search?q=Panthera%20leo&limit=1", {
headers: {
"Accept": "application/json",
},
});
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
headers = {
"Accept": "application/json",
}
res = requests.get("https://api.checklistbank.org/dataset/3LR/nameusage/search?q=Panthera%20leo&limit=1", headers=headers, timeout=20)
res.raise_for_status()
print(res.json()){
"offset": 0,
"limit": 1,
"total": 290,
"result": [
{
"id": "4CGXP",
"classification": [
{
"id": "CS5HF",
"name": "Eukaryota",
"authorship": "(Chatton, 1925) Whittaker & Margulis, 1978",
"rank": "domain",
"status": "accepted",
"labelHtml": "Eukaryota (Chatton, 1925) Whittaker & Margulis, 1978"
},
{
"id": "N",
"name": "Animalia",
"rank": "kingdom",
"status": "accepted",
"labelHtml": "Animalia"
},
{
"id": "CH2",
"name": "Chordata",
"rank": "phylum",
"status": "accepted",
"labelHtml": "Chordata"
},
{
"id": "8V4V3",
"name": "Vertebrata",
"rank": "subphylum",
"status": "accepted",
"labelHtml": "Vertebrata"
},
{
"id": "8V4V5",
"name": "Gnathostomata",
"rank": "infraphylum",
"status": "accepted",
"labelHtml": "Gnathostomata"
},
{
"id": "8VVWB",
"name": "Osteichthyes",
"rank": "parvphylum",
"status": "accepted",
"labelHtml": "Osteichthyes"
},
{
"id": "9CK8W",
"name": "Tetrapoda",
"rank": "megaclass",
"status": "accepted",
"labelHtml": "Tetrapoda"
},
{
"id": "6224G",
"name": "Mammalia",
"authorship": "Linnaeus, 1758",
"rank": "class",
"coParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
datasetKey | path segment | Required | Which checklist to search. `3LR` is the current Catalogue of Life release. 3LR |
q | query | Optional | Name search string. Matches scientific names and, depending on settings, vernacular names. Panthera leo |
limit | query | Optional | Results per page. Defaults to a small number. 1 |
offset | query | Optional | Zero-based offset for paging. 0 |
rank | query | Optional | Restrict to a taxonomic rank such as `species` or `genus`. species |
status | query | Optional | Filter by taxonomic status — `accepted`, `synonym`, `provisionally accepted`. accepted |
type | query | Optional | Match type: `EXACT`, `PREFIX`, `WHOLE_WORDS` or `FUZZY`. EXACT |
Response fields
totalinteger- Total matches across all pages, independent of `limit`.
result[].idstring- Taxon identifier within this dataset. Not stable across datasets or releases.
result[].classification[]array- The full parent chain from domain to the taxon, inline. Each entry carries its own id, name, rank, authorship and status.
classification[].rankstring- Rank name. Catalogue of Life uses fine-grained ranks including megaclass and parvphylum.
classification[].statusstring- `accepted`, `synonym` or `provisionally accepted` for each level of the chain.
result[].labelHtmlstring- Pre-rendered name with italics markup, ready to display.
What you can build with the ChecklistBank API
- Match a species list against the global consensus taxonomy
- Fetch a full classification without walking parent links
- Detect synonyms and provisional names in occurrence data
- Compare how different checklists classify the same organism
- Build a taxonomic browser over Catalogue of Life
Common errors and how to fix them
404
Unknown dataset key.
Fix: `3LR` is the current Catalogue of Life release, and release keys change. Query the datasets endpoint to find the current one rather than hard-coding it.
Too many loose matches
The default match type is fuzzy.
Fix: Set `type=EXACT` when validating names, and reserve fuzzy matching for interactive search.
Ids differ from a previous run
Taxon ids are dataset- and release-scoped.
Fix: Store the name and the dataset key alongside any id, or match on names each time. Only names are portable across releases.
Empty results for a valid name
Filters excluded it.
Fix: A `status=accepted` filter hides synonyms, which is often exactly the name people search with. Drop the filter and read `status` yourself.
ChecklistBank API — frequently asked questions
Is the ChecklistBank API free?
Yes, free and key-free for reading public datasets. Catalogue of Life content is licensed CC BY 4.0; other hosted checklists set their own terms, which each dataset records.
What is the difference between Catalogue of Life and ChecklistBank?
Catalogue of Life is a dataset — the global consensus checklist. ChecklistBank is the platform that hosts it along with thousands of other checklists, and provides the API. You query Catalogue of Life by naming its dataset key.
How do I get the full classification for a species?
It comes back inline. Each search result includes a `classification` array running from domain to the taxon itself, so no additional requests are needed to build a taxonomic tree.
How does this compare to GBIF's taxonomy?
GBIF's backbone taxonomy is assembled largely from Catalogue of Life plus other sources and is tuned for matching occurrence records. ChecklistBank gives you Catalogue of Life directly, plus the ability to query alternative checklists when you disagree with the consensus.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
JSON to CSV Converter
Convert a JSON array of objects to CSV online. Automatic column headers from the union of all keys, delimiter choice and proper quoting — all in-browser.
Text Compare
Compare two texts online free and highlight every difference. A private text comparison tool that finds matches and changes right in your browser.
ChecklistBank is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.