Glovo Scraper avatar

Glovo Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Glovo Scraper

Glovo Scraper

[๐Ÿ’ฐ $2.0 / 1K] Extract Glovo store listings and menu data across restaurants, groceries, pharmacy & beauty, and shops in 1,316 cities across 24 countries. Scrape any city by name or paste store links to get ratings, review volume, base delivery fees, promotions, availability, and menu prices.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

0

Monthly active users

7 days ago

Last modified

Share

Pull store listings and full menus from Glovo across the 1,316 cities in 24 countries Glovo's own city directory lists โ€” restaurants, grocery stores, pharmacies, and retail shops, with ratings, base delivery fees, local currency, live promotions, availability, and per-item prices. Built for food-delivery market analysts, q-commerce competitive-intelligence teams, and restaurant-supply lead generators who need fresh Glovo catalog and pricing data without collecting it merchant by merchant.

Why This Scraper?

  • All 1,316 Glovo cities in 24 countries โ€” the city you type is matched against Glovo's own delivery-city directory, so Nairobi, Zagreb, Tbilisi, and Casablanca work exactly like Madrid. Coverage runs from Spain (353 cities), Italy (290), and Poland (206) through Morocco, Kenya, Nigeria, Georgia, and Kazakhstan.
  • Wrong city name? The run tells you the right one. Type a spelling Glovo doesn't use and you get the closest cities Glovo really delivers to, by name, instead of a silent empty file.
  • 4 store verticals in one run โ€” restaurants, groceries, pharmacy & beauty, and shops, from a single city + vertical picker. A single "All verticals" run on Warsaw returned 150 stores spread across all four in 22 seconds.
  • Complete menus with a price on every line โ€” a Valencia run pulled 337 menu rows from 3 restaurants (68, 91, and 178 items), each with numeric price, formatted display price, currency, product ID, menu section, and image URL, joined to its parent store.
  • Delivery economics in the local currency โ€” a real, varying base delivery fee and currency code on 100% of measured store rows: 40 distinct fee values across EUR, PLN, UAH, and RON in one 453-store sample.
  • Typed promotions, not just a "deal" flag โ€” four promotion kinds (percentage discount, basket discount, two-for-one, flat product price) each with benefit and description, on roughly a third of stores, plus Glovo's top-rated badge.
  • 8 interface languages, independent of the city โ€” English, Spanish, Portuguese, Italian, French, Polish, Ukrainian, and Romanian. Language picks the wording, not the country, so you can read Nairobi's listings in French or Lisbon's in English.
  • A Max Results ceiling, 20,000 rows by default โ€” a broad sweep with menus switched on cannot quietly turn into a hundred-thousand-row bill. The run stops at your number and says it stopped there.
  • A finishing summary that admits what it missed โ€” if the run ended early because of your result limit, your store limit, or Glovo showing only one page per category, the last message names which one and what to change. It says "Done!" only when nothing held it back.

Use Cases

Market Research

  • Map every restaurant, grocer, pharmacy, and shop operating in a Glovo city
  • Compare base delivery fees and local pricing across an entire vertical
  • Track which merchants carry Glovo's top-rated badge in a market

Competitive Intelligence

  • Watch a named competitor's full menu and prices with direct store links
  • Benchmark a chain's offering across multiple cities and countries
  • Measure how many stores in a vertical are running an active promotion

Price Monitoring

  • Track item-level prices over time for a basket of grocery products
  • Compare the same dish or product across competing stores in one city
  • Detect discount campaigns starting and ending between runs

Menu & Catalog Aggregation

  • Build a unified product feed across dozens of stores in a vertical
  • Power a price-comparison or aggregator site with structured catalog rows
  • Localize the same catalog into 8 languages for multi-market listings

Lead Generation for Restaurant Suppliers

  • Build outreach lists of restaurants by cuisine tag and city
  • Prioritize prospects by rating, review volume, and promotion activity
  • Enrich a target list with store links, base fees, and open/closed status

Getting Started

Discover a Vertical in One City

The simplest run โ€” all restaurants in Barcelona, store listings only:

{
"city": "Barcelona",
"storeCategory": "food",
"maxStores": 50
}

A Localized Sweep in Another Country

Every grocery store in Bucharest, with Romanian names and RON prices:

{
"city": "Bucharest",
"storeCategory": "groceries",
"language": "ro",
"maxStores": 50
}

Specific Stores With Full Menus

Paste exact store links and pull every product for each:

{
"storeUrls": [
"https://glovoapp.com/en/es/barcelona/stores/vicio-barcelona"
],
"includeProducts": true,
"maxStores": 10
}

Full Menu Sweep With a Cost Ceiling

