# Dog Breeds (FCI) API
> The FCI (Fédération Cynologique Internationale) dog-breed nomenclature as an API — a clean breed reference for pet, veterinary, e-commerce and education apps. For each of 350+ internationally recognised breeds the API returns its FCI number, English name and names in German, French and Spanish, the FCI group (1–10, for example Terriers, Sighthounds, Sheepdogs, Companion and Toy Dogs), the section within that group, the country of origin and links to the official FCI breed standard (PDF) and illustration. Look a breed up by name or FCI number, search across all languages, list the breeds of an FCI group or from a country of origin, or list them all. Served from memory — always fast.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/dogbreeds-api/..."
```

## Pricing
- **Free** (Free) — 12,000 calls/Mo, 3 req/s
- **Starter** ($4/Mo) — 130,000 calls/Mo, 10 req/s
- **Pro** ($14/Mo) — 650,000 calls/Mo, 25 req/s
- **Mega** ($35/Mo) — 3,200,000 calls/Mo, 60 req/s

## Endpoints

### Lookup

#### `GET /v1/breed` — Breed by name or FCI number

**Parameters:**
- `name` (query, optional, string) — Breed name Example: `Akita`
- `id` (query, optional, string) — FCI number

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/dogbreeds-api/v1/breed?name=Akita"
```

**Response:**
```json
{
    "data": {
        "breed": {
            "id": "255",
            "url": "https://www.fci.be/en/nomenclature/AKITA-255.html",
            "name": "AKITA",
            "group": "Spitz and primitive types",
            "image": "https://www.fci.be/Nomenclature/Illustrations/255g05.jpg",
            "names": {
                "de": "AKITA",
                "es": "AKITA",
                "fr": "AKITA"
            },
            "country": "Japan",
            "section": "Asian Spitz and related breeds",
            "provisional": false,
            "standard_pdf": "https://www.fci.be/Nomenclature/Standards/255g05-en.pdf"
        }
    },
    "meta": {
        "timestamp": "2026-06-08T18:25:02.600Z",
        "request_id": "c5bd6ad4-40ad-48b0-a527-043512deeade"
    },
    "status": "ok",
    "message": "Breed retrieved successfully",
    "success": true
}
```

### Search

#### `GET /v1/search` — Search breeds across languages

