Ifood Restaurant Scraper
Pricing
$16.90 / 1,000 results
Ifood Restaurant Scraper
Extracts restaurant data from iFood Brazil—including profiles, menus, prices, and ratings—with location-based search and clean, structured JSON output.
Pricing
$16.90 / 1,000 results
Rating
5.0
(2)
Developer

Yasmany Grijalba Casanova
Actor stats
6
Bookmarked
75
Total users
16
Monthly active users
2.5 hours
Issues response
4 days ago
Last modified
Categories
Share
Extract comprehensive restaurant data from iFood — the largest food delivery platform in Latin America.
Table of Contents
- Quick Start
- Features
- Use Cases
- How It Works
- Input Parameters
- Operation Modes
- Output Examples
- Data Fields
- Integrations
- How to Get Coordinates
- Important Notes
- FAQ
- Support
Quick Start
Get started in three simple steps:
Step 1: Find restaurants in São Paulo
{"mode": "stores","latitude": "-23.5608786","longitude": "-46.6570743"}
Step 2: Get restaurant details
{"mode": "store_info","latitude": "-23.5608786","longitude": "-46.6570743","store_id": "f1b60ced-d490-499f-976b-6d3d717d927e"}
Step 3: Extract the menu
{"mode": "menu","latitude": "-23.5608786","longitude": "-46.6570743","store_id": "f1b60ced-d490-499f-976b-6d3d717d927e"}
Tip: Use
storesmode first to discover restaurant IDs, then use those IDs forstore_info,menu, andreviewsmodes.
Features
| Feature | Description |
|---|---|
| 100+ Restaurants per Request | Get up to 100 restaurants in any Brazilian location |
| Complete Menu Data | Full menus with prices, descriptions, and customization options |
| Detailed Store Profiles | Address, ratings, delivery info, and operating hours |
| Customer Reviews | Extract customer reviews with ratings, comments, and dates |
| Real-Time Data | Fresh data directly from iFood's platform |
| Structured JSON Output | Clean, validated data ready for analysis |
Use Cases
How It Works
+------------------+ +------------------+ +------------------+ +------------------+| STEP 1 | | STEP 2 | | STEP 3 | | STEP 4 || Search |--->| Store Info |--->| Menu |--->| Reviews || Stores | | Details | | Extraction | | Feedback |+------------------+ +------------------+ +------------------+ +------------------+| | | |v v v vUp to 100 Complete store Full menu with Customer reviewsrestaurants information prices and items with ratings
Step 1: Search Restaurants
Find restaurants in any Brazilian location using coordinates:
{"mode": "stores","latitude": "-23.5608786","longitude": "-46.6570743"}
Returns: Up to 100 restaurants with name, ratings, delivery fees, distance, and availability.
Step 2: Get Restaurant Details
Use the store_id from Step 1 to get complete restaurant information:
{"mode": "store_info","latitude": "-23.5608786","longitude": "-46.6570743","store_id": "f1b60ced-d490-499f-976b-6d3d717d927e"}
Returns: Full address, ratings, delivery times, minimum order value, and more.
Step 3: Get Complete Menu
Extract the full menu with all items and prices:
{"mode": "menu","latitude": "-23.5608786","longitude": "-46.6570743","store_id": "f1b60ced-d490-499f-976b-6d3d717d927e"}
Returns: Categories, items, prices, descriptions, images, and customization options.
Step 4: Get Customer Reviews
Extract customer reviews and ratings:
{"mode": "reviews","latitude": "-23.5608786","longitude": "-46.6570743","store_id": "f1b60ced-d490-499f-976b-6d3d717d927e","maxReviews": 100}
Returns: Customer reviews with names, ratings, comments, and dates.
Input Parameters
Required Parameters
| Parameter | Type | Description |
|---|---|---|
mode | string | Operation mode: stores, store_info, menu, or reviews |
latitude | string | Location latitude (e.g., "-23.5608786") |
longitude | string | Location longitude (e.g., "-46.6570743") |
Mode-Specific Parameters
| Parameter | Type | Required For | Description |
|---|---|---|---|
store_id | string | store_info, menu, reviews | Restaurant UUID from stores mode |
maxReviews | integer | reviews | Maximum reviews to fetch (1-1000, default: 100) |
Optional Parameters
| Parameter | Default | Description |
|---|---|---|
maxRetries | 3 | Retry attempts for failed requests |
timeout | 30 | Request timeout in seconds |
Proxy Configuration
| Parameter | Default | Description |
|---|---|---|
useApifyProxy | false | Enable Apify Proxy for better reliability |
proxyGroups | ["RESIDENTIAL"] | Proxy group - RESIDENTIAL recommended |
proxyCountry | BR | Proxy country code (BR recommended for iFood) |
Note: Proxy is optional but recommended for production use. Proxy usage is billed separately to your Apify account.
Operation Modes
| Mode | Description | Required Parameters | Output |
|---|---|---|---|
stores | Search restaurants by location | latitude, longitude | Up to 100 restaurants |
store_info | Get restaurant details | latitude, longitude, store_id | Complete store profile |
menu | Get menu items with prices | latitude, longitude, store_id | Full menu with categories |
reviews | Get customer reviews | latitude, longitude, store_id | Reviews with ratings and comments |
Output Examples
Stores Mode
{"mode": "stores","data": [{"name": "Pizza Hut - Paraíso","segment": "Pizza","store_id": "f1b60ced-d490-499f-976b-6d3d717d927e","available": "S","distance": 1.28,"user_rating": 4.7,"fee": 899,"time_min_minutes": 25,"time_max_minutes": 35,"is_ifood_delivery": true}],"metadata": {"items_count": 100,"scraped_at": "2026-01-21T14:00:00.000Z"}}
Store Info Mode
{"mode": "store_info","data": {"store_id": "f1b60ced-d490-499f-976b-6d3d717d927e","name": "Pizza Hut - Paraíso","main_category": "Pizza","city": "São Paulo","district": "Jardim Paulista","state": "SP","street_name": "Av Brigadeiro Luis Antonio","street_number": "2893","zip_code": "01401000","user_rating": 4.7,"user_rating_count": 555,"delivery_fee": 8.99,"delivery_time": 33}}
Menu Mode
{"mode": "menu","data": {"store_id": "f1b60ced-d490-499f-976b-6d3d717d927e","categories": [{"name": "Pizzas Tradicionais","items_count": 15,"items": [{"description": "Pizza Marguerita","details": "Molho de tomate, mussarela e manjericão","unit_price": 45.90,"logo_url": "https://static.ifood-static.com.br/...","choices": [{"name": "Escolha sua massa","garnish_items": [{"description": "Massa tradicional", "unit_price": 0.0},{"description": "Massa pan", "unit_price": 5.0}]}]}]}]}}
Reviews Mode
{"mode": "reviews","data": {"store_id": "f1b60ced-d490-499f-976b-6d3d717d927e","total_reviews_available": 3808,"reviews_fetched": 100,"reviews": [{"customer_name": "Maximo","rating": 4.0,"grade": 4.0,"comment": "Comprei Grande, mas, tamanho menor, não é grande","comment_date": "2026-01-09T23:36:55.725000+00:00","order_date": "2026-01-09T22:41:29.799000+00:00","order_number": 3635,"status": "ACE","moderated": false},{"customer_name": "Mozart","rating": 5.0,"grade": 5.0,"comment": "Excelente pizza","comment_date": "2025-12-23T23:48:30.834000+00:00","order_date": "2025-12-23T22:39:09.072000+00:00","order_number": 1713,"status": "ACE","moderated": false}]}}
Data Fields
Stores Mode
| Field | Type | Description |
|---|---|---|
name | string | Restaurant name |
segment | string | Food category (Pizza, Japanese, etc.) |
store_id | string | Unique restaurant identifier (UUID) |
available | string | Open/closed status ("S" = open) |
distance | number | Distance in kilometers |
user_rating | number | Average rating (0-5 stars) |
fee | number | Delivery fee in cents (899 = R$8.99) |
time_min_minutes | number | Minimum delivery time (minutes) |
time_max_minutes | number | Maximum delivery time (minutes) |
is_ifood_delivery | boolean | iFood delivery vs restaurant delivery |
Store Info Mode
| Field | Type | Description |
|---|---|---|
name | string | Restaurant name |
main_category | string | Primary food category |
city | string | City name |
state | string | State abbreviation |
district | string | Neighborhood/district |
street_name | string | Street name |
street_number | string | Street number |
zip_code | string | Postal code |
latitude | number | Restaurant latitude |
longitude | number | Restaurant longitude |
user_rating | number | Average rating (0-5 stars) |
user_rating_count | number | Total number of ratings |
delivery_fee | number | Delivery fee in BRL |
delivery_time | number | Estimated delivery time (minutes) |
minimum_order_value | number | Minimum order amount in BRL |
Menu Mode
| Field | Type | Description |
|---|---|---|
categories | array | Menu sections |
items | array | Products in each category |
description | string | Item name |
details | string | Item description |
unit_price | number | Item price in BRL |
logo_url | string | Item image URL |
choices | array | Customization options (sizes, extras) |
garnish_items | array | Individual options with prices |
Reviews Mode
| Field | Type | Description |
|---|---|---|
total_reviews_available | number | Total reviews for the restaurant |
reviews_fetched | number | Number of reviews returned |
customer_name | string | Customer's first name |
rating | number | Rating (1-5 stars) |
grade | number | Grade given |
comment | string | Customer comment (if any) |
comment_date | string | When the review was posted (ISO 8601) |
order_date | string | When the order was placed (ISO 8601) |
order_number | number | Order reference number |
status | string | Review status |
moderated | boolean | Whether review was moderated |
Integrations
Use the API tab on the Actor page to get ready-to-use code examples in Python, JavaScript, and cURL. The examples are auto-generated with the correct parameters for immediate integration.
How to Get Coordinates
Option 1: Google Maps
- Open Google Maps
- Right-click on any location in Brazil
- Click on the coordinates to copy them
- Use the first number as
latitudeand second aslongitude
Option 2: Use Common City Coordinates
| City | Latitude | Longitude |
|---|---|---|
| São Paulo (Centro) | -23.5608786 | -46.6570743 |
| Rio de Janeiro | -22.9068467 | -43.1728965 |
| Belo Horizonte | -19.9166813 | -43.9344931 |
| Brasília | -15.7942287 | -47.8821658 |
| Curitiba | -25.4289541 | -49.2671340 |
| Salvador | -12.9714 | -38.5124 |
| Fortaleza | -3.7172 | -38.5433 |
| Recife | -8.0476 | -34.8770 |
| Porto Alegre | -30.0346 | -51.2177 |
| Manaus | -3.1190 | -60.0217 |
Important Notes
| Topic | Details |
|---|---|
| Region | Brazil only — iFood operates exclusively in Brazil |
| Proxy | Optional but recommended for production use (BR residential) |
| Stores Limit | stores mode returns maximum 100 restaurants per request |
| Store ID | Use UUIDs from stores mode for other operations |
| Coordinates | Required for all modes — use Brazilian coordinates |
| One Request Per Run | Each run executes one operation |
FAQ
Support
Having issues? Here is how to get help:
- Check the FAQ above for common solutions
- Review your input parameters to ensure they match the required format
- Test with default values to ensure the actor is working
- Contact support through Apify for additional assistance