# TheMealDB

> Look up recipes in TheMealDB, the open, crowd-sourced database of meals from around the world. Search by name or first letter, pull a meal's full recipe with its ingredients, measures, instructions, images, and video, and browse by category, cuisine, or ingredient (including a 'what can I cook with these' search across up to four ingredients at once). Also lists every category, cuisine, and ingredient (with descriptions and artwork), and serves random, latest, and popular meal picks.

App · Food & Drink · 16 actions. Web page: https://docs.lodol.com/docs/integrations/themealdb

## Actions

### Get a meal

Get one meal's complete recipe by its id: category, cuisine, tags, step-by-step instructions, every ingredient paired with its measure, image URLs in three sizes, and the video and source links.

**Inputs**

- Meal ID (`meal_id`, text, required): The meal's id, for example 52772. Reference the 'id' of a meal from a search or filter step.

**Outputs**

- `area` (text)
- `category` (text)
- `id` (text)
- `ingredients` (list)
- `instructions` (text)
- `name` (text)
- `url` (text)

**Example output**

```json
{
  "alternate_name": null,
  "area": "Japanese",
  "category": "Chicken",
  "country": "Japan",
  "creative_commons_confirmed": null,
  "date_modified": null,
  "id": "52772",
  "image_source": null,
  "ingredients": [
    {
      "measure": "3/4 cup",
      "name": "soy sauce"
    },
    {
      "measure": "1/2 cup",
      "name": "water"
    }
  ],
  "instructions": "Preheat oven to 350\u00b0 F. Spray a 9x13-inch baking pan...",
  "name": "Teriyaki Chicken Casserole",
  "source_url": null,
  "tags": [
    "Meat",
    "Casserole"
  ],
  "thumbnail": "https://www.themealdb.com/images/media/meals/wvpsxx1468256321.jpg",
  "thumbnail_large": "https://www.themealdb.com/images/media/meals/wvpsxx1468256321.jpg/large",
  "thumbnail_medium": "https://www.themealdb.com/images/media/meals/wvpsxx1468256321.jpg/medium",
  "thumbnail_small": "https://www.themealdb.com/images/media/meals/wvpsxx1468256321.jpg/small",
  "url": "https://www.themealdb.com/meal/52772",
  "youtube_url": "https://www.youtube.com/watch?v=4aZr5hZXP_s"
}
```

### Get a random meal

Get one randomly chosen meal in full: a ready-made 'what should I cook tonight' pick, complete with ingredients, measures, and instructions.

**Inputs**: None.

**Outputs**

- `area` (text)
- `category` (text)
- `id` (text)
- `ingredients` (list)
- `name` (text)
- `url` (text)

**Example output**

```json
{
  "area": "Chinese",
  "category": "Chicken",
  "country": "China",
  "id": "52956",
  "ingredients": [
    {
      "measure": "1 whole",
      "name": "Chicken"
    }
  ],
  "name": "Chicken Congee",
  "tags": [],
  "url": "https://www.themealdb.com/meal/52956"
}
```

### Get a random meal selection

Get a selection of randomly chosen meals in full: a whole week of dinner ideas in one step. A free test key returns a single meal; a TheMealDB supporter key returns ten.

**Inputs**: None.

**Outputs**

- `count` (number)
- `meals` (list)

**Example output**

```json
{
  "count": 1,
  "meals": [
    {
      "area": "Algerian",
      "category": "Side",
      "country": "Algeria",
      "id": "53290",
      "ingredients": [
        {
          "measure": "1 pack",
          "name": "Phyllo Pastry"
        }
      ],
      "name": "Cheese Borek",
      "tags": [],
      "url": "https://www.themealdb.com/meal/53290"
    }
  ]
}
```

### Get an ingredient

Get one ingredient's description, type, and artwork URLs in full, small, medium, and large: the images TheMealDB serves for that ingredient's name.

**Inputs**

- Ingredient (`ingredient`, text, required): Pick an ingredient, or reference an ingredient name from a previous step.

**Outputs**

- `description` (text)
- `id` (text)
- `name` (text)
- `thumbnail` (text)
- `thumbnail_large` (text)
- `thumbnail_medium` (text)
- `thumbnail_small` (text)
- `type` (text)

**Example output**

```json
{
  "description": "The chicken is a type of domesticated fowl.",
  "id": "1",
  "name": "Chicken",
  "thumbnail": "https://www.themealdb.com/images/ingredients/chicken.png",
  "thumbnail_large": "https://www.themealdb.com/images/ingredients/Chicken-large.png",
  "thumbnail_medium": "https://www.themealdb.com/images/ingredients/Chicken-medium.png",
  "thumbnail_small": "https://www.themealdb.com/images/ingredients/Chicken-small.png",
  "type": null
}
```

### List areas

List the areas (cuisines) TheMealDB files meals under, each with its country (Italian/Italy, Japanese/Japan, and so on).

**Inputs**: None.

**Outputs**

- `areas` (list)
- `count` (number)

**Example output**

