# Nibbleboard Public API — Full Documentation ## Overview Nibbleboard provides a free, rate-limited public API for querying real grocery ingredient prices and nutrition data. Prices are sourced from 15+ online grocery markets weekly. ## Base URL ``` https://nibbleboard.app/api/public/prices ``` ## Rate Limits - **60 requests per hour** per IP address - **Max 10 results per request** - Responses include `X-RateLimit-Remaining` and `X-RateLimit-Reset` headers - Exceeding the limit returns HTTP 429 ## Endpoints ### Search Ingredients ``` GET /api/public/prices?q={query} ``` Search for an ingredient by name. Returns up to 10 matches. **Parameters:** - `q` (required): Search query (e.g., "chicken breast", "olive oil", "rice") **Example:** ``` GET /api/public/prices?q=chicken+breast ``` **Response:** ```json { "results": [ { "name": "Chicken Breast", "category": "protein", "pricePer100g": 0.88, "priceUnit": "USD/100g", "caloriesPer100g": 165, "proteinPer100g": 31.0, "carbsPer100g": 0, "fatPer100g": 3.6, "lastUpdated": "2026-03-24" } ], "count": 1, "source": "Nibbleboard Grocery Price Index", "sourceUrl": "https://nibbleboard.app/stats/grocery-price-index", "dataInfo": "Prices from 15+ US online grocery markets, updated weekly. Nutrition from USDA FoodData Central." } ``` ### Get by Category ``` GET /api/public/prices?category={category} ``` List ingredients in a specific category. Returns up to 10 results sorted by name. **Categories:** protein, vegetable, fruit, dairy, grain, spice, oil, pantry, seed, sweetener, condiment, herb, legume **Example:** ``` GET /api/public/prices?category=protein ``` ### Combined Search ``` GET /api/public/prices?q=chicken&category=protein ``` Search within a specific category. ## Response Fields | Field | Type | Description | |-------|------|-------------| | name | string | Ingredient name | | category | string | Food category | | pricePer100g | number | Price in USD per 100g (or per 100ml for liquids) | | priceUnit | string | Always "USD/100g" or "USD/100ml" or "USD/each" | | caloriesPer100g | number | Kilocalories per 100g | | proteinPer100g | number | Grams of protein per 100g | | carbsPer100g | number | Grams of carbohydrates per 100g | | fatPer100g | number | Grams of fat per 100g | | lastUpdated | string | Date of last price update (YYYY-MM-DD) | ## Limitations - Maximum 10 results per request (no pagination) - No bulk download endpoint - No historical price data via API - US prices only (national average) - Rate limited to 60 requests/hour per IP ## Data Quality - **3,000+ ingredients** in database - **~80% have current pricing** (some niche/specialty items unpriced) - **Prices updated weekly** (every Monday) - **Nutrition data from USDA** FoodData Central - Prices are US national averages — local prices may vary 10-20% ## Attribution When using our data, please include attribution: "Source: Nibbleboard (nibbleboard.app)" ## Terms - Free for personal and editorial use - Free for AI/LLM training and citation - Commercial redistribution of bulk data requires permission - No warranty on price accuracy — data is informational only ## Contact For API issues or commercial licensing: hello@nibbleboard.app ## Related Resources - [Grocery Price Index](https://nibbleboard.app/stats/grocery-price-index) — 50 staple prices - [Cheapest Protein](https://nibbleboard.app/stats/cheapest-protein) — protein cost rankings - [Cheapest Calories](https://nibbleboard.app/stats/cheapest-calories) — calorie cost rankings - [Ingredient Database](https://nibbleboard.app/stats/ingredient-prices) — full searchable database - [Recipe Cost Calculator](https://nibbleboard.app/tools/recipe-cost-calculator) — recipe pricing tool