BYTETOOLS

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.

No API key requiredCORS enabledHTTPSFree tier

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
curl 'https://api.checklistbank.org/dataset/3LR/nameusage/search?q=Panthera%20leo&limit=1' \
  -H 'Accept: application/json'
JavaScript (fetch)
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);
Python (requests)
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())
Response — HTTP 200 (truncated)
{
  "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",
          "co

Parameters

ParameterTypeRequiredDescription
datasetKeypath segmentRequiredWhich checklist to search. `3LR` is the current Catalogue of Life release. 3LR
qqueryOptionalName search string. Matches scientific names and, depending on settings, vernacular names. Panthera leo
limitqueryOptionalResults per page. Defaults to a small number. 1
offsetqueryOptionalZero-based offset for paging. 0
rankqueryOptionalRestrict to a taxonomic rank such as `species` or `genus`. species
statusqueryOptionalFilter by taxonomic status — `accepted`, `synonym`, `provisionally accepted`. accepted
typequeryOptionalMatch 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

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.