```json
{
  "areas": [
    {
      "area": "Canadian",
      "country": "Canada"
    },
    {
      "area": "Italian",
      "country": "Italy"
    }
  ],
  "count": 2
}
```

### List categories

List TheMealDB's meal categories (Beef, Dessert, Seafood, Vegan, and the rest) with each one's description and category artwork.

**Inputs**: None.

**Outputs**

- `categories` (list)
- `count` (number)

**Example output**

```json
{
  "categories": [
    {
      "description": "Beef is the culinary name for meat from cattle.",
      "id": "1",
      "name": "Beef",
      "thumbnail": "https://www.themealdb.com/images/category/beef.png"
    }
  ],
  "count": 1
}
```

### List category names

List just the category names, ready to loop over or feed straight into the 'List meals by category' filter.

**Inputs**: None.

**Outputs**

- `categories` (list)
- `count` (number)

**Example output**

```json
{
  "categories": [
    "Beef",
    "Breakfast",
    "Chicken"
  ],
  "count": 3
}
```

### List ingredients

List every ingredient TheMealDB knows, with its description, type, and artwork URLs in full, small, medium, and large.

**Inputs**: None.

**Outputs**

- `count` (number)
- `ingredients` (list)

**Example output**

```json
{
  "count": 1,
  "ingredients": [
    {
      "description": "The chicken is a type of domesticated fowl.",
      "id": "1",
      "name": "Chicken",
      "thumbnail": "https://www.themealdb.com/images/ingredients/chicken.png",
      "thumbnail_large": "https://www.themealdb.com/images/ingredients/Chicken-large.png",
      "thumbnail_medium": "https://www.themealdb.com/images/ingredients/Chicken-medium.png",
      "thumbnail_small": "https://www.themealdb.com/images/ingredients/Chicken-small.png",
      "type": null
    }
  ]
}
```

### List latest meals

Get the meals most recently added to TheMealDB, in full: a feed of new recipes to post or digest. A free test key returns a single meal; a TheMealDB supporter key returns the full set.

**Inputs**: None.

**Outputs**

- `count` (number)
- `meals` (list)

**Example output**

```json
{
  "count": 1,
  "meals": [
    {
      "area": null,
      "category": "Dessert",
      "country": "Estonia",
      "date_modified": null,
      "id": "53579",
      "ingredients": [
        {
          "measure": "200g",
          "name": "Honey"
        }
      ],
      "name": "Honey Cookies",
      "tags": [],
      "url": "https://www.themealdb.com/meal/53579"
    }
  ]
}
```

### List meals by area

List every meal from one area (cuisine), such as Italian, Japanese, or Canadian. Returns compact meal summaries.

**Inputs**

- Area (`area`, text, required): Pick a cuisine, or reference an area name from a previous step.

**Outputs**

- `area` (text)
- `count` (number)
- `meals` (list)

**Example output**

```json
{
  "area": "Canadian",
  "count": 1,
  "meals": [
    {
      "area": "Canadian",
      "country": "Canada",
      "id": "52928",
      "name": "BeaverTails",
      "thumbnail": "https://www.themealdb.com/images/media/meals/ryppsv1511815505.jpg",
      "thumbnail_large": "https://www.themealdb.com/images/media/meals/ryppsv1511815505.jpg/large",
      "thumbnail_medium": "https://www.themealdb.com/images/media/meals/ryppsv1511815505.jpg/medium",
      "thumbnail_small": "https://www.themealdb.com/images/media/meals/ryppsv1511815505.jpg/small",
      "url": "https://www.themealdb.com/meal/52928"
    }
  ]
}
```

### List meals by category

List every meal in one category, such as Seafood, Dessert, or Vegan. Returns compact meal summaries.

**Inputs**

- Category (`category`, text, required): Pick a category, or reference a category name from a previous step.

**Outputs**

- `category` (text)
- `count` (number)
- `meals` (list)

**Example output**

```json
{
  "category": "Seafood",
  "count": 1,
  "meals": [
    {
      "area": null,
      "country": null,
      "id": "52959",
      "name": "Baked salmon with fennel & tomatoes",
      "thumbnail": "https://www.themealdb.com/images/media/meals/1548772327.jpg",
      "thumbnail_large": "https://www.themealdb.com/images/media/meals/1548772327.jpg/large",
      "thumbnail_medium": "https://www.themealdb.com/images/media/meals/1548772327.jpg/medium",
      "thumbnail_small": "https://www.themealdb.com/images/media/meals/1548772327.jpg/small",
      "url": "https://www.themealdb.com/meal/52959"
    }
  ]
}
```

### List meals by first letter

List every meal whose name begins with one letter, each in full. Useful for walking the whole database a letter at a time.

**Inputs**

- First letter (`letter`, text, required): The letter meal names must start with. One of: `A`, `B`, `C`, `D`, `E`, `F`, `G`, `H`, `I`, `J`, and 16 more.

**Outputs**

- `count` (number)
- `letter` (text)
- `meals` (list)

**Example output**

