ParseForge Scrapers

TheMealDB Recipes Scraper

parseforge/themealdb-recipes-scraper

EducationOtherAutomation

Scrapes recipes from TheMealDB by search, category, area, ingredient, or random. Returns each recipe as a flat row with ingredients, instructions, image, and YouTube link.

Run this scraper See the API call
Total users
1
Monthly active
0
Total runs
128
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

TheMealDB Recipes Scraper

Scrape recipes from TheMealDB by name, category, cuisine, or ingredient, up to a million per run. Every recipe comes with its ingredients, instructions, image, and YouTube link. No API key. Export to JSON, CSV, Excel, or XML.

TheMealDB is a free recipe database with over 600 meals from around the world. This Actor reads its public API directly, so you can search by recipe name, browse by category, area, or ingredient, or pull random meals without registering for a key. Each result is returned as one flat row with the full ingredient list, step-by-step instructions, and media links.

Who uses it What they scrape TheMealDB for
Food bloggers Build a recipe index for their niche cuisine
Meal planning apps Populate a database of recipes with ingredients and instructions
Data analysts Study ingredient combinations across world cuisines
Chefs and cooking schools Curate a teaching library of recipes by category

What it does

This Actor collects recipes from TheMealDB by search, category, area, ingredient, or random selection, and returns each recipe as one flat row.

  • ๐Ÿ” Search by name: find recipes whose title matches your query, like Arrabiata or Chicken.
  • ๐Ÿ—‚๏ธ Browse by category: get all recipes in a category such as Seafood or Dessert.
  • ๐ŸŒ Browse by area/cuisine: filter by world cuisine like Italian or Japanese.
  • ๐Ÿฅ• Browse by ingredient: list recipes that use a specific ingredient, e.g. chicken_breast.
  • ๐ŸŽฒ Random meals: fetch random recipes for inspiration or sampling.
  • ๐Ÿ“‹ List metadata: get all categories, areas, or ingredients available on TheMealDB.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with TheMealDB data

๐Ÿ“š Build a recipe database.

A food startup runs the Actor in allMeals mode to collect the full TheMealDB catalog and seed their app's recipe search.

๐ŸŒ Analyze world cuisines.

A data analyst uses byArea mode to pull all Italian recipes and compare ingredient frequencies against Japanese recipes.

๐Ÿฅ— Plan weekly menus.

A meal planning service uses byIngredient mode to find recipes that use ingredients their users already have.

๐ŸŽฒ Generate recipe ideas.

A cooking blog runs random mode daily to feature a surprise recipe and keep content fresh.

Why choose this scraper

What you get
No API key TheMealDB's public API is free and open, so you can start scraping immediately.
Full recipe data Each row includes the ingredient list with measures, step-by-step instructions, image URL, and YouTube link.
Flexible modes Search, browse, or randomize to fit your data collection needs.
Scalable Collect up to 1,000,000 recipes in a single run.

How it compares

This Actor covers all TheMealDB modes and returns complete recipe data, while competitors vary in their focus.

Feature ParseForge Themealdb Recipe Scraper TheMealDB Recipe Database - Data Scraper TheMealDB Recipe Scraper
Search by recipe name Yes Yes Yes Yes
Browse by category Yes Yes Not listed Yes
Browse by area/cuisine Yes Yes Not listed Yes
Browse by ingredient Yes Not listed Not listed Yes
Random meals Yes Yes Not listed Not listed
List categories/areas/ingredients Yes Yes Not listed Not listed
Full ingredient list with measures Yes Yes Yes Yes
Step-by-step instructions Yes Yes Yes Yes
YouTube link Yes Yes Not listed Not listed
No API key required Yes Not listed Not listed Yes

Configure the run

Drive the Actor from a search term, a category, an area, or an ingredient, and set a maximum number of recipes to collect per run. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10,
  "mode": "byCategory",
  "query": "Chicken"
}

A larger pull:

{
  "maxItems": 200,
  "mode": "byCategory",
  "query": "Chicken"
}

Pricing

Pay-per-result: $0.01333 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $1.33
1,000 results $13.33
10,000 results $133.30

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the TheMealDB Recipes Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to TheMealDB through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/themealdb-recipes-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check your query. For search mode, try a simpler term like Chicken. For browse modes, use exact values from the list modes, e.g. Italian for area or Seafood for category.

Why did the run stop before reaching maxItems?

TheMealDB may not have enough recipes matching your filter. Try a broader category or search term, or use allMeals mode to get the full catalog.

Why are some fields empty?

Not all recipes have a YouTube link or image. TheMealDB data is community-sourced, so some fields may be missing for certain recipes.

Can I get more than 600 recipes?

TheMealDB currently has around 600 recipes. If you need more, consider combining with other recipe sources or waiting for database updates.

FAQ

Question Answer
Do I need an API key to scrape TheMealDB? No. TheMealDB offers a free public API, and this Actor uses it directly without any registration or key.
How many recipes can I scrape in one run? You can set maxItems up to 1,000,000. The full TheMealDB catalog is around 600 recipes, so one run can collect everything.
What data does each recipe include? Each recipe row includes the name, category, area, instructions, ingredient list with measures, image URL, and YouTube link if available.
Can I search by ingredient? Yes. Use byIngredient mode and provide the ingredient name, like chicken_breast. The Actor returns all recipes that use it.
What is the difference between search and browse modes? Search mode looks for recipes by name. Browse modes filter by category, area, or ingredient. Random mode returns random recipes.
Can I list all categories or areas? Yes. Use categoriesList, areasList, or ingredientsList modes to get the available filter values.
What output formats are supported? The Actor exports to JSON, CSV, Excel, and XML, so you can use the data in any tool.
Is the data from TheMealDB reliable? TheMealDB is a community-maintained database. Recipes are generally accurate, but always verify before publishing.
Can I schedule this Actor to run regularly? Yes. On Apify, you can schedule runs daily, weekly, or at any interval to keep your recipe data fresh.
Does this Actor scrape the website or use the API? It uses TheMealDB's official public JSON API, which is faster and more reliable than scraping HTML.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by TheMealDB. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
maxItems integer How many recipes to collect per run. 10
mode string (9 options) search by name, byCategory/byArea/byIngredient, random, or list (categories/areas/ingredients). byCategory
query string Search term (search mode) or filter value (byCategory/byArea/byIngredient). Examples: `Arrabiata` (search), `Seafood` (category), `Italian` (area), `chicken_breast` (ingredient). Chicken

Pricing

from $10.00 per 1,000 results

Charged forWhat it isPrice each
Result item Charged per record successfully returned in the dataset. $0.01 to $0.01333

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~themealdb-recipes-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run TheMealDB Recipes Scraper on Apify All scrapers