aid: food-info url: https://raw.githubusercontent.com/api-evangelist/food-info/refs/heads/main/apis.yml name: Food Info description: Food Info serves harmonised nutrient data for reference foods over a versioned REST API. It merges six food-composition datasets — USDA FoodData Central, McCance & Widdowson's CoFID, ANSES Ciqual, DTU Frida, AUSNUT and Open Food Facts — into a single schema, so a caller can query nutrients across sources without reconciling each publisher's format. Endpoints cover food search, a full nutrient panel per food, a nutrient catalogue, reverse nutrient search for the richest and poorest reference foods, and recipe parsing and analysis that resolves raw ingredient lines into per-line nutrition. Authentication is an X-Api-Key header, with a free tier of 10 requests a minute and 100 a day. HTTPS only and CORS disabled, so it is built for server-to-server use. The underlying dataset carries a citable Zenodo DOI, which is unusual provenance for a commercial data API. image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/food-info.png created: '2026-08-04' modified: '2026-08-04' specificationVersion: '0.21' type: Index position: Producing access: 3rd-Party kind: contract tags: - Nutrition - Food - Food Composition - Nutrients - Data - Open Data - Dietetics - Recipes - Health - Research apis: - aid: food-info:food-info-apiv1-api name: Food Info API V1 API description: The ApiV1 API from Food Info — 6 operation(s) for apiv1. humanURL: https://food-info.org/developer baseURL: https://api.food-info.org tags: - ApiV1 properties: - type: OpenAPI url: openapi/food-info-apiv1-api-openapi.yml - type: X-OpenAPI-Source url: https://api.food-info.org/api/v1/openapi.json - type: Documentation url: https://food-info.org/developer - type: Authentication url: authentication/food-info-authentication.yml - type: Plans url: plans/food-info-plans.yml - type: Conformance url: conformance/food-info-data-provenance.yml - type: X-DataSources url: https://food-info.org/data-sources - type: X-DatasetDOI url: https://doi.org/10.5281/zenodo.21527348 - type: TermsOfService url: https://food-info.org/terms-conditions - type: PrivacyPolicy url: https://food-info.org/privacy-policy - type: LlmsText url: https://food-info.org/llms.txt - type: Examples url: examples/food-info-examples.yml - type: RateLimits url: rate-limits/food-info-rate-limits.yml - type: ErrorCatalog url: errors/food-info-problem-types.yml - type: Conventions url: conventions/food-info-conventions.yml - type: DataModel url: data-model/food-info-data-model.yml - type: ToolCrosswalk url: mcp/food-info-tool-crosswalk.yml - aid: food-info:food-info-recipesapi-api name: Food Info Recipes API API description: The RecipesApi API from Food Info — 2 operation(s) for recipesapi. humanURL: https://food-info.org/developer baseURL: https://api.food-info.org tags: - RecipesApi properties: - type: OpenAPI url: openapi/food-info-recipesapi-api-openapi.yml - type: X-OpenAPI-Source url: https://api.food-info.org/api/v1/openapi.json - type: Documentation url: https://food-info.org/developer - type: Authentication url: authentication/food-info-authentication.yml - type: Plans url: plans/food-info-plans.yml - type: Conformance url: conformance/food-info-data-provenance.yml - type: X-DataSources url: https://food-info.org/data-sources - type: X-DatasetDOI url: https://doi.org/10.5281/zenodo.21527348 - type: TermsOfService url: https://food-info.org/terms-conditions - type: PrivacyPolicy url: https://food-info.org/privacy-policy - type: LlmsText url: https://food-info.org/llms.txt - type: Examples url: examples/food-info-examples.yml - type: RateLimits url: rate-limits/food-info-rate-limits.yml - type: ErrorCatalog url: errors/food-info-problem-types.yml - type: Conventions url: conventions/food-info-conventions.yml - type: DataModel url: data-model/food-info-data-model.yml - type: ToolCrosswalk url: mcp/food-info-tool-crosswalk.yml common: - type: AgenticAccess url: agentic-access/food-info-agentic-access.yml - type: DomainSecurity url: security/food-info-domain-security.yml - url: https://food-info.org type: Website - url: https://food-info.org/developer type: Documentation - url: https://food-info.org/terms-conditions type: TermsOfService - url: https://food-info.org/privacy-policy type: PrivacyPolicy - url: https://food-info.org/llms.txt type: LlmsText - url: authentication/food-info-authentication.yml type: Authentication - url: plans/food-info-plans.yml type: Plans - url: conformance/food-info-data-provenance.yml type: Conformance - url: conformance/food-info-conformance.yml type: Conformance - url: https://food-info.org/developer type: DeveloperPortal - url: https://food-info.org/contact type: Support - url: well-known/food-info-well-known.yml type: WellKnown - url: well-known/food-info-security.txt type: SecurityTxt - url: security/food-info-vulnerability-disclosure.yml type: VulnerabilityDisclosure - url: https://food-info.org/.well-known/security.txt type: Security - url: rate-limits/food-info-rate-limits.yml type: RateLimits - url: errors/food-info-problem-types.yml type: ErrorCatalog - url: conventions/food-info-conventions.yml type: Conventions - url: lifecycle/food-info-lifecycle.yml type: Lifecycle - url: data-model/food-info-data-model.yml type: DataModel - url: mcp/food-info-mcp.yml type: MCPServer - url: mcp/food-info-tool-crosswalk.yml type: ToolCrosswalk - url: skills/_index.yml type: AgentSkill - url: overlays/food-info-overlay.yaml type: Overlay - url: examples/food-info-examples.yml type: Examples - url: llms/food-info-llms.txt type: LLMsTxt maintainers: - FN: Kin Lane email: kin@apievangelist.com X-Discovery: date: '2026-08-04' method: probed note: Requested in api-search/inbox#2. Every claim checked before profiling. findings: - surface: OpenAPI url: https://api.food-info.org/api/v1/openapi.json http_status: 200 real: true note: OpenAPI 3.0.4, 8 operations, 24 schemas, X-Api-Key, real server. All 8 operations carry an operationId as of the 2026-08-04 re-harvest — added by the provider the same day the gap was raised in api-search/inbox#2. - surface: LlmsTxt url: https://food-info.org/llms.txt http_status: 200 real: true note: 8,462 bytes — LIVE. The submission said none was published; the provider confirmed it is server-generated rather than static, which is why it was overlooked. Re-fetched 2026-08-04 and byte-identical to the copy held. - surface: DatasetDOI url: https://doi.org/10.5281/zenodo.21527348 http_status: 200 real: true note: Resolves to Zenodo; a citable dataset record. - surface: DataSources url: https://food-info.org/data-sources http_status: 200 real: true - surface: WellKnown url: https://food-info.org/.well-known/api-catalog http_status: 404 real: false note: No RFC 9727 api-catalog on either host. A re-probe on 2026-08-04 did find an RFC 9116 security.txt at https://food-info.org/.well-known/security.txt (200) and a Content-Signal declaration in robots.txt; both are captured in well-known/. - surface: Control url: https://food-info.org/zzz-control-nonsense http_status: 404 real: false note: Both hosts 404 correctly on a control path — no SPA catch-all, so the probes above are trustworthy. reharvests: - date: '2026-08-04' trigger: Provider reply on api-search/inbox#2 note: Provider added operationIds to all 8 operations and confirmed the llms.txt. Spec re-fetched from the first-party source and archived verbatim to openapi/_original/. source: https://api.food-info.org/api/v1/openapi.json http_status: 200 md5: 21560d8ec8635faec94658467f56d6c4 x-enrichment: date: '2026-08-04' status: enriched artifacts_added: 20 pass: local-v1