Glovo store catalogue by collection
A Glovo store's catalogue the way the store organises it. Without collection: the store's collection groups (supermarkets and shops: Fruit and vegetables, Dairy, Drinks...) with each collection's name, slug, collection value and image, plus the product sections shown on the store's front page (promotions, top sellers; for restaurants the full menu). With collection: that collection's sections, each with every product: id, external id, name, description, price and price text, currency, out-of-stock and restricted flags, promotions, labels, dietary labels, image and option groups; a group's slug returns its collections instead. Also the store id, address id, city code and the store's vertical.
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
url | string | The store's glovoapp.com/<lang>/<country>/<city>/stores/<slug> link (from /glovo/v1/stores). Example: https://glovoapp.com/en/es/madrid/stores/carrefour-madrid |
country | string | With city and slug instead of url. |
city | string | City slug (with country and slug). |
slug | string | Store slug (with country and city). |
store_id | string | Instead of url: the store's id from /glovo/v1/store (with address_id and city_code); answers faster. |
address_id | string | The store's address_id from /glovo/v1/store (with store_id and city_code). |
city_code | string | The store's city_code from /glovo/v1/store, e.g. MAD (with store_id and address_id). |
collection | string | A collection to open: groups[].collections[].collection (or a collection or group slug) from a call without it, e.g. huevos-c.20287387. |
language | string | Language of the texts: en (default), es, it, pt... |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/glovo/v1/menu?url=https%3A%2F%2Fglovoapp.com%2Fen%2Fes%2Fmadrid%2Fstores%2Fcarrefour-madrid" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/glovo/v1/menu",
params={"url": "https://glovoapp.com/en/es/madrid/stores/carrefour-madrid"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/glovo/v1/menu");
url.searchParams.set("url", "https://glovoapp.com/en/es/madrid/stores/carrefour-madrid");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).