VOOZH about

URL: https://apify.com/gooyer.co/glovo-scraper

⇱ Glovo Scraper β€” Restaurants, Supermarkets, Shops Β· Apify


πŸ‘ Glovo Scraper β€” Restaurants, Supermarkets, Shops avatar

Glovo Scraper β€” Restaurants, Supermarkets, Shops

Pricing

from $0.50 / 1,000 category store items

Go to Apify Store

Glovo Scraper β€” Restaurants, Supermarkets, Shops

Scrape any Glovo URL in any country β€” restaurant menus with every dish + price, and full 360Β° catalog for supermarkets, shops, and pharmacies (every SKU, not just featured carousels). Browser-free, public JSON API. Per-event billing β€” pay for what you scrape.

Pricing

from $0.50 / 1,000 category store items

Rating

5.0

(1)

Developer

πŸ‘ Gooyer

Gooyer

Maintained by Community

Actor stats

1

Bookmarked

24

Total users

6

Monthly active users

2 months ago

Last modified

Share

Glovo Scraper

Pull structured data from any Glovo URL β€” restaurant menus, supermarket catalogs, shop listings, pharmacy lineups β€” in any of the 25+ countries Glovo operates in. Built for competitive price intelligence, grocery-retail market research, food-delivery analytics, and anyone who needs Glovo data at volume without babysitting a browser.

This is the only scraper on the Apify Store with full 360Β° supermarket coverage. Competitors stop at Glovo's featured-carousels landing page (~40 products per store). This one recursively walks Glovo's own content-node API and returns every SKU β€” verified: 1,299 products from SuperGlovo Madrid in 42 seconds.

What you can scrape

Paste any of these URL types into Start URLs β€” the scraper classifies each one and runs the right handler:

URL shapeWhat you get
glovoapp.com/<lang>/<country>/<city>/categories/<slug>One record per store in the category β€” name, slug, PDP URL, rating + review count, "Top Rated" flag, promo badges, Prime flag, delivery fee, open/closed state
glovoapp.com/<lang>/<country>/<city>/stores/<slug> (restaurant)One record with the full menu β€” every section with every dish, price + original price (if discounted), tags, description, image, plus store-level rating, delivery fee, min-order info, promo badges
glovoapp.com/<lang>/<country>/<city>/stores/<slug> (supermarket / shop / pharmacy)One record with the full catalog β€” every SKU with externalId, name, price, original price, currency, image, EAN barcode, category UUID, collection group, promotion type + promoId, sponsored flag, out-of-stock flag

The same scraper works in every country Glovo operates β€” Spain, Portugal, Italy, France, Morocco, Georgia, Ukraine, Armenia, Bulgaria, Romania, Poland, Czech Republic, Serbia, Croatia, Bosnia, Kazakhstan, Kyrgyzstan, and more. Paste a URL with any language prefix (/en, /fr, /es, /pl...) and it routes correctly.

Optional enrichments

  • storePage β€” on a /categories/<slug> URL, enqueue each store as a full PDP scrape so you get menu/catalog data in the same run
  • shopCatalogDepth (default 2) β€” how deep to walk Glovo's category tree on supermarket + shop PDPs. 0 = featured carousels only (~40 products). 1–2 = expanded collections (~200–1,500 products β€” recommended default). 3–5 = exhaustive. Deeper = more HTTP calls = higher cost.
  • menuItems β€” emit one flat dataset row per individual product (in addition to the nested per-store row). Useful for BI tools that prefer flat tables. Bills at $0.0001 per product.

Defaults are conservative. A run without enrichments stays on the commodity rate.

Why this scraper beats the alternative

AlternativeWhere it falls short
The existing Glovo scraper on ApifyNo reviews. No published benchmarks. Generic $0.003-per-result pricing means a single restaurant menu with 71 dishes costs $0.22 β€” this scraper costs $0.023 for the same menu (nested, one row). On supermarkets the gap is larger: their flat-per-result model bills $0.003 per product Γ— 1,300+ products = $3.90+. This scraper nests the full catalog in one row and bills the API walk per-call β€” total $0.072 for the same SuperGlovo Madrid crawl. ~54Γ— cheaper on a real supermarket, ~10Γ— cheaper on a restaurant.
Glovo Partner APIInvite-only. Requires a business relationship with Glovo. Partners get delivery-partner access, not market-research access.
Browser-based scrapers3–10Γ— slower per store, 2–3Γ— more expensive to run, fragile against Glovo's React hydration model (Next.js App Router with streamed RSC chunks).
DIY from scratchYou'd need to reverse-engineer Glovo's /v4/stores/<id>/addresses/<id>/content/main content-node API, discover that the root endpoint returns HTTP 400 without a link param (you have to seed the BFS from the SSR hydration payload), handle both CAROUSEL and GRID block types, filter out section-anchor slugs that also return 400, and bypass browser-CORS rules by calling the API server-side. This scraper does all of that.