Scrape restaurants in Lisbon with every menu item, capped at 5,000 rows:

{
"city": "Lisboa",
"storeCategory": "food",
"includeProducts": true,
"maxStores": 20,
"maxResults": 5000,
"language": "pt"
}

Input Reference

The values below are what the Apify UI prefills. A run that names neither a city nor a store link is declined with a short message rather than quietly sweeping some default city.

What to Scrape

ParameterTypeDefaultDescription
citystring"Barcelona"The Glovo city to scrape, by name. Use the name Glovo itself uses: for some cities that is the local spelling (Lisboa, Warszawa), for others the English one (Bucharest). Working examples: Barcelona, Madrid, Lisboa, Warszawa, Bucharest. If the name isn't found, the run names the closest cities Glovo does deliver to.
storeCategorystring"all"Which kind of stores to collect: All verticals, Food & Restaurants, Groceries, Pharmacy & Beauty, or Shops. "All verticals" covers everything Glovo offers in the city.
categoryFiltersstring[][]Optionally narrow a vertical to specific cuisines or sub-types, one per line. Each filter pulls its own set of stores, so filters are the way to reach past the one-page-per-vertical limit.
storeUrlsstring[][]Paste specific Glovo store links to scrape exactly those stores, one per line. Products are always collected for these. Leave empty to discover stores from the city and vertical above.

Options

