TheMealDB Premium API
Premium-only endpoints requiring a paid lifetime supporter API key
Premium-only endpoints requiring a paid lifetime supporter API key
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/mealdb-premium-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: TheMealDB Categories.php Premium API
description: An open, crowd-sourced database of meals and recipes from around the world
version: 1.0.0
contact:
url: https://www.themealdb.com
servers:
- url: https://www.themealdb.com/api/json/v1/{apiKey}
variables:
apiKey:
default: '1'
description: API key - use '1' for testing/development. Premium supporters use their personal key.
tags:
- name: Premium
description: Premium-only endpoints requiring a paid lifetime supporter API key
paths:
/randomselection.php:
get:
summary: Get 10 random meals (Premium only)
description: Retrieve 10 randomly selected meals in a single call. Requires a premium supporter API key.
operationId: getRandomSelection
tags:
- Premium
responses:
'200':
description: Successful response with 10 random meals
content:
application/json:
schema:
type: object
properties:
meals:
type: array
items:
$ref: '#/components/schemas/Meal'
/latest.php:
get:
summary: Get latest 10 meals (Premium only)
description: Retrieve the 10 most recently added meals. Requires a premium supporter API key.
operationId: getLatestMeals
tags:
- Premium
responses:
'200':
description: Successful response with the 10 newest meals
content:
application/json:
schema:
type: object
properties:
meals:
type: array
items:
$ref: '#/components/schemas/Meal'
components:
schemas:
Meal:
type: object
description: Full meal record with recipe details, ingredients, and measurements.
properties:
idMeal:
type: string
description: Unique numeric identifier for the meal
example: '52771'
strMeal:
type: string
description: Meal name
example: Spicy Arrabiata Penne
strDrinkAlternate:
type:
- string
- 'null'
description: Suggested drink pairing
strCategory:
type: string
description: Meal category (e.g. Vegetarian, Beef, Dessert)
example: Vegetarian
strArea:
type: string
description: Cuisine area / country of origin
example: Italian
strInstructions:
type: string
description: Step-by-step cooking instructions
strMealThumb:
type: string
format: uri
description: URL to the meal thumbnail image. Append /small, /medium, or /large for sized variants.
example: https://www.themealdb.com/images/media/meals/ustsqw1468250014.jpg
strTags:
type:
- string
- 'null'
description: Comma-separated tags
example: Pasta,Curry
strYoutube:
type:
- string
- 'null'
format: uri
description: YouTube video URL for recipe walkthrough
strIngredient1:
type:
- string
- 'null'
strIngredient2:
type:
- string
- 'null'
strIngredient3:
type:
- string
- 'null'
strIngredient4:
type:
- string
- 'null'
strIngredient5:
type:
- string
- 'null'
strIngredient6:
type:
- string
- 'null'
strIngredient7:
type:
- string
- 'null'
strIngredient8:
type:
- string
- 'null'
strIngredient9:
type:
- string
- 'null'
strIngredient10:
type:
- string
- 'null'
strIngredient11:
type:
- string
- 'null'
strIngredient12:
type:
- string
- 'null'
strIngredient13:
type:
- string
- 'null'
strIngredient14:
type:
- string
- 'null'
strIngredient15:
type:
- string
- 'null'
strIngredient16:
type:
- string
- 'null'
strIngredient17:
type:
- string
- 'null'
strIngredient18:
type:
- string
- 'null'
strIngredient19:
type:
- string
- 'null'
strIngredient20:
type:
- string
- 'null'
strMeasure1:
type:
- string
- 'null'
strMeasure2:
type:
- string
- 'null'
strMeasure3:
type:
- string
- 'null'
strMeasure4:
type:
- string
- 'null'
strMeasure5:
type:
- string
- 'null'
strMeasure6:
type:
- string
- 'null'
strMeasure7:
type:
- string
- 'null'
strMeasure8:
type:
- string
- 'null'
strMeasure9:
type:
- string
- 'null'
strMeasure10:
type:
- string
- 'null'
strMeasure11:
type:
- string
- 'null'
strMeasure12:
type:
- string
- 'null'
strMeasure13:
type:
- string
- 'null'
strMeasure14:
type:
- string
- 'null'
strMeasure15:
type:
- string
- 'null'
strMeasure16:
type:
- string
- 'null'
strMeasure17:
type:
- string
- 'null'
strMeasure18:
type:
- string
- 'null'
strMeasure19:
type:
- string
- 'null'
strMeasure20:
type:
- string
- 'null'
strSource:
type:
- string
- 'null'
format: uri
description: Original recipe source URL
strImageSource:
type:
- string
- 'null'
description: Image attribution source
strCreativeCommonsConfirmed:
type:
- string
- 'null'
description: Indicates if the image is confirmed Creative Commons licensed
dateModified:
type:
- string
- 'null'
format: date-time
description: Date the meal record was last modified