Ifood Menu Scraper avatar

Ifood Menu Scraper

Pricing

from $25.00 / 1,000 menu-scrapeds

Go to Apify Store
Ifood Menu Scraper

Ifood Menu Scraper

Extract complete restaurant menus from iFood Brazil: categories, dish names, descriptions, prices, images, and customization options. Works with store IDs from the iFood Store Finder.

Pricing

from $25.00 / 1,000 menu-scrapeds

Rating

0.0

(0)

Developer

priscila s

priscila s

Maintained by Community

Actor stats

1

Bookmarked

4

Total users

1

Monthly active users

6 days ago

Last modified

Share

Apify actor that extracts full restaurant menus from iFood (Brazil's largest food delivery platform) given store IDs.

Use in combination with the iFood Store Finder actor to first discover stores, then extract their menus.

Features

  • Extract complete restaurant menus with categories, items, prices, and descriptions
  • Customization options (choices, garnish items) with prices
  • Image URLs for menu items
  • Batch processing of multiple store IDs
  • Optional Apify Proxy support for reliability

Input

ParameterTypeRequiredDefaultDescription
store_idsstring[]YesOne or more iFood store UUIDs
latitudestringYes"-23.5608786"Reference latitude
longitudestringYes"-46.6570743"Reference longitude
use_apify_proxybooleanNofalseEnable Apify residential proxy
proxy_countrystringNo"BR"Proxy country code

Example Input

{
"store_ids": [
"f1b60ced-d490-499f-976b-6d3d717d927e",
"74dde208-f99c-4e06-bb90-2bbbfaffeb7e"
],
"latitude": "-23.5608786",
"longitude": "-46.6570743"
}

Output

Each record in the dataset represents one restaurant's full menu:

{
"store_id": "f1b60ced-d490-499f-976b-6d3d717d927e",
"store_name": "Pizza Hut - Paraíso",
"categories_count": 8,
"total_items": 42,
"categories": [
{
"name": "Pizzas Tradicionais",
"items_count": 15,
"items": [
{
"name": "Pizza Marguerita",
"description": "Molho de tomate, mussarela e manjericão",
"price": 45.90,
"original_price": 45.90,
"image_url": "https://static.ifood-static.com.br/...",
"needs_choices": true,
"choices": [
{
"name": "Escolha sua massa",
"min": 1,
"max": 1,
"options": [
{"name": "Massa tradicional", "price": 0.0},
{"name": "Massa pan", "price": 5.0}
]
}
]
}
]
}
]
}

How It Works

  1. For each store ID, fetches merchant info from iFood's marketplace API to get the restaurant slug
  2. Loads the restaurant page at ifood.com.br/delivery/{slug} via HTTP
  3. Extracts the embedded JSON state (Next.js __NEXT_DATA__ or <script type="application/json">)
  4. Parses and normalizes the menu into a clean, structured format
  5. Pushes the result to the Apify dataset

Workflow

iFood Store Finder --> store_ids --> iFood Menu Scraper --> Full menu data
(city, state, category) (store_ids, lat, lon)

Notes

  • The latitude and longitude should match the location used in the Store Finder
  • iFood requires location context for delivery/availability info
  • Some restaurants may have incomplete menu data on iFood
  • Rate limiting is built-in to avoid being blocked