Sample output β€” real record, trimmed

From glovoapp.com/en/es/madrid/stores/superglovo-mad with shopCatalogDepth: 2:

{
"type":"store-pdp",
"url":"https://glovoapp.com/en/es/madrid/stores/superglovo-mad",
"language":"en",
"country":"es",
"city":"madrid",
"slug":"superglovo-mad",
"layout":"TILE",
"storeId":"21033",
"addressId":"249456",
"store":{
"name":"El SΓΊper de Glovo",
"rating":0.87,
"ratingCount":500,
"deliveryFee":"1,99 €",
"promoBadges":["-10% some items"],
"prime":true,
"minOrderInfo":"Reach 10,00 € to avoid an extra fee of 1,50 €",
"categoryType":"SUPERMARKET",
"isOpen":true
},
"products":[
{
"externalId":"LMC3AJ",
"storeProductId":"LMC3AJ",
"name":"Dr. Oetker Ristorante Piccola Pizza Margarita Airfryer 2u",
"price":3.95,
"originalPrice":7.90,
"currency":"EUR",
"imageUrl":"https://glovo.dhmedia.io/image/global-catalog-glovo/...",
"tags":[],
"promotion":{"type":"TWO_FOR_ONE","title":"2 for 1","promoId":"1333945124"},
"ean":"04001724038818",
"categoryId":"fab3f3df-83a7-4c39-b27f-37b48a4bd5c0",
"collectionGroupId":"52085513",
"collectionGroupName":"Mega Packs",
"sponsored":false,
"outOfStock":false
}
/* ...1,298 more products, same shape */
]
}

Restaurant PDPs emit the same top-level shape with layout: "ROW" and a nested menu.sections[] tree instead of a flat products[]. Category-page records emit one row per store card with type: "category-store-card".

Pricing

Per-event billing. You pay only for what you extract.

EventPriceFires
apify-actor-start$0.02Once per run
category-store-item$0.0005Per store card returned from a /categories/<slug> page
restaurant-pdp-item$0.003Per restaurant PDP with the full menu (all sections + dishes nested)
shop-pdp-item$0.005Per supermarket / shop / pharmacy PDP β€” store header + featured carousels from the SSR page
shop-collection-call$0.0005Per Glovo content-node API call made during the recursive catalog walk (only fires when shopCatalogDepth >= 1). Scales with the shop's category tree β€” typical supermarket at depth=2 fires ~90 calls; depth=5 on a large hypermarket can fire 200+
restaurant-menu-item$0.0001Per dish when menuItems: true (flat-row mode, on top of the nested record)
shop-product-item$0.0001Per product when menuItems: true (flat-row mode, on top of the nested record)

The shop pricing is deliberately split so you pay for the depth you actually walk. A shopCatalogDepth: 0 run (featured carousels only, no API calls) costs just $0.005 per shop. The default shopCatalogDepth: 2 unlocks the full catalog but bills only for the work Glovo's API actually does.

Real budgets:

Use caseConfigCost
One restaurant menu (71 dishes)1 restaurant PDP$0.023
Full city food scan50 category cards + 50 restaurant PDPs$0.195
Supermarket, featured carousels only (~40 SKUs)1 shop PDP, shopCatalogDepth: 0$0.025
Full supermarket catalog (1,329 SKUs, depth=2, 94 API calls β€” verified on SuperGlovo Madrid)1 shop PDP at shopCatalogDepth: 2$0.072
Exhaustive hypermarket catalog (depth=5, ~250 API calls)1 shop PDP at shopCatalogDepth: 5~$0.15
Grocery-retail competitive sweep3 category pages + 30 shop PDPs at depth=1 (~20 calls each)$0.47
Monthly grocery-category snapshot β€” one city200 shop PDPs at shopCatalogDepth: 2~$11.40
Daily price-intel on 10 supermarkets (flat-row mode for BI)10 shop PDPs at depth=2 + 10,000 product rows$1.56

