Read-only API mirror of the catches species dataset, served from Cloudflare Pages. Write operations (POST/PATCH/DELETE) live on a separate origin.
GET /api/species — species listGET /api/species/{taxon_id} — species detailGET /api/image/{taxon_id}/{idx}.webp — image bytesGET /api/sidecar/{taxon_id}/{idx}.json — image metadata