# Open Food Facts > Open Food Facts is a collaborative, free and open database of food products from around the world. Anyone can scan a barcode and contribute product data, and the whole database is published under the Open Database License so it can be re-used for any purpose. This file was generated by API Evangelist from the project's published contracts and documentation on 2026-09-17; Open Food Facts does not serve an llms.txt of its own (/llms.txt returns 404 on world.openfoodfacts.org, openfoodfacts.org and the docs host). Key facts an agent needs before calling: - No API key. Reads are anonymous, but every request MUST carry a custom User-Agent of the form `AppName/Version (ContactEmail)`. Unidentifiable problem traffic gets blocked. - Rate limits are per IP address: 15 requests/minute for product reads, 10 requests/minute for search, plus an unpublished global ceiling. HTTP 503 on exhaustion. No RateLimit-* response headers exist — self-pace. - Writes require an Open Food Facts account: a session cookie from `/cgi/session.pl`, or `user_id` + `password` parameters. `user_id` is the username, never the email address. - v3 is the current API version; v2 is deprecated but still supported. - Everything is keyed on the GS1 barcode (EAN-13/UPC). Normalize the barcode before deciding a product is missing. - Bulk users should download the data export rather than crawl the API. - Data is ODbL, database contents DbCL, images CC BY-SA. Attribution is required. - Rehearse writes against the staging host `https://world.openfoodfacts.net` (HTTP basic auth), not production. ## Specifications - [Open Food Facts API v2 (OpenAPI 3.1)](https://openfoodfacts.github.io/openfoodfacts-server/api/ref/api.yaml): Product read, faceted search, image upload, product edit. Base URL https://world.openfoodfacts.org - [Open Food Facts API v3 (OpenAPI 3.1)](https://openfoodfacts.github.io/openfoodfacts-server/api/ref/api-v3.yaml): Current version. Product read/write, image upload and delete, taxonomy canonicalization and suggestions, product revert. Base URL https://world.openfoodfacts.org - [Open Prices API (OpenAPI 3.0.3)](https://prices.openfoodfacts.org/api/schema): Crowdsourced prices, proofs, receipts, locations, challenges, badges. Base URL https://prices.openfoodfacts.org - [Search-a-licious API (OpenAPI 3.1)](https://search.openfoodfacts.org/openapi.json): Full-text and facet search, taxonomy autocomplete, charts. Base URL https://search.openfoodfacts.org - [Folksonomy Engine API (OpenAPI 3.1)](https://api.folksonomy.openfoodfacts.org/openapi.json): Free property/value pairs on products. OAuth2 password flow. Base URL https://api.folksonomy.openfoodfacts.org - [Facets Knowledge Panels API (OpenAPI 3.1)](https://facets-kp.openfoodfacts.org/openapi.json): Knowledge panels for a facet. Base URL https://facets-kp.openfoodfacts.org - [NutriPatrol API (OpenAPI 3.1)](https://nutripatrol.openfoodfacts.org/api/openapi.json): Moderation flags and tickets. Base URL https://nutripatrol.openfoodfacts.org ## Documentation - [Developer portal](https://openfoodfacts.github.io/openfoodfacts-server/api/): Entry point, rate limits, authentication, licence terms. - [API v2 reference](https://openfoodfacts.github.io/openfoodfacts-server/api/ref-v2/) - [API v3 reference](https://openfoodfacts.github.io/openfoodfacts-server/api/ref-v3/) - [Getting started tutorial](https://openfoodfacts.github.io/openfoodfacts-server/api/tutorial-off-api/) - [API cheatsheet](https://openfoodfacts.github.io/openfoodfacts-server/api/ref-cheatsheet/) - [Barcode normalization](https://openfoodfacts.github.io/openfoodfacts-server/api/ref-barcode-normalization/) - [API and product schema change log](https://openfoodfacts.github.io/openfoodfacts-server/api/ref-api-and-product-schema-change-log/): Current API 3.6 / product schema 1004 (2026-05-27). ## Common operations - `get-api-v3-product-code` — GET /api/v3/product/{code}: full product record. Use the `fields` parameter; a full record is large. - `get-search` — GET /api/v2/search: faceted product search. - `search_search_post` — POST /search (Search-a-licious): full-text search with facets and charts. - `get-api-v3-taxonomy_suggestions-taxonomy` — GET /api/v3/taxonomy_suggestions: suggest taxonomy terms. - `get-api-v3-taxonomy-canonicalize-tags` — GET /api/v3/taxonomy_canonicalize_tags: local tag -> canonical id. - `patch-api-v3-product-code` — PATCH /api/v3/product/{code}: create or update a product. Authenticated. - `post-api-v3-product_revert` — POST /api/v3/product_revert: revert a product to a previous revision. This is the undo path; no time window is published. - `prices_list` / `prices_create` — GET/POST /api/v1/prices (Open Prices). ## Data and vocabularies - [Bulk data exports](https://world.openfoodfacts.org/data) - [Taxonomies](https://static.openfoodfacts.org/data/taxonomies/): categories, ingredients, labels, additives, allergens, countries, brands, nutrients as JSON. ## SDKs - [Python](https://pypi.org/project/openfoodfacts/) 5.3.0 (2026-07-07) - [JavaScript/TypeScript](https://www.npmjs.com/package/@openfoodfacts/openfoodfacts-nodejs) 2.0.0-alpha.35 (2026-09-03) - [Dart/Flutter](https://pub.dev/packages/openfoodfacts) 3.30.2 (2026-02-15) - [Ruby](https://rubygems.org/gems/openfoodfacts) 0.10.0 (2025-09-29) - [PHP](https://packagist.org/packages/openfoodfacts/openfoodfacts-php) v0.4.0 (2025-07-29) - [Laravel](https://packagist.org/packages/openfoodfacts/openfoodfacts-laravel) v0.8.0 (2026-06-06) - [Go](https://pkg.go.dev/github.com/openfoodfacts/openfoodfacts-go) v1.0.0 (2022-05-06) — predates API v3. - [Web components](https://www.npmjs.com/package/@openfoodfacts/openfoodfacts-webcomponents) 1.16.0 (2026-01-28) ## Operations - [Status page](https://status.openfoodfacts.org/) - [Security policy](https://github.com/openfoodfacts/openfoodfacts-server/security/policy) — contact: contact@openfoodfacts.org (security.txt at https://world.openfoodfacts.org/.well-known/security.txt) - [GitHub organization](https://github.com/openfoodfacts) - [Support forum](https://forum.openfoodfacts.org/) · [Slack](https://slack.openfoodfacts.org/) - [Terms of use](https://world.openfoodfacts.org/terms-of-use) · [Privacy](https://world.openfoodfacts.org/privacy) ## Not available - No official MCP server. Community MCP servers exist on npm; none is published by Open Food Facts. - No A2A agent card on any host (/.well-known/agent-card.json and /.well-known/agent.json both 404). - No AsyncAPI, webhooks, GraphQL, gRPC or SOAP surface. - No idempotency mechanism, no dry-run mode, no RateLimit-* headers, no RFC 9457 problem details. - No paid plans, no API keys, no trust center or compliance attestations.