Set a maxTotalChargeUsd cap on any run and the scraper stops cleanly once the budget lands. No surprise invoices.

Inputs

FieldWhat it does
startUrls (required)Array of Glovo URLs. Mix category and store URLs freely β€” they're classified automatically
storePageEnqueue a full PDP scrape for every store returned by a category URL
shopCatalogDepthHow deep to walk the category tree on supermarket / shop / pharmacy PDPs (default 2, max 5)
menuItemsAlso emit one dataset row per individual product, flat (in addition to the nested per-store row)
proxyUrlsProxy configuration. Datacenter proxy is sufficient β€” Glovo has no bot defense. Residential is available but unnecessary

How it works

  • No browser. The scraper parses Glovo's server-rendered HTML with Cheerio and calls Glovo's own content-node JSON API directly. Roughly 5–10Γ— faster per store than browser-based scrapers on the Apify Store.
  • Layout auto-detection. Every store PDP gets a layout probe against the HTML (ItemRow_* for restaurants, ItemTile_* for shops) and routes to the right extractor automatically. You never need to tell the scraper what kind of store you're scraping.
  • Recursive catalog walk. On supermarket, grocery, shop, and pharmacy PDPs, the scraper reads storeId + addressId from Glovo's SSR hydration payload, seeds a BFS from the SSR products already on the page, then walks category deep-links via api.glovoapp.com/v4/stores/<id>/addresses/<id>/content/main?nodeType=DEEP_LINK&link=<slug> up to shopCatalogDepth levels. Products are deduped by externalId.
  • CSS-module-proof selectors. Glovo's Next.js build rotates CSS module class hashes on every deploy (ItemRow_priceContainer__G5B13 β†’ ItemRow_priceContainer__9pQr_). This scraper targets via class prefix ([class*="ItemRow_priceContainer"]), so redeploys don't break extraction.
  • Resilient to rate-limiting. Each Crawlee session persists cookies through its lifetime. On HTTP 429 from the content API, the session retires and the work picks up on a fresh IP. You won't see failed requests in normal operation.

FAQ

Does the 360Β° catalog walk really cover every SKU? It walks every carousel and category deep-link the Glovo app's own navigation exposes on the store's landing, up to shopCatalogDepth levels. Depth 2 hit 1,299 unique SKUs on SuperGlovo Madrid during verification; depth 5 would go exhaustive. For a typical supermarket, depth 2 is β‰₯95% coverage.

Why is shopCatalogDepth capped at 5? Each deeper layer adds ~20 HTTP calls per store on average. Depth 5 on a Mercadona or Carrefour Hyper can fire hundreds of requests. The cap is a courtesy to Glovo's infrastructure and your budget. Depth 2 is the sweet spot β€” full coverage without runaway costs.

What countries does this work in? Every country Glovo operates in. URL parsing is country-agnostic: /en/ma/tanger/stores/..., /es/es/madrid/stores/..., /fr/fr/paris/stores/... β€” all work. The content-node API is regionalized via the glovo-location-country-code header, which the scraper sets from the URL automatically.

What's the difference between type: "category-store-card" and type: "store-pdp"? Category-card records come from parsing a /categories/<slug> listing page β€” they're lightweight (name, rating, delivery fee, promo badges) and map 1:1 to what's visible on Glovo's store-picker grid. Store-PDP records come from scraping a single store's page and contain either the full menu (restaurants) or full catalog (shops). When you set storePage: true, a category-URL run emits both types to the same dataset.

Does it work on free Apify plans? Yes. Glovo has no bot defense, so the default Apify datacenter proxy is sufficient. Free-tier accounts get $5 monthly credit β€” enough for ~1,000 full supermarket catalogs at depth 2, or ~16,000 restaurant menus.

How is the data kept fresh? Each run hits Glovo's live endpoints. No caching, no intermediate storage. A product listed five seconds before your run appears if Glovo's CDN has flushed.

Is this legal? Only public delivery-app data β€” no user accounts, no private orders, no seller-only dashboards. Same public surface Glovo's own web frontend serves anonymously without login.

