Glovo API

Every Glovo store, menu and grocery shelf for a delivery point

The Glovo API reads Glovo's public catalogue in six actions.

no credit card1,000 free credits · instant API key · pay by card or crypto
Missing a Glovo endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
G
/glovo/v1

6 active endpoints, on 2 and 3 credit tiers.

  • POST/glovo/v1/stores
  • POST/glovo/v1/categories
  • POST/glovo/v1/store
  • POST/glovo/v1/catalog
  • POST/glovo/v1/store_search
  • POST/glovo/v1/search

What Glovo endpoints does ReefAPI ship?

6 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

6 endpoints

stores

3 cr

Stores Glovo lists for a delivery point in one category.

required
lat, lon
optional
category, filter, sort, limit, cursor, language

categories

2 cr

Glovo's categories at a delivery point.

required
lat, lon
optional
language

store

2 cr

One store's record for a delivery point.

required
store_id, lat, lon
optional
language

catalog

3 cr

A store's catalogue or menu.

required
store_id
optional
store_address_id, city_code, lat, lon, category, language

store_search

2 cr

Search inside one store (the search box on a Glovo store page).

required
store_id, query
optional
store_address_id, city_code, lat, lon, language

search

3 cr

Glovo's own search for a delivery point.

required
query, lat, lon
optional
language

Every parameter, every allowed value →

Glovo API

4 of 6 endpoints, ready to run

View docs ↗

Supermarkets, restaurants or shops that deliver to a point, with delivery fee, time, distance and rating.

3 credits2 required · 2 optional
POST/glovo/v1/stores
idle
// Press "Try it" and this pane shows exactly what the
// live site returned this second — including an empty
// result, if that is the truth. No key, no account.

How the Glovo API works

Glovo is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 585 engines.

02
Call
POST /glovo/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
2 or 3 credits per call

Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.

04
Read
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

Track Glovo Express prices around one address

Three calls from a point on the map to a dark store's shelf.

01stores?lat=40.4168&lon=-3.7038&category=groceries&sort=distance
POSTstores?lat=40.4168&lon=-3.7038&category=groceries&sort=distance

The 281 grocery stores Glovo lists for central Madrid, nearest first, Glovo's own stores flagged with is_glovo_dark_store.

02catalog?store_id=21033&store_address_id=178270&city_code=MAD
POSTcatalog?store_id=21033&store_address_id=178270&city_code=MAD

El Súper de Glovo's category tree, each node with the category value to pass back.

03catalog?store_id=21033&store_address_id=178270&city_code=MAD&category=frutas-y-verduras-sc.51748114/fruta-c.984570
POSTcatalog?store_id=21033&store_address_id=178270&city_code=MAD&category=frutas-y-verduras-sc.51748114/fruta-c.984570

Every fruit product, section by section: 77 rows on 2026-10-18 with price, promotion, stock limit and section.

A store's shelf with the price the customer pays, the original price and the store address it applies to.

request
curl -X POST https://api.reefapi.com/glovo/v1/stores \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"lat":40.4168,"lon":-3.7038,"category":"groceries"}'
response envelope
{
  "ok": true,
  "data": { … },
  "meta": {
    "api": "glovo",
    "endpoint": "stores",
    "mode": "live",
    "latency_ms": …,
    "record_count": …
  },
  "error": null
}

Glovo's listed price is the price before the promotion

Before you build a price tracker on Glovo, know which number is which. Measured on 2026-10-18 in Madrid.

ItemGlovo's own price fieldWhat the customer pays (price)original_price · discount_pct
Tappers Risotto a la Milanesa 400g, El Súper de Glovo6.49 EUR5.51 EUR6.49 · 15.1
Redondo Huevos Talla M 12u, El Súper de Glovo4.89 EUR3.91 EUR4.89 · 20.04
Promo Quesadilla, Taco Bell6.10 EUR3.05 EUR6.10 · 50
Store list delivery fee, El Súper de Glovo0.99 EUR base feeFree (first order, new visitor)delivery_fee_listed 0.99 · delivery_fee_effective_text Free

price is always what the customer pays after a public promotion; Glovo Prime prices go to member_price, never to price. The store list shows a new visitor's first-order delivery offer, so the base fee is published as delivery_fee_listed with the offer next to it.

What Glovo publishes without an account — measured 2026-10-18

Live calls in 20 countries. The lines that go against us are here too.

Countries

ES, PT, IT, PL, RO, UA, GE, KZ, KG, MA, TN, NG, CI, UG, KE, HR, RS, BG, ME, MD

Live calls

186 of 194 succeeded; 6 of the 8 failures were an early category-format fault, fixed and re-measured

Prices against glovoapp.com's own store page

17 of 17 identical (price and original price)

Grocery product fields (312 products, 4 countries)

price 312 · barcode 312 · image 312 · stock limit 301 · promoted 77

Store list

all stores Glovo lists for the point (Madrid groceries 281, restaurants 1 272), 1-50 per page

Search ceiling

one page of up to 100 stores; in-store search counts stop at 100

Delivery fee

base fee plus the new-visitor offer shown next to it; a signed-in customer's checkout fee is not published

Not published

