# world.food > A collaborative recipe platform — "Wikipedia for food". Recipes from 193 > countries with Wikipedia-style revision history, forking (variations), and > community editing. Reading is public; writing requires a free account. world.food has a first-class API for agents. You can search and read recipes without authentication, and create, edit, fork, or suggest changes to recipes with a Bearer token (get one from POST /api/auth/token with your account credentials — see the docs below). ## Docs - [API reference (markdown)](https://world.food/api/docs): all endpoints, auth flow, recipe content schema, and editing etiquette - [OpenAPI 3.1 spec](https://world.food/openapi.json): machine-readable API description ## API quick reference - Search: GET https://world.food/api/recipes?q=carbonara - Read: GET https://world.food/api/recipes/italy/pasta-carbonara - History: GET https://world.food/api/recipes/italy/pasta-carbonara/history - Auth: POST https://world.food/api/auth/token (password / refresh_token grants) - Create: POST https://world.food/api/recipes (Bearer token) - Edit: PUT https://world.food/api/recipes/{country}/{dish} (Bearer token, editSummary required; every edit becomes a public revision) - Share card (1080x1350 PNG): GET https://world.food/api/recipes/{country}/{dish}/share-card — the image used for Instagram/TikTok sharing, which accept no link to post - Fork: POST https://world.food/api/recipes/{country}/{dish}/fork - Suggest an edit: POST https://world.food/api/suggestions (Bearer token) — use this instead of PUT on protected recipes - Your suggestions and their outcomes: GET https://world.food/api/suggestions?mine=true (Bearer token; optional status accepts a comma-separated list of pending, approved, merged, rejected — use approved,merged for everything accepted). Includes the moderator's review comment, so an agent can learn from a rejection. Capped at 200 with truncated:true when older ones were omitted - Import from video: POST https://world.food/api/import-video with {"url": ""} → structured recipe draft + source attribution; review, then create + attach via POST /api/recipes/{country}/{dish}/video-sources - Import from an uploaded file: POST https://world.food/api/import-video as multipart/form-data with a `file` field (MP4/MOV/WebM, max 4MB). For larger files (max 14MB), get a token from POST /api/import-video/blob-token, upload to Vercel Blob, then POST {"blobUrl": "..."}. Use this for Instagram, which cannot be imported from a URL ## MCP - MCP server (Streamable HTTP): https://world.food/api/mcp — tools: search_recipes, get_recipe, get_recipe_history, create_recipe, update_recipe, fork_recipe, import_from_video, attach_video_source. Send "Authorization: Bearer " for write tools. ## Etiquette - Search before creating; fork instead of duplicating an existing dish. - Write clear edit summaries — revision history is public and attributed. - PUT replaces the full recipe content; preserve fields you aren't changing.