Glovo Scraper
Pricing
$10.00/month + usage
Glovo Scraper
A Glovo scraper that extracts comprehensive restaurant data and category listings. Designed for seamless automation with retry mechanisms, rate limiting, and structured JSON outputs. Ideal for market analysis, competitive research, and operational optimization.
Pricing
$10.00/month + usage
Rating
0.0
(0)
Developer

António Nunes Duarte
Actor stats
1
Bookmarked
118
Total users
2
Monthly active users
17 days ago
Last modified
Categories
Share
Glovo Scraper is an Apify actor that extracts store listings and product/menu data from the Glovo platform. It supports all Glovo verticals — restaurants, groceries, pharmacies, and shops — across any Glovo-supported city.
Why scrape Glovo?
Glovo is a leading delivery platform operating across Europe, Africa, and Central Asia. Scraping Glovo data enables:
- Market analysis: Compare pricing, delivery fees, and promotions across stores and cities.
- Competitor research: Track which stores are active, their ratings, and promotional strategies.
- Price monitoring: Monitor product prices and menu changes over time.
- Category intelligence: Discover what stores and products are available in specific markets.
Features
- Scrapes store listings from any Glovo category (food, groceries, pharmacy, shops).
- Extracts detailed product/menu data from individual store pages.
- Auto-discovers available categories when none are specified.
- Works without proxies for standard-volume scraping.
- Outputs data in a single dataset with two filtered views: Stores and Products.
- Supports all Glovo-supported cities worldwide.
How much will it cost?
The scraper subscription costs $20/month on Apify.
Apify provides $5 free usage credits every month on the Free plan. A typical run scraping 5 stores with products takes ~5 seconds and costs minimal CUs. The Starter plan ($49/month) and Scale plan offer higher quotas for professional use.
Usage
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
location | string | Yes | — | City name (e.g., Barcelona, Lisbon, Madrid) |
languageCode | string | No | en | Language for product names/descriptions (e.g., en, es, pt) |
categories | array | No | auto-discover | Category paths to scrape (e.g., food_1?type=burgers_34789, groceries_4) |
storeUrls | array | No | — | Specific store slugs or full URLs to scrape directly |
includeProducts | boolean | No | false | Scrape full product/menu listings for each store |
maxStoresPerCategory | integer | No | 50 | Max stores to collect per category (0 = no limit) |
proxyConfiguration | object | No | none | Apify proxy settings (recommended for high-volume scraping) |
maxConcurrency | integer | No | 10 | Max concurrent HTTP requests |
requestDelay | number | No | 1.0 | Delay in seconds between requests |
Category Paths
Categories use Glovo's internal path format. Common examples:
| Path | Description |
|---|---|
food_1 | All food/restaurants |
food_1?type=burgers_34789 | Burgers |
food_1?type=pizza_34701 | Pizza |
food_1?type=sushi_34702 | Sushi |
groceries_4 | Groceries |
pharmacy-beauty_3 | Pharmacy & Beauty |
shops_22 | Shops |
Leave categories empty to auto-discover all available categories for the city.
Example Input
{"location": "Barcelona","languageCode": "en","categories": ["food_1?type=burgers_34789","food_1?type=pizza_34701"],"includeProducts": true,"maxStoresPerCategory": 10}
Scraping Specific Stores
{"location": "Barcelona","storeUrls": ["burger-king-barcelona","mcdonalds-bcn2"]}
Products are always scraped for directly-specified stores.
Output
All data is pushed to a single default dataset with a recordType field (store or product) to distinguish record types. The Apify console displays two filtered views: Stores and Products.
Store Fields (recordType: "store")
| Field | Type | Description |
|---|---|---|
title | string | Store display name |
slug | string | URL-friendly store identifier |
url | string | Full Glovo store page URL |
rating | string | Rating percentage (e.g., 93%) |
votes | string | Number of ratings (e.g., (500+)) |
deliveryFeeBase | string | Base delivery fee (e.g., 1,99 €) |
deliveryFeeEffective | string | Actual fee after discounts (e.g., Free) |
isFreeDelivery | boolean | Whether delivery is free |
eta | string | Estimated delivery time (e.g., 30-40 min) |
distance | string | Distance from search location |
availability | string | Status (OPEN, CLOSED) |
promotions | array | Active promotions with type, benefit, description |
tag | string | Store category tag (e.g., Burgers) |
isTopRated | boolean | Top-rated flag |
isNew | boolean | New store flag |
category | string | Category path this store was found in |
Product Fields (recordType: "product")
| Field | Type | Description |
|---|---|---|
storeSlug | string | Parent store slug (FK to store records) |
storeName | string | Parent store display name |
name | string | Product name |
description | string | Product description |
price | number | Product price |
currency | string | Currency code (e.g., EUR) |
priceDisplay | string | Formatted price (e.g., 13,20 €) |
productId | string | Glovo product ID |
imageUrl | string | Direct URL to product image |
Filtering via API
# All datacurl "https://api.apify.com/v2/datasets/{DATASET_ID}/items?token={TOKEN}"# Stores onlycurl "https://api.apify.com/v2/datasets/{DATASET_ID}/items?token={TOKEN}&fields=recordType,title,slug,rating,deliveryFeeEffective,promotions"# Products onlycurl "https://api.apify.com/v2/datasets/{DATASET_ID}/items?token={TOKEN}&fields=recordType,storeSlug,storeName,name,price,currency,imageUrl"
Apify datasets support export in JSON, CSV, XLSX, XML, and RSS formats.
Limitations
- The
locationmust be a valid city name recognized by GeoNamesCache. Invalid locations will fail. - Glovo's website structure may vary by region, which can affect data completeness.
- Category paths are Glovo-internal identifiers that may change over time. Use auto-discovery to find current paths.
- Grocery store product extraction may differ from restaurant menus due to different page structures.
Legal
Scraping data from Glovo must comply with local and international data protection regulations. Avoid scraping personal data and ensure you have a legitimate purpose. Consult legal counsel if you have concerns.