ParameterTypeDefaultDescription
includeProductsbooleanfalseAlso collect the full product or menu list for each store. This adds a lot of rows: roughly 70โ€“180 per restaurant and up to about 3,000 for a large supermarket, on top of one row per store. Restaurants and normal shops return their whole menu. Very large grocery and quick-commerce stores are sampled โ€” the top aisles to a safe depth, stopping at roughly 3,000 products per store โ€” so a hypermarket's catalog may be partial.
maxStoresinteger50How many stores to keep. Each vertical returns up to about 50 stores (Glovo's public listing limit), so one vertical can't exceed ~50 no matter what you set. To collect more, choose All verticals (each vertical adds its own ~50, about 200 in total) or add several Sub-type Filters. This also caps pasted Store Links: paste more links than this number and only the first ones are collected, so raise it for a long list. Setting 0 lifts the store cap; Max Results still bounds the run.
maxResultsinteger20000Total rows a single run will deliver, store rows and product rows counted together. It exists so a broad run can't quietly become a very large one. The run stops cleanly at this number and tells you it did, so you always know whether you got everything. Raise it if you genuinely need more.
languagestring"en"Wording for store and product names and descriptions: English, Spanish, Portuguese, Italian, French, Polish, Ukrainian, or Romanian. Independent of the city โ€” any language works with any Glovo country.

Output

Every row carries a recordType field โ€” store or product โ€” so you can filter the dataset cleanly. Product rows are present only when Include products is enabled or when store links are supplied.

Store (recordType: "store")

{
"recordType": "store",
"title": "VIPS",
"slug": "vips-madrid1",
"url": "https://glovoapp.com/en/es/madrid/stores/vips-madrid1",
"rating": 97,
"votes": "96",
"deliveryFeeBase": 3.5,
"currency": "EUR",
"availability": "OPEN",
"promotions": [
{ "type": "PERCENTAGE_DISCOUNT", "benefit": "-30%", "description": "some items" }
],
"tag": "American",
"isTopRated": false,
"isNew": false,
"category": "food_1",
"city": "Madrid"
}

Core Fields

FieldTypeDescription
recordTypestringAlways "store"
titlestringStore display name
slugstringURL-friendly store identifier
urlstringFull Glovo store page link
tagstringCuisine or store-type tag (e.g. Burgers, Sushi, Supermarket)
categorystringThe vertical the store was found under
citystringCity the store belongs to

Reputation & Offers

FieldTypeDescription
ratingnumberRating percentage (e.g. 97). Empty for stores Glovo hasn't rated yet โ€” about 1 in 6 rows in a mixed 453-store sample, and none at all in busy restaurant verticals like Madrid and Milan.
votesstringReview volume. Often an exact count ("96", "322"), but Glovo publishes a band instead for its busiest merchants ("500+", "1k+", "9k+") โ€” close to half the rows in a big-city restaurant vertical. Treat it as text, not a number to sort on.
promotionsobject[]Active promotions, each { type, benefit, description }. Types seen: PERCENTAGE_DISCOUNT, BASKET_PERCENTAGE, TWO_FOR_ONE, FLAT_PRODUCT. Empty when the store has no live deal.
isTopRatedbooleanGlovo's top-rated badge
isNewbooleanGlovo's new-store badge โ€” genuinely rare. true on just 8 of 1,841 store entries measured across 14 cities, 12 countries and 4 verticals (~0.4%), and nearer 0.1% in mature markets like Madrid, where Glovo ranks established merchants first. A screen of false values is normal, not a broken field.

Delivery & Status

FieldTypeDescription
deliveryFeeBasenumberThe store's base delivery fee, in the currency below
currencystringCurrency code for the fee and for this store's product prices (EUR, PLN, UAH, RON, โ€ฆ)
availabilitystringGlovo's live status for the store, e.g. OPEN or SCHEDULEABLE (order now, deliver later)

Product (recordType: "product")

{
"recordType": "product",
"storeSlug": "mcdonalds-val2",
"storeName": "McDonald'sยฎ",
"name": "McMenรบยฎ Big Macยฎ",
"description": "Carne, pepinillos, lechuga, cebolla y queso fundido",
"price": 9.74,
"currency": "EUR",
"priceDisplay": "9,74 โ‚ฌ",
"productId": "41935023102",
"categoryName": "Top sellers",
"imageUrl": "https://d2o20fuzws2yo1.cloudfront.net/TPO-1480BB_GMA-V1_M26.png",
"city": "Valencia"
}
FieldTypeDescription
recordTypestringAlways "product"
storeSlugstringParent store identifier (join key to its store row)
storeNamestringParent store display name
namestringProduct or menu item name
descriptionstringProduct description, where the merchant wrote one
pricenumberNumeric price
currencystringCurrency code (EUR, PLN, UAH, RON, โ€ฆ)
priceDisplaystringFormatted price as shown to shoppers (e.g. "9,74 โ‚ฌ")
productIdstringGlovo product identifier
categoryNamestringMenu section the product sits in
imageUrlstringDirect product image link
citystringCity context

Tips for Best Results

  • Spell the city the way Glovo does. Glovo files each city under one name, and it is local for some (Lisboa, Warszawa) and English for others (Bucharest). Get it wrong and the run comes back with the closest real delivery cities by name, so a mistake costs you one quick correction rather than an empty dataset.
  • Maximize coverage with breadth, not a bigger maxStores. One vertical returns up to about 50 stores โ€” Glovo's public listing limit โ€” so raising maxStores past 50 on a single vertical adds nothing. Choose All verticals (roughly 200 stores) or add several cuisine / sub-type filters, each of which pulls its own set.
  • Read the final message before trusting the row count. It says "Done!" only when nothing cut the run short. Otherwise it names the reason โ€” your result limit, your store limit, or Glovo's one-page listing โ€” and, where Glovo publishes it, how many stores the city actually has.
  • Use maxResults as your budget dial. Every store row and product row counts toward it. With menus on, a restaurant adds roughly 70โ€“180 rows and a large supermarket up to about 3,000, so set the ceiling to the number of rows you're willing to pay for and let the run stop itself.
  • Leave products off for a store census. A city-wide store list is cheap and fast; turn menus on only for the shortlist of merchants you actually want item-level data on.
  • Treat votes as text and rating as optional. Popular stores report review volume as a band ("1k+"), and stores Glovo hasn't rated yet return neither field. Filter on rating rather than assuming every row has one, and sort on rating, not votes.
  • Pick the language for the reader, not the country. Language and city are independent, so you can pull Kenyan or Georgian listings in English for an internal report, or in the local language for customer-facing copy.
  • Filter by recordType downstream. Split the dataset into a clean store table and a product table, then join products back to stores on storeSlug.

Pricing

From $2.00 per 1,000 results โ€” pay-per-result only, with no compute charges. Apify's loyalty discount tiers lower the rate as you go: Gold subscribers pay the headline $2.00 per 1,000. Tiered rates take effect 12 September 2026; until then every account pays the Gold rate.

ResultsNo discountBronzeSilverGold
100$0.235$0.225$0.215$0.200
1,000$2.35$2.25$2.15$2.00
10,000$23.50$22.50$21.50$20.00
100,000$235.00$225.00$215.00$200.00

A "result" is any row in the output dataset โ€” a store or a product. Turning on full menu and catalog extraction adds product rows (many per store), so use maxStores, maxResults, and the products toggle to keep your result count where you want it.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n โ€” Workflow automation
  • Google Sheets โ€” Direct spreadsheet export
  • Slack / Email โ€” Notifications on new results
  • Webhooks โ€” Trigger custom workflows on run completion
  • Apify API โ€” Full programmatic access

This actor is designed for legitimate market research, competitive intelligence, price monitoring, and lead generation. You are responsible for complying with applicable laws and Glovo's terms of service, including making reasonable-rate requests and respecting how the data may be used. Do not use extracted data for spam, harassment, or any illegal purpose.