iFood Restaurant Scraper — CNPJ, Address & Hours
Pricing
from $15.00 / 1,000 restaurant scrapeds
iFood Restaurant Scraper — CNPJ, Address & Hours
Turn iFood delivery URLs into one restaurant row each: name, rating, category, CNPJ, street address, phone, and weekday hours. Paste store links or merchant UUIDs. Built for Brazil marketplace research, dark-kitchen scouting, and store-level audits. No menus in this version.
Pricing
from $15.00 / 1,000 restaurant scrapeds
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
iFood Scraper — Menus, Reviews, CNPJ & Address
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.
includeMenu/includeReviewsmatch the other iFood Store actors. CheckmenuSource— catalog can come back empty when iFood blocks it. - City + address search. Same
sao-paulo-sp+Av Paulista 1000+queryshape as the listing next door. Falls back to URL mode if search returns nothing.
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/sao-paulo-sp/bubblekill-patio-paulista-bela-vista/5024be82-d729-41b9-a64f-d44ba306f232 | That restaurant |
| Merchant UUID | 5024be82-d729-41b9-a64f-d44ba306f232 | Same restaurant, URL rebuilt from the slug |
Search mode: city (sao-paulo-sp) + optional address + query. Used only when restaurantUrls is empty.
Not supported: logged-in prices, downloading every menu photo to the Key-Value Store, or PedidosYa / 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 | Delivery URLs or merchant UUIDs. Skips search when filled. |
city | string | City slug (sao-paulo-sp). Search mode only. |
address | string | Delivery address for geocoding. Search mode only. |
query | string | Cuisine / name filter (pizza). Search mode only. |
maxRestaurants | integer | Cap on rows (and charges). Default 50. |
includeMenu | boolean | Menu items + prices. Billed only when menu[] is non-empty. Default true. |
menuMode | string | limited or all. Default limited. |
maxMenuItems | integer | Cap per restaurant in limited mode. Default 50. |
includeReviews | boolean | Customer evaluations. Billed once per restaurant, not per review. Default false. |
includeExtra | boolean | Address, CNPJ, phone, hours. Billed when at least one of those lands. Default true. |
maxConcurrency | integer | Parallel fetches, 1–8. Default 4. |
One restaurant
{"restaurantUrls": ["https://www.ifood.com.br/delivery/sao-paulo-sp/bubblekill-patio-paulista-bela-vista/5024be82-d729-41b9-a64f-d44ba306f232"],"maxRestaurants": 1}
Several stores, card only
{"restaurantUrls": ["5024be82-d729-41b9-a64f-d44ba306f232","bca94461-58e3-4a70-b142-8f8694133838"],"includeExtra": false,"includeMenu": false,"maxRestaurants": 2}
Reviews + city search
{"city": "sao-paulo-sp","address": "Av Paulista 1000","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 → Bubblekill Pátio Paulista (São Paulo):
{"uuid": "5024be82-d729-41b9-a64f-d44ba306f232","shortId": 2125042,"name": "Bubblekill Pátio Paulista","slug": "sao-paulo-sp/bubblekill-patio-paulista-bela-vista","url": "https://www.ifood.com.br/delivery/sao-paulo-sp/bubblekill-patio-paulista-bela-vista/5024be82-d729-41b9-a64f-d44ba306f232","city": "sao-paulo-sp","description": "Bubble Tea","category": "Casa de Sucos","priceRange": "CHEAPEST","currency": "BRL","rating": 5,"reviewsCount": 61,"available": true,"minimumOrderValue": 10,"address": "Rua Treze de Maio, 1947, Pátio Paulista - 3º Piso, Bela Vista, SAO PAULO - SP, 01327900","street": "Rua Treze de Maio","streetNumber": "1947","district": "Bela Vista","cityName": "SAO PAULO","state": "SP","zipCode": "01327900","cnpj": "44918087000156","phone": "+55 11 40032665","openingHours": [{ "dayOfWeek": "MONDAY", "start": "11:00:00", "durationMinutes": 600 }],"menu": [],"menuItemCount": 0,"menuSource": "unavailable","reviews": [{"customerName": "Ana","rating": 5,"comment": "Pedido chegou quente.","commentedAt": "2026-08-12T18:22:00.000Z"}],"reviewAverages": [{ "title": "Comida", "grade": 4.8, "count": 40 }]}
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 — city, address, query. If iFood's search API is blocked that run, the actor fails with 0 rows unless you also passed restaurantUrls.
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 once search is possible again, 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/sao-paulo-sp/bubblekill-patio-paulista-bela-vista/5024be82-d729-41b9-a64f-d44ba306f232"],"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