curl https://api.chowapi.dev/v1/search?q=chicken+breast \
-H "Authorization: Bearer chow_live_YOUR_KEY"{
"results": [{
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"name": "Chicken Breast, Grilled",
"brand": null,
"source": "verified",
"data_quality": 0.95,
"nutrients": {
"calories": 165,
"protein": 31,
"carbs": 0,
"fat": 3.6,
"fiber": 0,
"vitamin_b6": 0.6,
"iron": 1.04,
"potassium": 256
}
}],
"query_ms": 450
}Everything you need.
Nothing you don't.
Three lines of code. That's it.
Search foods, scan barcodes, get detailed nutrients. In any language.
Search
const res = await fetch("https://api.chowapi.dev/v1/search?q=quaker+oatmeal&limit=5", {
headers: { Authorization: "Bearer chow_live_YOUR_KEY" }
})
const { results } = await res.json()
console.log(results[0].name) // "Protein Oatmeal, Apple Cinnamon"
console.log(results[0].nutrients) // { calories: 360, protein: 20, ... }Barcode Lookup
const res = await fetch("https://api.chowapi.dev/v1/barcode/0030000575512", {
headers: { Authorization: "Bearer chow_live_YOUR_KEY" }
})
const food = await res.json()
console.log(food.name) // "Protein Oatmeal, Apples and Cinnamon"
console.log(food.brand) // "Quaker"
console.log(food.nutrients.protein) // 20Detailed Nutrients
const res = await fetch("https://api.chowapi.dev/v1/foods/f47ac10b.../nutrients", {
headers: { Authorization: "Bearer chow_live_YOUR_KEY" }
})
const detailed = await res.json()
console.log(detailed.nutrients.protein)
// { value: 20, unit: "g", confidence: "database", rdi: 50, pct_rdi: 40 }The first food API that speaks AI
MCP server for Claude. Prompt packages for ChatGPT. Every error includes a .suggestion field your AI assistant can read.
Claude Desktop
MCP Server
One command. Claude gets search_foods, barcode_lookup, and get_nutrients tools.
MCP server package coming soon. Use the REST API directly in the meantime.
npx chowapi-mcpPrompt Packages
Copy & paste
Pre-built system prompts for nutrition coaching, meal planning, and food logging.
{
"mcpServers": {
"chowapi": {
"command": "npx",
"args": ["chowapi-mcp"],
"env": { "CHOWAPI_KEY": "chow_live_YOUR_KEY" }
}
}
}AI-Friendly Errors
.suggestion field
Every error tells AI assistants exactly how to fix the issue. No more guessing.
{
"error": {
"code": "search/query_too_short",
"message": "Search query must be at least 2 characters.",
"suggestion": "Provide a longer search term. Example: ?q=chicken breast",
"docs": "https://chowapi.dev/docs/search"
}
}Data you can actually trust
We're tired of dirty nutrition data too. That's why every food in ChowAPI has a quality score, and every nutrient has a confidence level.
Data quality score
Every food has a 0-1 score based on how many nutrients are populated. Filter out low-quality entries at query time.
Per-nutrient confidence
Each nutrient is tagged as lab_verified, database, or estimated. You decide what to trust.
Comprehensive coverage
Whole foods, branded products, and restaurant chains. Lab-verified nutrients where available. All standardized and ready to use.
What you get per food
ChowAPI includes:
Simple, honest pricing
Pay for what you use. No tiers to negotiate. No surprises.
Dev
Try it. Build your prototype.
- 5,000 API calls
- All endpoints
- Full nutrient data
- 30 req/min burst
- Never expires
Builder
Ship it. Launch your beta.
- 25,000 API calls
- All endpoints
- Full nutrient data
- 30 req/min burst
- Never expires
Scale
Grow it. Best per-call rate.
- 100,000 API calls
- $0.0005/call
- All endpoints
- 30 req/min burst
- Never expires
Custom
Need more? We'll build a plan.
- Custom call volume
- Volume discounts
- Priority support
- Custom endpoints
- SLA available
Start building in 30 seconds
Simple Bearer token auth. Self-serve signup. Just an API key and clean food data, ready to use.
# Get your API key at chowapi.dev/signup, then:
curl "https://api.chowapi.dev/v1/search?q=avocado" \
-H "Authorization: Bearer chow_live_YOUR_KEY"