Glovo Scraper: Restaurants, Stores & Menus with Prices
Pricing
from $3.00 / 1,000 stores
Glovo Scraper: Restaurants, Stores & Menus with Prices
Scrape Glovo stores and restaurants by city and category (Spain, Italy, Portugal, Poland, Romania, Africa ...): rating, votes, delivery fee, ETA, promotions, plus full menus with prices, descriptions and images. No login. $3 per 1,000 stores + $0.50 per 1,000 menu items.
Pricing
from $3.00 / 1,000 stores
Rating
0.0
(0)
Developer
Connor Prussin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Security
Limited permissionsShare
Glovo Scraper exports restaurants, supermarkets and shops from Glovo as clean JSON, CSV or Excel, with their full menus. It reads the same public city, category and store pages that glovoapp.com shows to logged-out visitors, with no login, no API key and no browser:
- ✅ Stores by city and category: any Glovo city (Madrid, Barcelona, Milano, Roma, Lisboa, Porto, Warszawa, Bucuresti, Casablanca, Nairobi, ...) and category (food, groceries, shops, pharmacy & beauty), or a cuisine filter URL.
- ✅ Store cards: name, cuisine, rating (% positive) and vote count, open/closed, delivery ETA, delivery fee (standard and after promotions), service fee, promotions, sponsored/new/top-rated flags, cover image and logo.
- ✅ Full menus: every product on the store page with name, description, price, currency, promotion price, image and menu section. Top-seller and promotion carousels are deduplicated.
- ✅ More than 50 stores per category: Glovo lists at most 50 stores per page, so the actor also walks the category's cuisine filters (pizza, sushi, burgers, ...) to reach more.
- ✅ Store URLs: paste any Glovo store page.
- ✅ Deduplicated across categories and filters: each store is returned (and billed) once.
- ✅ Light and polite: plain HTTP, a few requests per store, respects robots.txt.
Start in one minute
Click Start with the prefilled input:
{"city": "madrid","countryCode": "es","categories": ["food"],"maxStores": 5}
You get: 5 Madrid restaurants with name, cuisine, rating, eta, deliveryFee and their menu (about 200 products per restaurant, each with name, price, currency, description, section).
Cost: about $0.515: 5 stores × $0.003 + 1,000 menu items × $0.0005, plus the $0.00005 actor-start fee.
Use with an AI assistant
Connect the Apify MCP server to Claude, ChatGPT, Cursor or any MCP client (https://mcp.apify.com?tools=cprussin/glovo-stores-menus loads only this actor), then paste:
Use the Apify actor cprussin/glovo-stores-menus to get 10 pizza places in Milano (city milano, country it) without menus, and list name, rating, delivery fee and ETA.
Recipes
Restaurant list without menus (cheapest)
Store cards only: one request per 50 stores.
{"city": "barcelona","countryCode": "es","categories": ["food"],"includeMenu": false,"maxStores": 500}
Supermarkets and their product prices
{"city": "lisboa","countryCode": "pt","categories": ["groceries"],"maxStores": 20}
One cuisine, from a Glovo URL
Open a category on glovoapp.com, pick a cuisine filter and paste the URL.
{"categories": ["https://glovoapp.com/en/it/milano/categories/food_1?type=pizza_34701"],"maxStores": 30}
Menus of specific stores
{"storeUrls": ["https://glovoapp.com/es/es/madrid/stores/casa-carola-madrid","https://glovoapp.com/es/es/madrid/stores/goiko-madrid"],"categories": []}
Who uses Glovo data?
- Restaurant chains and brands: track menu prices, promotions and delivery fees of competitors city by city.
- FMCG and grocery analysts: compare supermarket product prices and promotions on quick-commerce.
- Sales teams: build lead lists of restaurants and shops on Glovo by city and cuisine.
- Market researchers: count restaurants per cuisine, ratings and delivery times across cities.
- AI agents: give an LLM live restaurant menus and prices through the Apify API or MCP server.
How does the Glovo scraper work?
- Set a city and country code (as in
glovoapp.com/en/es/madrid), and categories (or store URLs). - The actor opens the city page to find the categories, then each category page (e.g.
glovoapp.com/en/es/madrid/categories/food_1) and reads the store list embedded in it (the page's own data). - When a category has more than 50 stores, it also opens the category's cuisine filters (
?type=pizza_34701, ...). - With Include menus on, it opens each store page and reads the menu from the page data.
How do I choose which Glovo stores to scrape?
| Field | Description | Example |
|---|---|---|
city | Glovo city slug | "madrid" |
countryCode | Two-letter country code of the city | "es" |
lang | Page language: category names, cuisines and fee labels (default en) | "es" |
categories | food, groceries, shops, pharmacy, a slug like food_1, or a category URL | ["food", "groceries"] |
storeUrls | Glovo store pages (optional) | ["https://glovoapp.com/es/es/madrid/stores/casa-carola-madrid"] |
includeMenu | Open each store page for its menu | false |
includeCuisineFilters | Walk cuisine filters to get past 50 stores per category | true |
maxStores | Max stores in total | 200 |
- Empty categories (and no store URLs) lists every category of the city.
- City slugs are what you see in Glovo URLs. Unknown cities are reported in the run's status message.
What data do you get for each Glovo store?
{"storeId": "225340","name": "Casa Carola","slug": "casa-carola-madrid","url": "https://glovoapp.com/en/es/madrid/stores/casa-carola-madrid","city": "Madrid","citySlug": "madrid","cityCode": "MAD","countryCode": "ES","category": "Food","categoryId": 1,"storeType": "RESTAURANT","cuisine": "Mediterranean","cuisines": ["Mediterranean"],"rating": 98,"ratingText": "98%","ratingVotes": "129","isOpen": true,"eta": "30-40 min","etaMinMinutes": 30,"etaMaxMinutes": 40,"deliveryFee": 1.99,"deliveryFeeText": "€1.99","deliveryFeeNowText": "Free","serviceFee": 1.99,"currency": "EUR","promotions": [],"isNew": false,"isTopRated": false,"isSponsored": false,"imageUrl": "https://glovo.dhmedia.io/image/stores-glovo/stores/e7d87ad8936509159faf8ff17b03199fb2a85adb09ae2bee257ae934b8b4b509","logoUrl": "https://glovo.dhmedia.io/image/customer-assets-glovo/store_logos/420f8065153335796cb80a006c3affe8190f63f2be3fdd87f5f839b109c8b2a6","menuItemCount": 26,"menuSections": ["Cocido", "Además De Cocido", "Extras", "Postres", "Vinos"],"menu": [{"productId": "2896203302","name": "Cocido Completo (x persona)","description": "Sopa de fideos (500 ml), garbanzos de cosecha propia en Segovia, repollo salteado, ...","price": 35,"currency": "EUR","priceText": "35,00 €","promoPrice": null,"promotion": null,"imageUrl": "https://glovo.dhmedia.io/image/menus-glovo/products/21cd793ef664afd02f744a85130ce8e227b99ee8f3b1a6492210b2f027ab6275","section": "Cocido"}],"listingUrl": "https://glovoapp.com/en/es/madrid/categories/food_1","scrapedAt": "2026-10-29T14:00:00.000Z"}
Store URLs give the same fields except the list-only ones (eta, ratingVotes, promotions, logoUrl, ...), which are null or empty.
How much does it cost to scrape Glovo?
Pay-per-event, only for what is written to your dataset:
| Event | Price |
|---|---|
| Store | $0.003 |
| Menu item | $0.0005 |
That's $3 per 1,000 stores plus $0.50 per 1,000 menu items. A restaurant menu has about 200 items ($0.10); a list without menus costs only the store events. If you set a maximum cost per run, the actor stops cleanly when it reaches it.
Glovo scraper FAQ
Is this an official Glovo API? No. It reads the public pages glovoapp.com shows to logged-out visitors.
Why is there no street address? Glovo doesn't publish store addresses on its public pages (only after you enter a delivery address in the app), so the actor doesn't output one. city, cityCode and countryCode locate the store.
Why are ETA and fees approximate? Without a delivery address Glovo shows city-level estimates. Fees and promotions change during the day.
Why does a grocery store have fewer products than in the app? The store page shows the top products of each aisle (carousels); the full catalog loads only in the app as you browse.
Do I need a proxy? No. Glovo answers direct requests. Apify Proxy is optional, with automatic fallback to direct requests.
Disclaimer: This actor is not affiliated with, endorsed by or sponsored by Glovo or Delivery Hero. Glovo is a trademark of its owner. You are responsible for complying with Glovo's terms and applicable laws when using the data.
Related actors
- AliExpress Scraper: AliExpress products, prices and sellers.
- Eventbrite Events Scraper: Eventbrite events by city, category and date, with venues and prices.
- Impressum Extractor: company data from DACH legal notices.