```json
{
  "count": 1,
  "letter": "A",
  "meals": [
    {
      "area": "British",
      "category": "Dessert",
      "country": "United Kingdom",
      "id": "52768",
      "ingredients": [
        {
          "measure": "175g/6oz",
          "name": "digestive biscuits"
        }
      ],
      "name": "Apple Frangipan Tart",
      "url": "https://www.themealdb.com/meal/52768"
    }
  ]
}
```

### List meals by ingredient

List every meal made with one ingredient. Returns compact meal summaries: chain 'Get a meal' on an id for the full recipe.

**Inputs**

- Ingredient (`ingredient`, text, required): Pick an ingredient, or reference an ingredient name from a previous step.

**Outputs**

- `count` (number)
- `ingredient` (text)
- `meals` (list)

**Example output**

```json
{
  "count": 1,
  "ingredient": "Chicken breast",
  "meals": [
    {
      "area": null,
      "country": "Belgium",
      "id": "53466",
      "name": "Belgian Waterzooi Chicken",
      "thumbnail": "https://www.themealdb.com/images/media/meals/nmxec11782498644.jpg",
      "thumbnail_large": "https://www.themealdb.com/images/media/meals/nmxec11782498644.jpg/large",
      "thumbnail_medium": "https://www.themealdb.com/images/media/meals/nmxec11782498644.jpg/medium",
      "thumbnail_small": "https://www.themealdb.com/images/media/meals/nmxec11782498644.jpg/small",
      "url": "https://www.themealdb.com/meal/53466"
    }
  ]
}
```

### List meals by several ingredients

List meals that contain all of the ingredients you pick (up to four): the 'what can I cook with what's in the fridge' search. A free test key returns a sample of the matches; a TheMealDB supporter key returns them all.

**Inputs**

- Ingredients (`ingredients`, list, required): Pick up to 4 ingredients; only meals containing every one of them are returned.

**Outputs**

- `count` (number)
- `ingredients` (list)
- `meals` (list)

**Example output**

```json
{
  "count": 1,
  "ingredients": [
    "Chicken breast",
    "Garlic"
  ],
  "meals": [
    {
      "area": null,
      "country": null,
      "id": "53466",
      "name": "Belgian Waterzooi Chicken",
      "thumbnail": "https://www.themealdb.com/images/media/meals/nmxec11782498644.jpg",
      "thumbnail_large": "https://www.themealdb.com/images/media/meals/nmxec11782498644.jpg/large",
      "thumbnail_medium": "https://www.themealdb.com/images/media/meals/nmxec11782498644.jpg/medium",
      "thumbnail_small": "https://www.themealdb.com/images/media/meals/nmxec11782498644.jpg/small",
      "url": "https://www.themealdb.com/meal/53466"
    }
  ]
}
```

### List popular meals

Get the meals TheMealDB currently features as popular, in full: a ready-made 'trending recipes' list.

**Inputs**: None.

**Outputs**

- `count` (number)
- `meals` (list)

**Example output**

```json
{
  "count": 1,
  "meals": [
    {
      "area": "Greek",
      "category": "Seafood",
      "country": "Greece",
      "id": "52764",
      "ingredients": [
        {
          "measure": "500g",
          "name": "Prawns"
        }
      ],
      "name": "Garides Saganaki",
      "tags": [],
      "url": "https://www.themealdb.com/meal/52764"
    }
  ]
}
```

### Search meals

Search TheMealDB for meals whose name contains your search text, and get each match in full: category, cuisine, instructions, the ingredient list with measures, images, and the recipe video and source links.

**Inputs**

- Meal name (`name`, text, required): Full or partial meal name, for example 'Arrabiata' or 'chicken'.

**Outputs**

- `count` (number)
- `meals` (list)
- `query` (text)

**Example output**

```json
{
  "count": 1,
  "meals": [
    {
      "alternate_name": null,
      "area": "Italian",
      "category": "Vegetarian",
      "country": "Italy",
      "creative_commons_confirmed": null,
      "date_modified": null,
      "id": "52771",
      "image_source": null,
      "ingredients": [
        {
          "measure": "1 pound",
          "name": "penne rigate"
        },
        {
          "measure": "1/4 cup",
          "name": "olive oil"
        }
      ],
      "instructions": "Bring a large pot of water to a boil...",
      "name": "Spicy Arrabiata Penne",
      "source_url": null,
      "tags": [
        "Pasta",
        "Curry"
      ],
      "thumbnail": "https://www.themealdb.com/images/media/meals/ustsqw1468250014.jpg",
      "thumbnail_large": "https://www.themealdb.com/images/media/meals/ustsqw1468250014.jpg/large",
      "thumbnail_medium": "https://www.themealdb.com/images/media/meals/ustsqw1468250014.jpg/medium",
      "thumbnail_small": "https://www.themealdb.com/images/media/meals/ustsqw1468250014.jpg/small",
      "url": "https://www.themealdb.com/meal/52771",
      "youtube_url": "https://www.youtube.com/watch?v=1IszT_guI08"
    }
  ],
  "query": "Arrabiata"
}
```
