Resolution API

Generate consistent, deterministic IDs for taxa and locations across all BirdLife tools.

Base URL: https://birdlife.tech/api/v1

Taxon Resolution

Convert a scientific name to a deterministic UUID. Same name always returns the same ID.

GET /api/v1/taxon/resolve?name={scientificName}

Try it

{
  "data": [
    {
      "taxonID": "62b22397-1d3e-5bc6-9df2-13a8c4149861",
      "slug": "erithacus-rubecula",
      "scientificName": "Erithacus rubecula",
      "taxonRank": "SPECIES",
      "extensions": {
        "resolution.computed": "true"
      }
    }
  ],
  "meta": {
    "resultType": "taxon-resolve",
    "queryTimestamp": "2026-07-10T12:00:00.000Z"
  }
}

Location Resolution

Create or find a location by coordinates. Locations within ~11m are deduplicated.

POST /api/v1/location/resolve

Request body

{
  "name": "Minsmere Reserve",
  "latitude": 52.2456,
  "longitude": 1.6234
}

Try it

{
  "data": [
    {
      "locationID": "4e39b755-b31b-5e4d-a91c-4c937303af0e",
      "slug": "minsmere-reserve",
      "name": "Minsmere Reserve",
      "decimalLatitude": 52.2456,
      "decimalLongitude": 1.6234,
      "geodeticDatum": "WGS84",
      "extensions": {
        "resolution.matched": "true"
      }
    }
  ],
  "meta": {
    "resultType": "location-resolve",
    "queryTimestamp": "2026-07-10T12:00:00.000Z"
  }
}

Rate Limiting

Response Format

All responses follow the BirdLife API Response Convention: {data[], meta} envelope with entities conforming to birdlife-schema. Tool-specific enrichments go in extensions (namespaced).