ChowAPI is now in open beta — sign up and start building today.
c
ChowAPI
Now in public beta

One API call.
Every food.
Full nutrients.

784K+ foods. 34 nutrients. Fuzzy search. Barcode lookup. Built for developers and AI agents. Credit packs from $5.

No credit card required. Pay only for what you use.

Terminal
curl https://api.chowapi.dev/v1/search?q=chicken+breast \
  -H "Authorization: Bearer chow_live_YOUR_KEY"
Response
{
  "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.

784K+ Foods

Comprehensive coverage across whole foods, branded products, and restaurant chains. All in one place.

34 Nutrients

Not just macros. Every vitamin, every mineral, with per-nutrient confidence levels. Lab-verified when available.

Fuzzy Search

Typo-tolerant, relevance-ranked search. "chiken brest" returns Chicken Breast. Your users don't need to spell.

Barcode Lookup

569K+ UPC/EAN barcodes. Scan a product, get full nutrition in milliseconds.

Built for AI

MCP server for Claude. Prompt packages for ChatGPT. Every error includes a .suggestion field AI assistants can read.

Zero Friction

Simple Bearer token auth. API key in header and go. Self-serve signup, start building in minutes.

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)   // 20

Detailed 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 }
Built for AI

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-mcp
Setup guide

Prompt 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" }
    }
  }
}
Browse prompts

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"
  }
}
Error reference

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.

0.95

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.

Lab

Per-nutrient confidence

Each nutrient is tagged as lab_verified, database, or estimated. You decide what to trust.

784K

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

Typical API8 nutrients
Premium API15 nutrients
ChowAPI34 nutrients

ChowAPI includes:

CaloriesProteinCarbsFatFiberSugarSaturated FatTrans FatCholesterolSodiumVitamin AVitamin CVitamin DVitamin EVitamin KB1-B12CalciumIronMagnesiumPotassiumZincSelenium+ more

Simple, honest pricing

Pay for what you use. No tiers to negotiate. No surprises.

Dev

$5one-time

Try it. Build your prototype.

  • 5,000 API calls
  • All endpoints
  • Full nutrient data
  • 30 req/min burst
  • Never expires
Buy Dev Pack
Popular

Builder

$20one-time

Ship it. Launch your beta.

  • 25,000 API calls
  • All endpoints
  • Full nutrient data
  • 30 req/min burst
  • Never expires
Buy Builder Pack

Scale

$50one-time

Grow it. Best per-call rate.

  • 100,000 API calls
  • $0.0005/call
  • All endpoints
  • 30 req/min burst
  • Never expires
Buy Scale Pack

Custom

Let's talk

Need more? We'll build a plan.

  • Custom call volume
  • Volume discounts
  • Priority support
  • Custom endpoints
  • SLA available
Contact Us

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"