Glovo Scraper — Restaurants, Stores & Product Prices
Pricing
from $1.20 / 1,000 result scrapeds
Glovo Scraper — Restaurants, Stores & Product Prices
Scrape Glovo across Spain, Italy, Portugal and Eastern Europe: restaurant and store listings with ratings and delivery times, plus full menu and product prices per store. No login, no cookies.
Pricing
from $1.20 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scrape Glovo (glovoapp.com) across Spain, Italy, Portugal, Poland, Romania, Greece, Ukraine, Kazakhstan, Morocco and its other markets: store/restaurant directories with ratings, delivery times and fees, plus full product and menu prices per store. Works by country, language and city slug. No login, no cookies.
Why use this actor?
Glovo is one of the largest quick-commerce and food-delivery platforms in Southern and Eastern Europe, with restaurant, supermarket, pharmacy and shop verticals all running through the same storefront. Its listings are a live feed of two datasets that are otherwise locked behind the mobile app:
- Store directory intelligence: which restaurants/stores are live in a city, their rating, delivery time and delivery fee, refreshed on every run.
- Menu and price monitoring: full menu/product catalogues per store, with prices, promotions and category, useful for competitor tracking and price benchmarking.
One actor covers every Glovo country. Point it at Madrid, Milan, Lisbon, Warsaw, Bucharest or any other city Glovo serves.
Modes
| Mode | What it returns | Scale |
|---|---|---|
products (default) | Discovers stores in the city/category, then opens each one for its product/menu catalogue: name, price, currency, availability, category | Up to ~150 items per store, capped by maxStores and maxResults |
stores | Store directory only: name, rating, delivery estimate, delivery fee, listing tag | Up to 50 stores in one request |
Input
| Field | Type | Required | Description |
|---|---|---|---|
mode | String | No | products (default) or stores |
country | String | No | Glovo country path segment, lowercase ISO2 — es, it, pt, pl, ro, gr, ua, kz, ma (default: es) |
language | String | No | Glovo language path segment, e.g. es, it, pt, en (default: es) |
city | String | No | Glovo city URL slug, e.g. madrid, barcelona, milano, lisboa (default: madrid) |
categoryId | Integer | No | Glovo numeric store category. 1 = Restaurants, verified in every city (default: 1). Other IDs vary by city — see below |
maxResults | Integer | No | Max dataset items to push (default 100) |
maxStores | Integer | No | products mode only: how many discovered stores to open (default 15) |
proxyConfiguration | Object | No | Apify proxy settings (default: automatic proxy) |
Running with completely empty input {} returns the first 100 Madrid restaurant products.
Finding a category ID
Glovo category pages follow the pattern glovoapp.com/{country}/{language}/{city}/{any-text}_{categoryId}/. Browse the Glovo site for the city you want, click into a vertical (Restaurants, Supermarkets, Pharmacy, ...), and copy the trailing _N number from the URL into categoryId. categoryId: 1 (Restaurants) is confirmed to work in every city tested; other IDs return 0 stores in smaller cities that don't have that vertical.
Output
All records share recordType, url, city, country and scrapedAt. Mode-specific fields:
stores mode (recordType: "store"): name, category (listing tag), storeId, storeSlug, rating, ratingCount, deliveryEstimate, deliveryFee, deliveryFeeCurrency.
products mode (recordType: "product"): name, price, currency, availability, category (menu/catalogue section), storeId, storeName, storeSlug, plus the store's rating, deliveryEstimate and deliveryFee for context.
Sample output (products mode)
{"recordType": "product","name": "12 Sándwiches Fríos (Ideal para 3 Personas)","price": 21.45,"currency": "EUR","availability": true,"category": "Sándwiches Fríos","storeId": "567577","storeName": "RODILLA","storeSlug": "rodilla-madrid","rating": "99%","ratingCount": "(76)","deliveryEstimate": "30-40 min","deliveryFee": 0.49,"deliveryFeeCurrency": "EUR","url": "https://glovoapp.com/es/es/madrid/stores/rodilla-madrid","city": "madrid","country": "es","scrapedAt": "2026-07-26T09:21:00.664Z"}
Sample output (stores mode)
{"recordType": "store","name": "Honest Greens","category": "Peq. almoço","storeId": "488772","storeSlug": "honest-green-lis","rating": "94%","ratingCount": "(500+)","deliveryEstimate": "30-40 min","deliveryFee": 0,"deliveryFeeCurrency": "EUR","url": "https://glovoapp.com/pt/pt/lisboa/stores/honest-green-lis","city": "lisboa","country": "pt","scrapedAt": "2026-07-26T09:22:12.957Z"}
How to scrape Glovo data
- Pick a mode. Start with
storesto see what's live in your city, or go straight toproductsfor full catalogues. - Name the country, language and city. Use the lowercase path segments from a real Glovo URL, e.g.
glovoapp.com/es/es/madrid/→country: "es",language: "es",city: "madrid". - Pick a category.
categoryId: 1(Restaurants) works everywhere and is the default. Grab other category IDs from the site if you need supermarkets, pharmacies or shops. - Run it. The default input returns Madrid restaurant products in under a minute.
- Scale up. Raise
maxStoresto open more of the discovered stores, andmaxResultsto push more products overall.
Scrape a whole country
Category pages are per-city (up to 50 stores each). Loop the actor over a list of cities for one country with a scheduler or a meta-run, one run per city, and merge the datasets by storeId.
Cost estimate
The actor uses plain HTTP requests through Apify's automatic proxy — no browser, no residential proxy premium:
stores: one city/category costs 1 request. Practically free.products: one request per store opened (capped bymaxStores), each returning the store's visible catalogue (typically 40-150 items for restaurants).
Limitations
- One category page per run: store discovery returns up to 50 stores per
country/city/categoryIdcombination — no further pagination endpoint was found on the public storefront. Cover more stores by combiningcategoryIdvalues or scheduling multiple city runs. - Preview catalogue on large stores: big supermarket-type stores organize their full range behind additional in-app category pages that require a resolved delivery address (not available anonymously).
productsmode captures the store's visible/preview catalogue — the full menu for most restaurants, the top sections for large grocery stores. category(product section) coverage is high (~98% in testing) but not guaranteed on every item — a handful of top-of-page promotional tiles have no section header.- Prices are the in-app Glovo prices, which can include a markup versus the shelf price.
Related Scrapers
Building a European food-delivery or quick-commerce price dataset? Pair this with the other scrapers in the same family:
- Wolt Scraper — 30-country venues, menus & grocery prices with EAN
- Deliveroo Scraper — UK & European restaurant menus
- Just Eat Scraper — Restaurant listings and menus
- Takeaway Scraper — Takeaway.com restaurant listings and menus
FAQ
Do I need a Glovo account? No. The actor reads Glovo's public storefront pages — no login, no cookies, no app.
Which countries does it cover?
Any Glovo market — Spain, Italy, Portugal, Poland, Romania, Greece, Ukraine, Kazakhstan, Morocco, the Balkans and more. Set country, language and city to match a real Glovo URL for that market.
How fresh is the data? Every run fetches live data. Store availability and pricing reflect the moment of the run.
Can I get a store's out-of-stock items?
availability is derived best-effort from Glovo's own out-of-stock flag on each product tile, defaulting to available when the flag isn't present.
Is this legal? The actor only collects publicly available data that anyone can see in the Glovo app or website. You are responsible for how you use the data — respect local regulations.