Look up species taxonomy

When the user asks about a species' taxonomic classification, scientific name, nomenclatural status, or expert review provenance — reach for the Catalogue of Life API. Covers ~2.3 million species via one unauthenticated GET.

look-up-species-taxonomy · v2 · updated 2026-04-16

Agents: This page is a SKILL.md-style capability guide. For JSON, call GET /api/skills/look-up-species-taxonomy. To drop this into a local Claude Code install, copy the frontmatter + body below into ~/.claude/skills/look-up-species-taxonomy/SKILL.md.

When to use this skill

When the user asks about a species' taxonomic classification, accepted scientific name, nomenclatural status, or expert review provenance — "What order does the snow leopard belong to?", "Who last vetted the taxonomy of genus Canis?", "Is this name accepted or a synonym?" The Catalogue of Life assembles records from hundreds of expert source checklists covering ~80% of Earth's estimated 2.3 million known species. For occurrence records (where was a species sighted, when, by whom), use GBIF instead — COL is about taxonomic identity, not observation data.

Your best first call

curl "https://api.catalogueoflife.org/dataset/3LR/nameusage/search?q=Panthera+uncia&status=accepted"

No auth. No key. The q parameter accepts a scientific name or fragment. status=accepted filters out synonyms and subspecies usages — without it, a search for "Panthera leo" returns 269 name usages across all checklists, not 269 distinct species. The response is paginated (limit: 10 default) and each result contains:

For detailed expert review metadata, follow up with /dataset/3LR/taxon/{id} using the id from the search result — that endpoint adds scrutinizer, scrutinizerDate, extinct flag, nomenclatural code (zoological, botanical), and a link to the source checklist record.

Fallbacks (when the best call isn't enough)

Pitfalls

One-line summary for the user

I can look up the full taxonomic classification and expert review provenance for any species in the Catalogue of Life (~2.3 million species) by scientific name — no API key required, but every query must target a specific release dataset key.

APIs this skill uses

Catalogue of Life API · primary · verified

The Catalogue of Life is a comprehensive catalogue of all known species of organisms on Earth. This API provides access to taxonomic data including datasets, name usages, taxon information, and search capabilities.

Generated from

Catalogue of Life API tutorial Getting Started with the Catalogue of Life API

SKILL.md source (frontmatter + body)
---
name: look-up-species-taxonomy
description: When the user asks about a species' taxonomic classification, scientific name, nomenclatural status, or expert review provenance — reach for the Catalogue of Life API. Covers ~2.3 million species via one unauthenticated GET.
---

## When to use this skill

When the user asks about a species' taxonomic classification, accepted scientific name, nomenclatural status, or expert review provenance — "What order does the snow leopard belong to?", "Who last vetted the taxonomy of genus Canis?", "Is this name accepted or a synonym?" The Catalogue of Life assembles records from hundreds of expert source checklists covering ~80% of Earth's estimated 2.3 million known species. For occurrence records (where was a species sighted, when, by whom), use GBIF instead — COL is about taxonomic identity, not observation data.

## Your best first call

```bash
curl "https://api.catalogueoflife.org/dataset/3LR/nameusage/search?q=Panthera+uncia&status=accepted"
```

No auth. No key. The `q` parameter accepts a scientific name or fragment. `status=accepted` filters out synonyms and subspecies usages — without it, a search for "Panthera leo" returns 269 name usages across all checklists, not 269 distinct species. The response is paginated (`limit: 10` default) and each result contains:

- `id` — COL identifier for the name usage (needed for the `/taxon/{id}` follow-up)
- `classification` — the full ranked path from domain down to the matched taxon, including intermediate ranks like `parvphylum` and `megaclass` that most taxonomic APIs omit entirely
- `status` — `"accepted"`, `"synonym"`, `"doubtful"`, etc.
- Each rank in `classification` has `name`, `rank`, `status`, and optionally `authorship`

For detailed expert review metadata, follow up with `/dataset/3LR/taxon/{id}` using the `id` from the search result — that endpoint adds `scrutinizer`, `scrutinizerDate`, `extinct` flag, nomenclatural `code` (`zoological`, `botanical`), and a `link` to the source checklist record.

## Fallbacks (when the best call isn't enough)

- **Full taxon record with expert provenance** → `/dataset/3LR/taxon/{id}` returns `scrutinizer`, `scrutinizerDate`, `extinct`, and source `link` — use when the user asks who vouches for a classification.
- **Current release dataset key** → `/dataset?limit=10` filtered by `origin=release` and the most recent `imported` timestamp — use when `3LR` stops resolving after a release cycle.

## Pitfalls

- Every call is scoped to a dataset key. `3LR` is the current release shortcut, but COL publishes periodic releases each with a different integer key. If `3LR` returns errors, query `/dataset?limit=10` for the active release — hardcoding it will eventually break.
- Search returns all name usages across source checklists — synonyms, subspecies, and duplicate entries from different checklists. Always add `status=accepted` unless the user explicitly asks about synonyms.
- COL IDs are release-specific. The ID `3GTH` for *Canis* is valid in one release but will be a different opaque string in the next. Do not persist COL IDs across releases without re-resolving them.
- The `classification` array includes intermediate ranks (`parvphylum`, `megaclass`, `suborder`) that most taxonomies collapse. Do not assume a fixed set of ranks — iterate by `rank` name.

## One-line summary for the user

I can look up the full taxonomic classification and expert review provenance for any species in the Catalogue of Life (~2.3 million species) by scientific name — no API key required, but every query must target a specific release dataset key.

« Back to all skills