review texts, address-to-coordinates lookup, sorting by delivery fee (Glovo ranks by the new-visitor offer)

What people build with Glovo

The jobs this data is most often used for.

6

endpoints

2/3

credits per call

01

Grocery price trackers follow Glovo Express and supermarket shelf prices and promotions across Spanish, Italian, Portuguese and Polish cities.

02

FMCG brands check their price, promotion depth, stock limit and barcode coverage on Glovo in 20 countries.

03

Delivery market analysts map which supermarkets, restaurants and pharmacies deliver to a point, with fee, time, distance and rating.

04

Restaurant groups benchmark menus, promotions and option pricing against competitors on Glovo.

What Glovo data costs

The cheapest call here is 2 credits, so $15/mo (Pro) buys 5,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

Full pricing →
$0.67–$1.50 / 1,000 credits
  • 1,000 free credits on signup, no card
  • One key, all 585 APIs, one credit pool
  • Failed and blocked calls are never charged
  • Credits roll over and never expire

Call it in two lines

Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.

curl
curl -X POST https://api.reefapi.com/glovo/v1/stores \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"lat":40.4168,"lon":-3.7038,"category":"groceries"}'
python
import requests

r = requests.post(
    "https://api.reefapi.com/glovo/v1/stores",
    headers={"x-api-key": REEF_KEY},
    json={
  "lat": 40.4168,
  "lon": -3.7038,
  "category": "groceries"
},
)
print(r.json()["data"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up Glovo.

Get a free key →
Do I have to give a location?▾

Yes. stores, search, categories and store need lat and lon of the delivery point, because Glovo's store list, delivery fee, delivery time and distance all depend on it. The point is echoed in every response under location with Glovo's city code and whether Glovo serves it. There is no hidden default location.

Which countries are covered?▾

The 20 countries measured on 2026-10-18: Spain, Portugal, Italy, Poland, Romania, Ukraine, Georgia, Kazakhstan, Kyrgyzstan, Morocco, Tunisia, Nigeria, Côte d'Ivoire, Uganda, Kenya, Croatia, Serbia, Bulgaria, Montenegro and Moldova. A point Glovo does not serve, such as London, Paris, Skopje or Sarajevo, returns no stores and served: false.

How do I get Glovo Express or supermarket prices?▾

Call stores with category=groceries for your point; is_glovo_dark_store marks Glovo's own stores (El Súper de Glovo, Glovo Express, Glovomart). Pass that row's store_id, store_address_id and city_code to catalog for the category tree, then again with a category value for its products, or to store_search with a keyword. Grocery categories load section by section; one Madrid promotions category returned 248 products.

Why does a row carry store_address_id?▾

Because a Glovo store brand has several addresses and the catalogue belongs to the address that delivers to you. On 2026-10-18 two addresses of El Súper de Glovo in Madrid returned 99 and 97 products for the same search. Pass the store_address_id from the stores or search row as it is; with only lat and lon the engine asks Glovo which address serves that point.

What does a product row contain?▾

item_id (a string, because Glovo's ids are longer than JavaScript numbers hold), external_id, name, description, price, original_price, discount_pct, member_price, currency, available, quantity_limit with its reason (STOCK_AMOUNT means units left), gtin, sold_by_weight, promotions, section, image and options with their prices. Across 312 grocery products in Spain, Portugal, Ukraine and Kazakhstan on 2026-10-18, price, image and barcode were filled on all 312; fresh produce at El Súper de Glovo has no barcode.

How does paging work for the store list?▾

Each stores response has meta.total and, while there are more stores, meta.next_cursor. Pass the cursor back with the same lat, lon, category, filter and sort. Three pages of 24 Madrid grocery stores on 2026-10-18 had no store twice. Up to 50 stores per page.

How many results does search return?▾

Glovo's own search returns one page: up to 100 matching stores, and under each store card the matching products Glovo shows, with price and original price. In-store search counts stop at 100 products. A search Glovo has no results for returns 0 rows with meta.no_results: true.

Are prices in euros?▾

In the local currency of the store: EUR, PLN, RON, UAH, GEL, KZT, KGS, MAD, TND, NGN, XOF, UGX, KES, RSD and MDL were seen on 2026-10-18, with currency on every row. The same store's prices were identical whichever country the request came from.

What is the Glovo API?▾

Glovo API is a ReefAPI endpoint group for supermarkets, glovo express, restaurants and shops that deliver to any point in 20 countries, with menus and grocery catalogues: price, promotion, original price, stock limit and barcode. It returns live JSON through POST requests under /glovo/v1.

Is the Glovo API free to try?▾

Yes. ReefAPI starts with 1,000 free credits, no card required. Glovo calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Glovo login or account?▾

No login to Glovo is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Glovo data?▾

The page example is captured from a live stores call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Glovo API use?▾

Glovo actions currently cost 2-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Glovo from an AI assistant or MCP client?▾

Yes. Connect ReefAPI once through MCP and your assistant can call glovo actions with the same key, credit pool and JSON envelope used by normal REST requests.

Need something this API does not do?

Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.

0/4000

No account needed · we reply from [email protected]

Try it on your own data before you pay anything

The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 584 APIs, and the same envelope everywhere.

Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-10-18.