BestDogBox - Dog Breed Data & Subscription Box Rankings
LocalAbout BestDogBox - Dog Breed Data & Subscription Box Rankings
BestDogBox provides dog breed data and subscription-box rankings for developers building breed and product lookup features. Its API supports breed filters, side-by-side comparisons, and ranked box data; requests require an API key.
Key features
- 01Query data for 346 dog breeds
- 02Filter by size, group, or name
- 03Compare two breeds side by side
- 04Retrieve ranked dog subscription boxes
Use cases
- 01Filter breed data by size
- 02Compare attributes of two breeds
- 03Look up highly ranked subscription boxes
MCP support
The MCP server exposes dog breed lookup, breed comparison, and dog subscription-box ranking data to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
4Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| search | string | No | Search breeds by name (e.g. "retriever", "poodle") |
| size | enum | No | Filter by size categorytoy | small | medium | large | giant |
| group | string | No | Filter by AKC group (e.g. "sporting", "herding", "working") |
| limit | number | No | Number of results (max 50, default 10) |
Details
From the project README🐕 BestDogBox API
Free dog breed database and API. 346 breeds with detailed size, temperament, lifespan, energy levels, and care requirements. Plus ranked subscription box data.
Built and maintained by BestDogBox.com — independent dog product reviews and breed guides.
Install
Node.js SDK
npm install bestdogbox
MCP Server (for Cursor, Claude, Windsurf)
npm install -g @bestdogbox/mcp-server
See MCP setup instructions for editor configuration.
Getting Started
All requests require an API key. Register for free at bestdogbox.com/developers.
# Get your free API key first, then:
curl -H "x-api-key: YOUR_API_KEY" https://bestdogbox.com/api/v1/breeds?limit=5
What's Included
| Data | Count | Format |
|---|---|---|
| Dog Breeds | 346 | JSON |
| Subscription Boxes | 10+ ranked | JSON |
| Size Categories | 5 (toy, small, medium, large, giant) | — |
| Breed Groups | 8 (sporting, hound, working, terrier, toy, herding, non-sporting, misc) | — |
| Attributes per Breed | 15+ | — |
Base URL
https://bestdogbox.com/api/v1
Authentication
Pass your API key as a query parameter or header:
# Query parameter
curl https://bestdogbox.com/api/v1/breeds?apikey=YOUR_API_KEY
# Header (recommended)
curl -H "x-api-key: YOUR_API_KEY" https://bestdogbox.com/api/v1/breeds
Endpoints
List All Breeds
GET /breeds?page=1&limit=50&size=large&group=sporting&search=retriever
| Param | Type | Description |
|---|---|---|
page | int | Page number (default: 1) |
limit | int | Results per page, max 50 (default: 50) |
size | string | Filter: toy, small, medium, large, giant |
group | string | Filter by AKC group |
search | string | Search breeds by name |
Get Single Breed
GET /breeds/:slug
curl -H "x-api-key: YOUR_KEY" https://bestdogbox.com/api/v1/breeds/golden-retriever
Compare Two Breeds
GET /breeds/compare?a=golden-retriever&b=labrador-retriever
Top Subscription Boxes
GET /subscription-boxes?limit=10
Returns top-ranked dog subscription boxes by composite score (editorial analysis + Reddit sentiment + Trustpilot ratings).
Example Response
{
"data": {
"name": "Golden Retriever",
"slug": "golden-retriever",
"akc_group": "Sporting",
"size": "large",
"origin": "Scotland",
"weight_min": 55,
"weight_max": 75,
"weight_unit": "lbs",
"height_min": 21.5,
"height_max": 24,
"height_unit": "inches",
"lifespan_min": 10,
"lifespan_max": 12,
"temperament": ["Intelligent", "Friendly", "Devoted", "Reliable"],
"activity_level": "high",
"grooming_needs": "moderate",
"chewing_strength": "strong",
"popularity_rank": 3
},
"meta": {
"source": "BestDogBox.com",
"profile": "https://bestdogbox.com/breeds/golden-retriever"
}
}
Usage Examples
JavaScript
const res = await fetch('https://bestdogbox.com/api/v1/breeds/golden-retriever', {
headers: { 'x-api-key': 'YOUR_API_KEY' }
});
const { data } = await res.json();
console.log(`${data.name}: ${data.lifespan_min}-${data.lifespan_max} years`);
Python
import requests
res = requests.get(
'https://bestdogbox.com/api/v1/breeds',
params={'size': 'large', 'apikey': 'YOUR_API_KEY'}
)
breeds = res.json()['data']
for breed in breeds:
print(f"{breed['name']} — {breed['size']}")
Rate Limits
| Plan | Daily Limit | Price |
|---|---|---|
| Registered | 1,000 requests/day | Free |
Rate limits reset daily at midnight UTC. Need higher limits? Contact [email protected].
Error Codes
| Code | Meaning |
|---|---|
400 | Bad Request — check parameters |
401 | Unauthorized — missing or invalid API key |
403 | Forbidden — API key deactivated |
404 | Not Found — breed slug doesn't exist |
429 | Rate Limited — wait until midnight UTC |
500 | Server Error — try again later |
Related Resources
- Full API Documentation — Interactive docs with registration
- Dog Breed Profiles — Detailed breed pages with photos and care guides
- Breed Comparison Tool — Side-by-side breed comparisons
- Dog Calorie Calculator — Breed-aware calorie calculator
- Best Dog Subscription Boxes — Ranked by size and breed needs
Attribution
This data is free to use under the MIT License. We appreciate attribution:
Data provided by BestDogBox.com (https://bestdogbox.com)
Contributing
Found an error in breed data? Open an issue or submit a pull request. We verify all changes against AKC and breed club sources before merging.
Contact
- Website: bestdogbox.com
- API Docs: bestdogbox.com/developers
- Email: [email protected]
Made with 🐾 by BestDogBox
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.