iFood Scraper — Menus, Reviews, CNPJ & Address
Pricing
from $15.00 / 1,000 restaurant scrapeds
iFood Scraper — Menus, Reviews, CNPJ & Address
iFood restaurants from delivery URLs or city/address search. One row per store: name, rating, CNPJ, address, hours, menu items with prices when the catalog answers, and optional reviews. Brazil marketplace data for competitive research, dark-kitchen scouting, and store audits.
Pricing
from $15.00 / 1,000 restaurant scrapeds
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
42
Total users
18
Monthly active users
2 days ago
Last modified
Categories
Share
Turn iFood delivery URLs — or a city + address search — into one restaurant row: name, rating, CNPJ, street address, phone, hours, menu items with prices when the catalog answers, and optional customer reviews.
Brazil marketplace records. One billed row per restaurant.
How it works

Why Use This Scraper?
- CNPJ on the row. Company tax id comes with the street address — useful for matching a store to a legal entity.
- Hours and phone included. Weekday opening windows and the store phone, not just the card rating.
- Delivery URLs or raw UUIDs. The same
{city}/{slug}/{uuid}link you copy from ifood.com.br, or the merchant id alone. - One row per restaurant. No menu-item explosion, no join keys. Name, geo, and documents sit on the same record.
- Menus and reviews on the same row. Turn on
includeMenuandincludeReviewsand the dishes, prices and customer comments land next to the CNPJ and address.menuSourcetells you whether a menu came back. - Find restaurants by city. Name a city and, if you like, a dish such as pizza; matching restaurants come first. No links needed.
Overview
Built for researchers, dark-kitchen operators, and agencies that need the public merchant card plus extra (address, CNPJ, hours), optional reviews, and menu items when the catalog answers. Paste delivery URLs or search by city + address. Each restaurant becomes at most one dataset row.
Supported Inputs
| Input | Example | Returns |
|---|---|---|
| Delivery URL | https://www.ifood.com.br/delivery/curitiba-pr/ponto-da-pizza---boa-vista-santa-candida/f7cdb6c5-ea33-4967-af51-76fd85a83ea3 | That restaurant |
| Merchant UUID | f7cdb6c5-ea33-4967-af51-76fd85a83ea3 | Same restaurant, URL rebuilt from the slug |
City search: city (curitiba-pr or Curitiba, PR), optionally with a dish or name in query and a street in address. Used only when restaurantUrls is empty.
Not supported: logged-in prices, or other delivery apps such as PedidosYa and Rappi.
Use Cases
| You are a… | Use it to… |
|---|---|
| Market researcher | Build a store list with CNPJ + neighborhood for a city you already sampled |
| Competitor analyst | Track rating, min order, and hours on a fixed set of restaurants |
| Dark-kitchen operator | Confirm legal entity and address for nearby iFood stores |
| Agency / data team | Enrich a spreadsheet of iFood links before a client report |
How It Works
- Resolve restaurants from delivery URLs / UUIDs, or from
city+address+querysearch. - Fetch the merchant card from iFood's public marketplace API (
/v1/merchants/{uuid}?channel=IFOOD). - Fetch the extra record (address, CNPJ, phone, hours) when
includeExtrais on. - Fetch the catalog when
includeMenuis on. Empty catalogs land asmenuSource: unavailable. - Fetch evaluations when
includeReviewsis on. - Merge into one restaurant row and push it. Base charge is per restaurant; extra / menu / reviews are billed only when those fields actually land.
Input Configuration
| Field | Type | Description |
|---|---|---|
restaurantUrls | array | Restaurant links or the id at the end of one. While filled, the city search is not used. |
query | string | Dish or restaurant name (pizza); matching restaurants come first. City search only. |
address | string | Street in the city, used when the city alone finds nothing. City search only. |
city | string | curitiba-pr or Curitiba, PR. City search only. |
includeExtra | boolean | Street address, CNPJ, phone, hours. Charged only when at least one comes back. Default true. |
includeReviews | boolean | Customer reviews. Charged once per restaurant, not per review. Default false. |
includeMenu | boolean | Dishes with prices. Charged only when menu[] has at least one dish. Default true. |
maxMenuItems | integer | Most dishes kept per restaurant while menuMode is limited. Default 50. |
menuMode | string | limited (up to maxMenuItems) or all. Default limited. |
maxRestaurants | integer | Restaurants in total, each a charged row. Default 50. |
maxConcurrency | integer | Restaurants read at once, 1–8. Default 4. |
One restaurant
{"restaurantUrls": ["https://www.ifood.com.br/delivery/curitiba-pr/ponto-da-pizza---boa-vista-santa-candida/f7cdb6c5-ea33-4967-af51-76fd85a83ea3"],"maxRestaurants": 1}
Several stores, card only
{"restaurantUrls": ["f7cdb6c5-ea33-4967-af51-76fd85a83ea3","bc5292a6-d4e4-4cd4-b108-0ed1ac110882"],"includeExtra": false,"includeMenu": false,"maxRestaurants": 2}
Reviews + city search
{"city": "curitiba-pr","query": "pizza","includeReviews": true,"maxRestaurants": 10}
Output Overview
The dataset holds one row per restaurant. Identity, rating, category, and availability come from the merchant card. Street address, CNPJ, phone, and weekday hours come from the extra record. Menu items and reviews sit on the same row when those flags are on. Fields iFood does not publish stay null or [].
Output Samples
Delivery URL → Ponto da Pizza - Boa Vista (Curitiba):
{"uuid": "f7cdb6c5-ea33-4967-af51-76fd85a83ea3","shortId": 178028,"name": "Ponto da Pizza - Boa Vista","slug": "curitiba-pr/ponto-da-pizza---boa-vista-santa-candida","url": "https://www.ifood.com.br/delivery/curitiba-pr/ponto-da-pizza---boa-vista-santa-candida/f7cdb6c5-ea33-4967-af51-76fd85a83ea3","city": "curitiba-pr","description": "Pizzaria Forno Esteira, Trabalhamos com Pizzas e Calzones.","category": "Pizza","priceRange": "EXPENSIVE","currency": "BRL","rating": 4.9,"reviewsCount": 803,"available": true,"minimumOrderValue": 25,"address": "Rua Fernando de Noronha, 735, SANTA CANDIDA, CURITIBA - PR, 82640350","street": "Rua Fernando de Noronha","streetNumber": "735","district": "SANTA CANDIDA","cityName": "CURITIBA","state": "PR","zipCode": "82640350","phone": "+55 41 32561523","cnpj": "17636410000126","openingHours": [{ "dayOfWeek": "MONDAY", "start": "18:00:00", "durationMinutes": 315 }],"menu": [],"menuItemCount": 0,"menuSource": "unavailable","reviews": [{"customerName": "Diego","rating": 5,"comment": "Adoro perfeito","commentedAt": "2026-09-28T22:16:30.940Z","visible": false}],"reviewAverages": [{ "title": "Embalagem", "grade": 4.9, "count": 803 }]}
Key Output Fields
Identity: uuid, shortId, name, slug, url, city, description, category, logoUrl, coverUrl
Commerce: priceRange, currency, rating, reviewsCount, available, minimumOrderValue, deliveryFee, deliveryFeeOriginal, deliveryTime, distance, features, paymentCodes
Legal / location: cnpj, address, street, streetNumber, streetCompl, district, cityName, state, zipCode, country, latitude, longitude
Contact / hours: phone, areaCode, openingHours[]
Menu: menu[], menuItemCount, menuSource, avgMenuPrice, cheapestPrice, mostExpensivePrice, cheapestItem, mostExpensiveItem
Reviews: reviews[], reviewAverages[], recentReviewsCount
FAQ
Do I need an iFood account? No. The actor reads public marketplace records.
Can I search a city for pizza? Yes: set city and query, and leave restaurantUrls empty. If no restaurant turns up, the run fails with 0 rows.
Where is the menu? includeMenu: true (default). When the catalog answers you get menu[] plus avgMenuPrice / cheapest / most expensive. When it is blocked, menuSource is unavailable and menu is [] — the restaurant row still bills.
Are reviews billed one-by-one? No. One restaurant-reviews event per restaurant when reviews[] is non-empty. Extra and menu work the same way — billed only when the data is on the row.
What if a URL is dead? That restaurant is skipped and not billed. A run with zero successful rows fails.
Is CNPJ always present? When includeExtra is true and iFood publishes documents for that merchant. Ghost kitchens sometimes omit it.
Support
Open an issue on the Apify Store listing or email contact@data-slayer.com.
Additional Services
Need a custom export, a scheduled city monitor, or a merge with another delivery marketplace? Email the same address with the store list and the fields you need.
Explore More Scrapers
- Uber Eats Full Menu & Reviews
- Talabat — Restaurants, Menus, Prices
- Swiggy — Restaurants, Ratings & Offers
- Zomato — Restaurants, Ratings & Reviews
🤖 For AI Agents & LLM Apps
Compact reference for agents calling this actor via the Apify MCP server or the Apify API (memo23/ifood-scraper).
Purpose: Public iFood restaurant records in Brazil. URL mode or city/address search. One row per store, with CNPJ/address/hours, optional menu, optional reviews.
Minimal input:
{"restaurantUrls": ["https://www.ifood.com.br/delivery/curitiba-pr/ponto-da-pizza---boa-vista-santa-candida/f7cdb6c5-ea33-4967-af51-76fd85a83ea3"],"includeReviews": true,"maxRestaurants": 5}
Output: one row per restaurant — uuid, name, url, city, category, rating, reviewsCount, cnpj, address, phone, openingHours[], menu[{id, name, details, section, price, originalPrice, imageUrl}], menuSource, avgMenuPrice, reviews[{customerName, rating, comment, commentedAt}], reviewAverages[], scrapedAt.
Behaviors an agent should know:
- Always set
maxRestaurants. Each written row is billed ($0.015). Extra ($0.005), menu ($0.010), and reviews ($0.005) fire only when those fields are non-empty. restaurantUrlswins overcity/address/query.includeReviewsdefaults false.includeMenudefaults true.menuSourceiscatalog,catalog-search,empty, orunavailable.- Failed URLs are skipped and not billed. Zero successful rows fail the run.
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by iFood.com Agência de Restaurantes Online S.A. or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.
The scraper accesses only publicly available iFood marketplace records — no authenticated endpoints, paid features, or content behind the ifood.com.br login wall. Users are responsible for ensuring their use complies with ifood.com.br's Terms of Service, applicable data-protection law (LGPD, GDPR, CCPA, etc.), and any contractual obligations of their own organization.
SEO Keywords
ifood scraper, ifood restaurant scraper, ifood menu scraper, ifood reviews, ifood cnpj, ifood address, ifood delivery url, brazilian restaurant data, ifood marketplace, dark kitchen research, ifood store hours, ifood phone, food delivery intelligence, sao paulo restaurant data, ifood merchant uuid, restaurant competitive intelligence, brazil food delivery