Turkish quick-commerce grocery prices as JSON, with Getir and GetirBüyük kept apart
The Getir API turns the public catalogue of Getir, Turkey's quick-commerce grocery, into clean JSON in five actions: search, product/detail, category, categories and deals.
5 active endpoints, on 1 and 2 credit tiers.
- POST/getir/v1/search
- POST/getir/v1/product/detail
- POST/getir/v1/category
- POST/getir/v1/categories
- POST/getir/v1/deals
What Getir endpoints does ReefAPI ship?
5 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
Getir API
3 of 5 endpoints, ready to run
Getir products for a keyword: price, struck-through price and discount, unit price, pack size, brand, shelf, images and diet tags - from the Getir or GetirBüyük catalogue.
{ "ok": true, "meta": { "api": "getir", "endpoint": "search", "mode": "live", "latency_ms": 4452.1, "record_count": 27, "cache_hit": false }, "data": { "results": [ { "product_id": "603545c9877ea1efbab7dc90", "title": "Kuzeyden Su", "short_name": "Kuzeyden Su", "brand": { "id": "5aae7beb3c0b5484c7acbfd4", "name": "Kuzeyden" }, "size": "24 x 500 ml", "price": 473.99, "currency": "TRY", "original_price": 695.76, "discount_percent": 32, "discount_amount": 221.77, "unit_price": 19.75, "unit_price_unit": "piece", "sold_by": "piece", "is_bundle": true, "image": "https://cdn.getir.com/product/603545c9877ea1efbab7dc90_tr_1630062624863.jpeg", "images": [ "https://cdn.getir.com/product/603545c9877ea1efbab7dc90_tr_1630062624863.jpeg" ], "badge_images": [], "tags": [], "category": { "id": "551430043427d5010a3a5c5e", "name": "Su & İçecek", "slug": "su-icecek-ewknEvzsJc", "url": "https://getir.com/kategori/su-icecek-ewknEvzsJc/" }, "subcategory": { "id": "5ee3941d8a1a17d10d681221", "name": "Su" }, "subcategories": [ { "id": "5ee3941d8a1a17d10d681221", "name": "Su" } ], "url": "https://getir.com/urun/603545c9877ea1efbab7dc90/", "in_stock": null, "rating": null, "review_count": null, "rating_scale": null }, { "product_id": "67656a677636aac3eb021d92", "title": "Kuzeyden Premium Doğal Mineralli Su", "short_name": "Kuzeyden Premium Doğal Mineralli Su", "brand": { "id": "5aae7beb3c0b5484c7acbfd4", "name": "Kuzeyden" }, "size": "400 ml", "price": 34.99, "currency": "TRY", "original_price": null, "discount_percent": null, "discount_amount": null, "unit_price": null, "unit_price_unit": null, "sold_by": "piece", "is_bundle": false, "image": "https://cdn-image.getir.com/market/product/d4992e12-0b30-4789-ad53-7558a9164d2c.webp", "images": [ "https://cdn-image.getir.com/market/product/d4992e12-0b30-4789-ad53-7558a9164d2c.webp", "https://cdn-image.getir.com/market/product/93aafd70-f0d9-452e-bce0-01f0e0609e51.jpg", "https://cdn-image.getir.com/market/product/fb96845b-bcc2-4fa0-878c-61a0ce451027.jpg" ], "badge_images": [], "tags": [], "category": { "id": "551430043427d5010a3a5c5e", "name": "Su & İçecek", "slug": "su-icecek-ewknEvzsJc", "url": "https://getir.com/kategori/su-icecek-ewknEvzsJc/" }, "subcategory": { "id": "5ee3941d8a1a17d10d681221", "name": "Su" }, "subcategories": [ { "id": "5ee3941d8a1a17d10d681221", "name": "Su" } ], "url": "https://getir.com/urun/67656a677636aac3eb021d92/", "in_stock": null, "rating": null, "review_count": null, "rating_scale": null }, { "product_id": "6789fecc60b1247639f9a0fc", "title": "Kuzeyden Premium Doğal Mineralli Su", "short_name": "Kuzeyden Premium Doğal Mineralli Su", "brand": { "id": "5aae7beb3c0b5484c7acbfd4", "name": "Kuzeyden" }, "size": "12 x 400 ml", "price": 377.99, "currency": "TRY", "original_price": 419.88, "discount_percent": 10, "discount_amount": 41.89, "unit_price": null, "unit_price_unit": null, "sold_by": "piece", "is_bundle": true, "image": "https://cdn-image.getir.com/market/product/68c86db7-e5f9-4da8-ac03-2ed21391be46.jpg", "images": [ "https://cdn-image.getir.com/market/product/68c86db7-e5f9-4da8-ac03-2ed21391be46.jpg" ], "badge_images": [ "https://cdn-image.getir.com/market/badge/332c023d-4c57-4e29-94cc-da51aefe6abe.png?bg=transparent&pad=15pct,15pct,3pct,3pct" ], "tags": [], "category": { "id": "551430043427d5010a3a5c5e", "name": "Su & İçecek", "slug": "su-icecek-ewknEvzsJc", "url": "https://getir.com/kategori/su-icecek-ewknEvzsJc/" }, "subcategory": { "id": "5ee3941d8a1a17d10d681221", "name": "Su" }, "subcategories": [ { "id": "5ee3941d8a1a17d10d681221", "name": "Su" } ], "url": "https://getir.com/urun/6789fecc60b1247639f9a0fc/", "in_stock": null, "rating": null, "review_count": null, "rating_scale": null } ], "count": 27, "total_results": 27, "page": 1, "page_size": 50, "page_count": 1, "hidden_rows_dropped": 0, "service": "getir", "service_name": "Getir", "match_mode": "catalogue", "query": "kuzeyden", "categories_read": 1 } }
How the Getir API works
Getir is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 252 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
Track one grocery shelf on both Getir price lists
Getir and GetirBüyük sell the same products at different prices, so a tracker that stores one number per product mixes two price lists. Three calls keep them apart.
{"category": "Su & İçecek", "sort": "unit_price_asc"}Every product on the shelf with price, struck price, discount and unit price, cheapest per unit first, 50 per page.
{"category": "Su & İçecek", "service": "buyuk"}The same shelf on GetirBüyük. Match rows on product_id - on 2026-09-15 832 of 846 shared products had a different price.
{"product_id": "603545c9877ea1efbab7dc90"}The full record: 473.99 TRY with a struck 695.76 on Getir, pack size, unit price, brand, category and shelf.
One shelf priced on both Getir services, matched on the same product id, with unit prices on the same basis.
curl -X POST https://api.reefapi.com/getir/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"kuzeyden","category":"551430043427d5010a3a5c5e"}'{
"ok": true,
"data": { … },
"meta": {
"api": "getir",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}Getir and GetirBüyük are two price lists - the same product costs a different amount on each
The first thing to know before you build a Turkish grocery price tracker on Getir. The same product id is sold by both services at different prices, so the API asks which one you want and echoes it on every response. Measured on 2026-09-15.
| What was compared | Getir (service=getir) | GetirBüyük (service=buyuk) |
|---|---|---|
| Kuzeyden Su 24 x 500 ml | 473.99 TRY, struck 695.76 (32% off) | 487.50 TRY, struck 612.00 (20% off) |
| Su & İçecek products sold on both | 846 products | 846 products |
| Different price | 832 of 846 | cheaper on GetirBüyük for 800, dearer for 32 |
| Same price and same struck price | 2 of 846 | 2 of 846 |
service defaults to getir. A getir.com/buyuk/ product or category URL selects GetirBüyük on its own, and a URL that contradicts the service you pass is rejected rather than silently answered from the wrong price list.
Which catalogue, which price, which id, and what Getir does not publish
getir.com only - Turkey, TRY, two grocery services. Measured on 2026-09-15 across the whole 17-category catalogue, 25 searches, 28 product reads and an independent comparison with Getir's own product pages on 7 products. Four of these lines go against us.
This engine reads getir.com's grocery catalogue. Every price is TRY. There is no country parameter because Getir's catalogue for other countries is empty - it was checked for the United Kingdom, Germany, the Netherlands and the United States on 2026-09-15.
service=getir is the quick market (default), service=buyuk is GetirBüyük. In Su & İçecek, 832 of 846 products sold on both had a different price on 2026-09-15 - GetirBüyük cheaper on 800 and dearer on 32. Every response echoes service and service_name.
Prices are Getir's service-wide price. They were identical to Getir's own category pages on 872 of 872 products in Su & İçecek and 114 of 114 in Meyve & Sebze, and to Getir's own product pages on 7 of 7 products.
Title, price, struck price and brand on a search or category row were checked against the full product record for 28 products across 12 categories and both services: equal on 28 of 28.
Product ids look like 603545c9877ea1efbab7dc90. product/detail also accepts the product slug and any getir.com product URL. A dead id returns NOT_FOUND, never another product, and so does a product asked on the service that does not sell it.
Getir's own search box needs a signed-in account. search matches your words on the public catalogue - product name, brand, pack size, diet tag, shelf - and says so with match_mode catalogue. Searching all 17 categories takes several seconds; passing one category is much faster.
Stock and delivery depend on the warehouse serving an address, which needs a Getir account. in_stock is null rather than guessed, and prices are the service-wide price.
69 fruit and vegetable rows, 30 meat rows and 3 deli rows were hidden on 2026-09-15, exactly as on Getir's own pages. include_hidden=true returns them; loose fruit and vegetables have no product record, weight-sold meat and deli items do.
Getir publishes no product ratings or reviews and no barcode, so those fields are null. Campaign badges are images only - badge_images returns their URLs and no label is invented.
What people build with Getir
The jobs this data is most often used for.
endpoints
credits per call
Turkish grocery price trackers record Getir and GetirBüyük prices separately, because the same product costs a different amount on each.
FMCG brands watch their struck prices and discount depth on Getir with deals, filtered by brand and category.
Retail analysts compare per-kg and per-litre unit prices across a Getir category with sort=unit_price_asc.
Catalogue and nutrition apps pull ingredients, nutrition tables, origin and manufacturer from product/detail.
What Getir data costs
The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,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 →- 1,000 free credits on signup, no card
- One key, all 252 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 -X POST https://api.reefapi.com/getir/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"kuzeyden","category":"551430043427d5010a3a5c5e"}'import requests
r = requests.post(
"https://api.reefapi.com/getir/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "kuzeyden",
"category": "551430043427d5010a3a5c5e"
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up Getir.
Get a free key →Which prices does the API return - my neighbourhood's?▾
Getir's service-wide price: the price getir.com shows a visitor who has not entered a delivery address. On 2026-09-15 that price was identical to the one on Getir's own category page for every product compared (872 of 872 in Su & İçecek, 114 of 114 in Meyve & Sebze). Stock depends on the warehouse that delivers to an address, so in_stock is null rather than guessed.
Why does search say match_mode catalogue?▾
Because the matching is done on Getir's public catalogue rather than by Getir's own search box, which needs a signed-in Getir account. Every word you type must appear in the product name, brand, pack size, diet tag or shelf name; Turkish and ASCII spellings match each other, so cay finds Çay. Pass category to search one of the 17 categories and the call is much faster; without it all 17 are searched.
Some fruit, vegetables and meat never appear - why?▾
Getir's catalogue carries items sold by weight that getir.com does not list for a visitor without a delivery address. The API follows the site: on 2026-09-15 it hid 69 rows in Meyve & Sebze, 30 in Et, Tavuk & Balık and 3 in Kahvaltılık, exactly the rows Getir's own pages left out, and counts them in hidden_rows_dropped. include_hidden=true returns them. Loose fruit and vegetables among them have no product record at all; weight-sold meat and deli items do, and product/detail reads them with their weight options.
How are items sold by weight priced?▾
The price is for the initial weight and the unit price is per kg. Etin En İyisi Kuzu Sırt is 1,545.75 TRY for 500 g, which is 3,091.50 TRY per kg; weight_options returns the initial weight (500 g), the step (500 g) and the minimum (300 g), and sold_by reads weight.
What does product/detail add to a search row?▾
The description, ingredients, usage notes, the nutrition table as rows with name, value as printed, the value as a number and the unit, bundle contents with each item's size and count, weight options, and the product-safety block Getir shows - origin, manufacturer, registered trade name and registration number - as labelled fields. Getir's product record itself carries only a brand id, so product/detail also looks up the brand name, category and shelf; resolve_brand=false skips that and returns in one small read.
Does a product appear more than once?▾
Not in the results. Getir places some products on several shelves of the same category - 749 products were listed on two or more shelves on 2026-09-15 - so rows are de-duplicated on product_id and subcategories lists every shelf the product sits on.
What does Getir NOT publish?▾
Ratings and reviews - there are none, so rating, review_count and rating_scale are null. No barcode. No stock count or per-address price without a delivery address. Campaign badges are images only, so badge_images returns their URLs and no badge text is invented. Nutrition tables and ingredients appear only where Getir publishes them (on 28 products sampled across 12 categories on 2026-09-15, 11 had a nutrition table and 15 had ingredients; origin and manufacturer were published on 3).
What is the Getir API?▾
Getir API is a ReefAPI endpoint group for turkish quick-commerce grocery: getir and getirbüyük prices, discounts and label facts. It returns live JSON through POST requests under /getir/v1.
Is the Getir API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. Getir calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Getir login or account?▾
No login to Getir 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 Getir data?▾
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Getir API use?▾
Getir actions currently cost 1-2 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Getir from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call getir actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Getir API a Getir scraper?▾
It is the managed alternative to a DIY Getir scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same turkish quick-commerce grocery: getir and getirbüyük prices, discounts and label facts back as clean JSON.
91 E-commerce & Marketplaces APIs on the same key
One key, one credit pool, one response envelope. If you are pulling Getir, you are one call away from the rest of the category — no second contract, no second integration.
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.
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 251 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-09-15.