FoodData Central API

⭐ Beginner's Pick Health / API Key Intermediate HTTPS
Varies by plan (check documentation)

Overview

FoodData Central is the USDA's authoritative nutritional database API, giving access to detailed nutrient profiles for hundreds of thousands of foods including branded products, raw ingredients, and restaurant items. You need a free API key from the USDA's FoodData website to make requests. It is an excellent choice for building calorie trackers, meal planners, or diet analysis tools.

💡

Beginner Tip

Register for a free API key at https://fdc.nal.usda.gov/api-key-signup.html — it is issued instantly and lets you make up to 3,600 requests per hour per IP address.

Available Data

recipe name and ingredients
nutritional values
calorie count
serving size
preparation time
country name and code

Example Response

JSON Response
{
  "recipe": "Chicken Stir Fry",
  "calories": 380,
  "protein_g": 32,
  "carbs_g": 28,
  "fat_g": 14,
  "ingredients": [
    "chicken breast",
    "bell pepper",
    "soy sauce",
    "garlic"
  ],
  "prep_time_minutes": 20
}

Field Reference

fdcId Unique FoodData Central identifier for the food item.
description Human-readable name or description of the food.
dataType Category of the food entry (e.g., Branded, SR Legacy, Foundation).
foodNutrients List of nutrient objects each containing nutrient name, unit, and amount per 100g.
brandOwner Company that owns the branded food product (only present for Branded data type).
servingSize Standard serving size in grams or milliliters.

Implementation Example

const url = "https://fdc.nal.usda.gov/";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
  headers: {
  "X-API-Key": "YOUR_API_KEY"
  }
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

403 Forbidden Missing or invalid API key in the request.
Append ?api_key=YOUR_API_KEY to every request URL or pass it as the X-Api-Key header.
Too many results, wrong food type A broad search query like 'apple' returns thousands of entries from different data sources.
Use the dataType parameter to filter results: dataType=SR+Legacy for raw ingredients or dataType=Branded for packaged foods.
Nutrient not present in response Not every food entry contains every nutrient; some fields may be missing or null.
Always check that the nutrient array contains the nutrient ID you need before accessing its value.

Matrix Score Breakdown

🌐 Reachability 30/30
⚡ Speed 5/20
🔒 Security 15/15
🛠 Developer XP 12/20
✓ Reliability 10/15

Partially tested on Apr 5, 2026

Technical Specifications

Auth API Key
HTTPS REQUIRED
CORS UNKNOWN
Category Health
Difficulty Intermediate
Verified: 2026-04-04

Similar APIs

View All →