API Documentation
Overview
FoodChainAPI provides REST API access to the FDA Food Traceability List (FTL) category data. Find candidate categories and review exclusions against FDA sources. Matches do not determine exemptions or compliance status, and category CTE/KDE summaries do not replace event-specific requirements.
Base URL
https://foodchainapi.com/apiAuthentication
The public /api/ftl search, list, and CTE endpoints currently do not require an API key. Review both HTTP status and the JSON payload for errors before using a response.
curl https://foodchainapi.com/api/ftl/search?q=spinachChrome, ChatGPT, and Claude
Use the Chrome popup for lookups and guides, or connect a read-only MCP client to search categories and fetch articles.
https://foodchainapi.com/mcpEndpoints
/api/ftl/searchCheck if a food product is on the FDA Food Traceability List. Supports exact, alias, and fuzzy matching.
Parameters
| Name | Type | Description |
|---|---|---|
| q | string | Food product name or description (required) |
Example Request
curl https://foodchainapi.com/api/ftl/search?q=spinachExample Response
{
"query": "spinach",
"found": true,
"resultCount": 1,
"results": [
{
"category": "Leafy Greens",
"categoryId": "leafy-greens",
"matchedFood": "Spinach",
"matchType": "exact",
"confidence": 1.0,
"onFTL": true,
"description": "Fresh leafy greens including lettuce, spinach, kale...",
"ctes": ["Growing (harvesting)", "Receiving", "Transforming (cooling, packing)", "Shipping"],
"kdes": ["Traceability Lot Code", "Quantity and Unit of Measure", "Product Description", "Location of growing area", "Date of harvesting", "Date of cooling", "Date of receipt/shipment", "Reference Document Number"]
}
]
}/api/ftl/listList all FTL categories and their food items.
Example Request
curl https://foodchainapi.com/api/ftl/listExample Response
{
"categories": [
{
"id": "cheeses",
"name": "Cheeses (other than hard cheeses)",
"description": "Soft, semi-soft, and fresh cheeses...",
"foods": ["Brie", "Camembert", "Cottage cheese", "Cream cheese", "Feta", "..."],
"exclusions": ["Hard cheeses (e.g., Parmesan, Cheddar, Swiss, Gouda)"]
}
],
"totalCategories": 18,
"totalFoods": 127
}/api/ftl/cteGet Critical Tracking Event and Key Data Element requirements for a specific food category.
Parameters
| Name | Type | Description |
|---|---|---|
| category | string | FTL category ID (e.g., "leafy-greens", "finfish", "cheeses") |
Example Request
curl https://foodchainapi.com/api/ftl/cte?category=leafy-greensExample Response
{
"category": "Leafy Greens",
"categoryId": "leafy-greens",
"description": "Fresh leafy greens including lettuce, spinach, kale...",
"ctes": [
{
"event": "Growing (harvesting)",
"description": "Activities related to growing and harvesting a food...",
"appliesTo": "Farms and growing operations",
"kdes": [
{ "element": "Traceability Lot Code", "description": "Required for Growing (harvesting)" },
{ "element": "Location of growing area", "description": "Required for Growing (harvesting)" }
]
},
{
"event": "Receiving",
"description": "The act of receiving a food at a facility other than a farm.",
"appliesTo": "All entities in the supply chain except farms",
"kdes": [...]
}
]
}Rate Limits
| Plan | Requests/month | Price |
|---|---|---|
| Free | 50 | $0 |
| Basic | 1,000 | $19/mo |
| Pro | 10,000 | $49/mo |
Error Codes
| Code | Meaning |
|---|---|
| 400 | Missing category parameter for /api/ftl/cte |
| 200 + error | Missing or blank q for /api/ftl/search; inspect the error field |
| 404 | Category not found |
Get early access
Join the list for API product updates.