What if Glovo changes their API? The scraper pins the current glovo-app-version string. If Glovo starts returning 403 on that version, we ship an updated pin. The /v4/stores/.../content/main endpoint schema has been stable through multiple Glovo frontend deploys.

How do I export the data? Dataset β†’ Export in the Apify Console. CSV, JSON, JSONL, or XLSX with one click. Programmatically, fetch /v2/datasets/{id}/items to stream records, or push to BigQuery, Snowflake, or S3 via Apify's built-in integrations.

Can I run this on a schedule? Yes. Schedule the actor from the Apify Console (cron / hourly / daily). Combined with a maxTotalChargeUsd cap per run, you get predictable monthly spend with per-SKU granularity β€” useful for price-change alerting, out-of-stock monitoring, or promotion-calendar analytics.

Can I request a custom field? Yes. Open an issue via the Issues tab in the Apify Console. Simple field additions usually ship within a week.

Support

Open an issue via the Issues tab in the Apify Console, or message the actor owner directly.

Keywords

Glovo scraper, Glovo API, Glovo data export, food delivery data, grocery retail intelligence, supermarket catalog scraper, Glovo restaurants, Glovo menus, Glovo products, Glovo prices, competitive price intelligence, grocery SKU data, EAN barcode data, food delivery market research, Glovo Spain, Glovo Morocco, quick commerce data, last-mile delivery data, Glovo JSON export, Glovo categories, Glovo supermarkets.

You might also like

Glovo Product Scraper

blagoysimandoff/glovo-product-scraper

Glovo Scraper extracts comprehensive restaurant and category data from Glovo for market analysis and competitive research. Offers automated, reliable scraping with structured JSON output, retry mechanisms, and rate limiting. Ideal for businesses seeking up-to-date delivery service insights

πŸ‘ User avatar

Blagoy Simandoff

33

5.0

Glovo Scraper

antonionduarte/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.

Just Eat Restaurant Scraper 🍽️

easyapi/just-eat-restaurant-scraper

🍽️ Powerful Just Eat restaurant scraper that extracts comprehensive data including restaurant details, ratings, delivery info, and deals. Perfect for market research, food delivery analysis, and competitor monitoring. Supports custom search URLs and proxy configuration.

Just Eat Scraper β€” Restaurant Data & Delivery Intelligence

scrapepilot/just-eat-scraper----restaurant-data-delivery-intelligence

Scrape Just Eat restaurant data from any area or postcode. Get name, address, GPS, cuisines, rating, reviews, delivery ETA, fees, min order, deals, and live open/closed status. Supports 15+ countries. No login. $17.99/month. 2-hour free trial.

Just Eat Restaurant Menu Scraper 🍽️

easyapi/just-eat-restaurant-menu-scraper

Extract detailed menu data from Just Eat restaurant pages including items, prices, variations, deals, and nutritional information. Perfect for food delivery analytics, menu research, and price monitoring. 🍽️

Uber Eats Full Menu & Reviews Scraper

memo23/uber-eats-scraper

Uber Eats stores β†’ JSON per URL: menuSections & menuItems (prices, currency, images; optional add-on trees), ratingValue, reviewCount, reviewSamples, address, phone, hours, isOpen/isOrderable, cuisines, analytics, hero images, SEO title/description, URLs, scrapedAt.

πŸ‘ User avatar

Muhamed Didovic

91

5.0

Talabat Scraper

thirdwatch/talabat-scraper

Scrape restaurant data from Talabat.com - names, ratings, cuisines, locations, payment methods, and popular items across 9 Middle Eastern countries.

55

5.0

Deliveroo Scraper

fantomx/deliveroo-scraper

🦘Scrape your favorite restaurant from Deliveroo simply by enter a location URL

Deliveroo Scraper

thirdwatch/deliveroo-scraper

Scrape restaurant and menu data from Deliveroo - names, ratings, delivery times, full menus with prices across UK, UAE, and Europe.

Glovo Scraper

solidcode/glovo-scraper

[πŸ’° $2.0 / 1K] Extract Glovo store listings and product/menu data across restaurants, groceries, pharmacy & beauty, and shops. Scrape any city by name or paste store links to get ratings, delivery fees, ETAs, promotions, and prices.