**Parameters:**
- `q` (query, required, string) — Search query (min 2 chars) Example: `terrier`
- `limit` (query, optional, string) — Max results (1-100) Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/dogbreeds-api/v1/search?q=terrier&limit=25"
```

**Response:**
```json
{
    "data": {
        "count": 25,
        "query": "terrier",
        "total": 39,
        "breeds": [
            {
                "id": "3",
                "url": "https://www.fci.be/en/nomenclature/KERRY-BLUE-TERRIER-3.html",
                "name": "KERRY BLUE TERRIER",
                "group": "Terriers",
                "image": null,
                "names": {
                    "de": "KERRY BLUE TERRIER",
                    "es": "KERRY BLUE TERRIER",
                    "fr": "TERRIER KERRY BLUE"
                },
                "country": "Ireland",
                "section": "Large and medium sized Terriers",
                "provisional": false,
                "standard_pdf": "https://www.fci.be/Nomenclature/Standards/003g03-en.pdf"
            },
            {
                "id": "4",
                "url": "https://www.fci.be/en/nomenclature/CAIRN-TERRIER-4.html",
                "name": "CAIRN TERRIER",
                "group": "Terriers",
                "image": "https://www.fci.be/Nomenclature/Illustrations/004g03.jpg",
                "names": {
                    "de": "CAIRN TERRIER",
                    "es": "CAIRN TERRIER",
                    "fr": "CAIRN TERRIER"
                },
                "country": "Great Britain",
                "section": "Small sized Terriers",
                "provisional": false,
                "standard_pdf": "https://www.fci.be/Nomenclature/Standards/004g03-en.pdf"
            },
            {
        
…(truncated, see openapi.json for full schema)
```

### Group

#### `GET /v1/group` — Breeds in an FCI group

**Parameters:**
- `group` (query, required, string) — FCI group Example: `Terriers`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/dogbreeds-api/v1/group?group=Terriers"
```

**Response:**
```json
{
    "data": {
        "count": 36,
        "group": "terriers",
        "breeds": [
            {
                "id": "3",
                "url": "https://www.fci.be/en/nomenclature/KERRY-BLUE-TERRIER-3.html",
                "name": "KERRY BLUE TERRIER",
                "group": "Terriers",
                "image": null,
                "names": {
                    "de": "KERRY BLUE TERRIER",
                    "es": "KERRY BLUE TERRIER",
                    "fr": "TERRIER KERRY BLUE"
                },
                "country": "Ireland",
                "section": "Large and medium sized Terriers",
                "provisional": false,
                "standard_pdf": "https://www.fci.be/Nomenclature/Standards/003g03-en.pdf"
            },
            {
                "id": "4",
                "url": "https://www.fci.be/en/nomenclature/CAIRN-TERRIER-4.html",
                "name": "CAIRN TERRIER",
                "group": "Terriers",
                "image": "https://www.fci.be/Nomenclature/Illustrations/004g03.jpg",
                "names": {
                    "de": "CAIRN TERRIER",
                    "es": "CAIRN TERRIER",
                    "fr": "CAIRN TERRIER"
                },
                "country": "Great Britain",
                "section": "Small sized Terriers",
                "provisional": false,
                "standard_pdf": "https://www.fci.be/Nomenclature/Standards/004g03-en.pdf"
            },
            {
                "id": "7",
 
…(truncated, see openapi.json for full schema)
```

### Country

#### `GET /v1/country` — Breeds from a country of origin

**Parameters:**
- `country` (query, required, string) — Country of origin Example: `Germany`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/dogbreeds-api/v1/country?country=Germany"
```

**Response:**
```json
{
    "data": {
        "count": 31,
        "breeds": [
            {
                "id": "97",
                "url": "https://www.fci.be/en/nomenclature/GERMAN-SPITZ-97.html",
                "name": "GERMAN SPITZ",
                "group": "Spitz and primitive types",
                "image": "https://www.fci.be/Nomenclature/Illustrations/097g05-1.jpg",
                "names": {
                    "de": "DEUTSCHER SPITZ",
                    "es": "SPITZ ALEMÁN",
                    "fr": "SPITZ ALLEMAND"
                },
                "country": "Germany",
                "section": "European Spitz",
                "provisional": false,
                "standard_pdf": "https://www.fci.be/Nomenclature/Standards/097g05-en.pdf"
            },
            {
                "id": "98",
                "url": "https://www.fci.be/en/nomenclature/GERMAN-WIRE-HAIRED-POINTING-DOG-98.html",
                "name": "GERMAN WIRE- HAIRED POINTING DOG",
                "group": "Pointing Dogs",
                "image": "https://www.fci.be/Nomenclature/Illustrations/098g07.jpg",
                "names": {
                    "de": "DEUTSCH DRAHTHAAR",
                    "es": "PERRO DE MUESTRA ALEMÁN DE PELO DURO",
                    "fr": "CHIEN D'ARRET ALLEMAND A POIL DUR"
                },
                "country": "Germany",
                "section": "Continental Pointing Dogs",
                "provisional": false,
                "standard_pdf": "https://www.fci.be
…(truncated, see openapi.json for full schema)
```

### List

#### `GET /v1/list` — List all breeds

**Parameters:**
- `limit` (query, optional, string) — Page size (1-400) Example: `50`
- `offset` (query, optional, string) — Offset Example: `0`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/dogbreeds-api/v1/list?limit=50&offset=0"
```

**Response:**
```json
{
    "data": {
        "count": 50,
        "total": 360,
        "breeds": [
            {
                "id": "1",
                "url": "https://www.fci.be/en/nomenclature/ENGLISH-POINTER-1.html",
                "name": "ENGLISH POINTER",
                "group": "Pointing Dogs",
                "image": "https://www.fci.be/Nomenclature/Illustrations/001g07.jpg",
                "names": {
                    "de": "ENGLISCHER POINTER",
                    "es": "POINTER INGLÉS",
                    "fr": "POINTER ANGLAIS"
                },
                "country": "Great Britain",
                "section": "British and Irish Pointers and Setters",
                "provisional": false,
                "standard_pdf": "https://www.fci.be/Nomenclature/Standards/001g07-en.pdf"
            },
            {
                "id": "2",
                "url": "https://www.fci.be/en/nomenclature/ENGLISH-SETTER-2.html",
                "name": "ENGLISH SETTER",
                "group": "Pointing Dogs",
                "image": "https://www.fci.be/Nomenclature/Illustrations/002g07.jpg",
                "names": {
                    "de": "ENGLISCHER SETTER",
                    "es": "SETTER INGLÉS",
                    "fr": "SETTER ANGLAIS"
                },
                "country": "Great Britain",
                "section": "British and Irish Pointers and Setters",
                "provisional": false,
                "standard_pdf": "https://www.fci.be/Nomenclatur
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Service metadata + group breakdown

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/dogbreeds-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "groups": {
            "Terriers": 36,
            "Dachshunds": 1,
            "Retrievers": 22,
            "Sighthounds": 14,
            "Pointing Dogs": 36,
            "Companion and Toy Dogs": 27,
            "Pinscher and Schnauzer": 57,
            "Sheepdogs and Cattledogs": 47,
            "Spitz and primitive types": 48,
            "Scent hounds and related breeds": 72
        },
        "service": "dogbreeds-api",
        "endpoints": {
            "GET /v1/list": "List all breeds (limit, offset).",
            "GET /v1/meta": "This document.",
            "GET /v1/breed": "Breed by name (name=, e.g. Akita) or FCI number (id=).",
            "GET /v1/group": "Breeds in an FCI group (group=, e.g. Terriers).",
            "GET /v1/search": "Search breeds across languages and country (q=).",
            "GET /v1/country": "Breeds from a country of origin (country=, e.g. Germany)."
        },
        "description": "FCI dog-breed nomenclature: FCI number, English + German/French/Spanish names, FCI group and section, country of origin and links to the official breed standard and illustration. Look up by name or number, search across languages, list by FCI group or country. No key.",
        "total_breeds": 360,
        "countries_indexed": 66
    },
    "meta": {
        "timestamp": "2026-06-08T18:25:03.261Z",
        "request_id": "141d44fa-d428-4e12-aa61-d0f908c0e7d0"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/dogbreeds-api
OpenAPI spec: https://www.oanor.com/api/dogbreeds-api/openapi.json
