Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Data & analysis
USDA FoodData Central API
Try itInteract with the USDA FoodData Central (FDC) API to search for foods and retrieve detailed nutritional information. Use when the user asks to look up food n...
What it does
This skill provides access to the USDA FoodData Central API for searching foods and retrieving detailed nutritional information.
The skill document
USDA FoodData Central API Skill
This skill provides access to the USDA FoodData Central API for searching foods and retrieving detailed nutritional information.
Important Limitations
Language: All food descriptions and search queries must be in English. The database does not support searching in other languages.
Geographic Scope: This is a US-focused database. The "Branded" data type contains primarily US commercial food products. While "Foundation" and "SR Legacy" include generic foods (like "apples, raw" or "chicken, grilled"), brand-specific items will be American brands. European or other international brands will generally not be found.
Prerequisites
The skill requires a valid FDC API key to function. The key should be available via the FDC_API_KEY environment variable.
Getting an API Key
If FDC_API_KEY is not set, guide the user through this onboarding process:
- Navigate to: https://fdc.nal.usda.gov/api-key-signup
- Fill out the form with these required fields:
- First Name
- Last Name
- Submit the form and check your email for the 40-character API key
- Add the key to OpenClaw configuration:
- Edit
~/.openclaw/openclaw.json - Add the API key to the environment variables section:
{ "env": { "FDC_API_KEY": "your-40-character-api-key-here" } } - Save the file and restart OpenClaw or reload the session
- Edit
API Usage
All API requests are made to https://api.nal.usda.gov/fdc/v1 with authentication via the X-Api-Key header.
Rate Limits
- Standard Limit: 1,000 requests per hour per IP address
- DEMO_KEY Limit: 30 requests per hour (not recommended)
- Rate limit headers (
X-RateLimit-Limit,X-RateLimit-Remaining) are included in all responses - Exceeding limits returns HTTP 429 (blocked for 1 hour)
Commands
Search Foods
Search for foods by keyword using /foods/search endpoint.
Usage:
./skills/fdc-api/scripts/fdc_search.sh "search query" [pageSize] [dataType]
Parameters:
search query(required): Keywords to search for (e.g., "cheddar cheese")pageSize(optional): Number of results to return (1-200, default: 10)dataType(optional): Filter by data type - "Branded", "Foundation", "Survey (FNDDS)", "SR Legacy"
Example:
./skills/fdc-api/scripts/fdc_search.sh "apple" 5
./skills/fdc-api/scripts/fdc_search.sh "milk" 10 "Foundation"
Response Format: Returns a formatted table with:
- FDC ID (use this to get full details)
- Description
- Data Type
- Brand Owner (if applicable)
Get Food Details
Retrieve detailed nutritional information for a specific food by FDC ID.
Usage:
./skills/fdc-api/scripts/fdc_food.sh [format] [nutrients]
Parameters:
fdcId(required): The FDC ID of the food (from search results)format(optional): "abridged" or "full" (default: "full")nutrients(optional): Comma-separated list of up to 25 nutrient numbers to filter (e.g., "203,204,205")
Example:
./skills/fdc-api/scripts/fdc_food.sh 168917
./skills/fdc-api/scripts/fdc_food.sh 168917 full "203,204,205"
Response Format: Returns formatted output with:
- Food description and basic info
- Data type and identifiers
- Nutritional information (formatted as a table)
- Ingredients (for branded foods)
- Serving size information (when available)
Error Handling
Common error codes and their meanings:
- 403 API_KEY_MISSING: No API key provided → Trigger onboarding flow
- 403 API_KEY_INVALID: Invalid API key → Ask user to verify key
- 429 OVER_RATE_LIMIT: Rate limit exceeded → Wait 1 hour before retrying
- 404 NOT_FOUND: Food ID not found → Check FDC ID is correct
Workflow Examples
Example 1: Find nutritional info for a food
- Search for the food:
./skills/fdc-api/scripts/fdc_search.sh "banana" 5 - Note the FDC ID from results (e.g., 173944)
- Get full details:
./skills/fdc-api/scripts/fdc_food.sh 173944
Example 2: Compare multiple foods
- Search for first food and get details
- Search for second food and get details
- Compare nutritional information side-by-side
Nutrient Number Reference
Common nutrient numbers for filtering:
- 203: Protein
- 204: Total lipid (fat)
- 205: Carbohydrate, by difference
- 208: Energy (kcal)
- 269: Sugars, total including NLEA
- 291: Fiber, total dietary
- 301: Calcium
- 303: Iron
- 304: Magnesium
- 305: Phosphorus
- 306: Potassium
- 307: Sodium
- 401: Vitamin C
To filter by specific nutrients, pass them as comma-separated values:
./skills/fdc-api/scripts/fdc_food.sh 168917 full "208,203,204,205"
Notes
- The API returns deeply nested JSON; this skill processes it into readable markdown tables
- For branded foods, brand owner and GTIN/UPC codes are included
- Foundation and SR Legacy foods include NDB numbers
- Survey foods include food codes and portion data
Related skills
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.
Save, search, and manage personal notes and knowledge bases in Get笔记 on explicit request.
Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.
Read and write Excel workbooks, worksheets, ranges, tables, and charts in OneDrive through Microsoft Graph with managed OAuth.
More from patello
Browse all skillsParse Avanza CSV exports, compute TWRR and Modified Dietz returns, and track portfolio holdings in a local SQLite database.
Fetch real-time SL (Stockholm public transport) departures and deviation information using a Python CLI tool. Use when checking departures, querying transit delays, or saving favorite sites and routes for quick status checks.
Process bank transaction CSV exports (Nordea, ICA), auto-categorize transactions using configurable rules, manage transaction links, and generate analytical database views.
Guides users through configuring OpenClaw, Nginx, and GitHub Actions to establish a secure, autonomous GitHub integration pipeline.
Log and track daily calorie intake, macronutrients, body weight, and waist measurements locally in a SQLite database. Provides granular statistics, weekly averages, and future calorie budgets.
Interact with the Open Food Facts API to search for packaged food products by barcode and retrieve nutritional information. Use when the user asks to look up...