Every A101 price, with the basket and multi-buy offers kept apart
The A101 API turns a101.com.tr, the online shop of Turkey's A101 discount grocery chain, into clean JSON in four actions.
4 active endpoints. Every call is 1 credit.
- POST/a101/v1/search
- POST/a101/v1/product/detail
- POST/a101/v1/campaigns
- POST/a101/v1/suggest
What A101 endpoints does ReefAPI ship?
4 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
A101 API
3 of 4 endpoints, ready to run
60 products a page from A101 Kapıda or A101 Ekstra: id, title, brand, URL, image, shelf price, struck price and discount, campaign badges with dates, in-basket and multi-buy offers.
{ "ok": true, "meta": { "api": "a101", "endpoint": "search", "mode": "live", "latency_ms": 326, "record_count": 60, "cache_hit": false }, "data": { "channel": "kapida", "results": [ { "position": 1, "product_id": "12002661", "channel": "kapida", "title": "Peynes Süzme Tam Yağlı Taze Beyaz Peynir 500 G", "brand": "PEYNES", "url": "https://www.a101.com.tr/kapida/sut-urunleri-kahvaltilik/peynes-suzme-tam-yagli-taze-beyaz-peynir-500-g_p-12002661", "image": "https://cdn2.a101.com.tr/dbmk89vnr/CALL/Image/get/ffxRpPQxI9_1024x1024.png", "price": 119, "price_before_discount": null, "discount_percent": null, "currency": "TRY", "in_stock": true, "sold_at_store": true, "store_code": "VS032", "campaigns": [], "campaign_conditions": null, "basket_offer": null, "multi_buy": null, "unit_price": null, "sales_unit": "piece", "base_unit": "piece", "max_order_quantity": 10, "category": "Beyaz Peynir", "category_id": "C0501", "category_path": [ "Süt Ürünleri, Kahvaltılık", "Beyaz Peynir" ] }, { "position": 2, "product_id": "12002138", "channel": "kapida", "title": "Ahir Tam Yağlı Taze Beyaz Peynir 750 G", "brand": "AHİR", "url": "https://www.a101.com.tr/kapida/sut-urunleri-kahvaltilik/ahir-tam-yagli-taze-beyaz-peynir-750-g_p-12002138", "image": "https://cdn2.a101.com.tr/dbmk89vnr/CALL/Image/get/SL5KQFV0cu_1024x1024.png", "price": 205, "price_before_discount": null, "discount_percent": null, "currency": "TRY", "in_stock": true, "sold_at_store": true, "store_code": "VS032", "campaigns": [], "campaign_conditions": null, "basket_offer": null, "multi_buy": null, "unit_price": null, "sales_unit": "piece", "base_unit": "piece", "max_order_quantity": 10, "category": "Beyaz Peynir", "category_id": "C0501", "category_path": [ "Süt Ürünleri, Kahvaltılık", "Beyaz Peynir" ] }, { "position": 3, "product_id": "12003722", "channel": "kapida", "title": "Tahsildaroğlu Klasik İnek Beyaz Peyniri 500 G", "brand": "TAHSİLDAROĞLU", "url": "https://www.a101.com.tr/kapida/sut-urunleri-kahvaltilik/tahsildaroglu-klasik-inek-beyaz-peyniri-500-g_p-12003722", "image": "https://cdn2.a101.com.tr/dbmk89vnr/CALL/Image/get/x344AOs7zi_1024x1024.png", "price": 199, "price_before_discount": 389, "discount_percent": 49, "currency": "TRY", "in_stock": true, "sold_at_store": true, "store_code": "VS032", "campaigns": [ { "code": "Z130", "label": "Aylık Fırsat Ürünü", "site_name": "AylıkFırsatÜrünü", "starts_on": "2026-09-02", "ends_on": "2027-01-29" } ], "campaign_conditions": [ "10 tl ve üzeri alışverişlerde BEYAZ PEYNİR KLASİK 500 G TAHSİLDAROĞLU 229 tl (12003722)" ], "basket_offer": null, "multi_buy": null, "unit_price": null, "sales_unit": "piece", "base_unit": "piece", "max_order_quantity": 5, "category": "Beyaz Peynir", "category_id": "C0501", "category_path": [ "Süt Ürünleri, Kahvaltılık", "Beyaz Peynir" ] } ], "count": 60, "total_results": 256, "total_pages": 5, "page": 1, "page_size": 60, "has_more": true, "keyword_matches_on_page": 60, "fallback_results_dropped": 0, "store_code": "VS032", "query": "peynir", "sort": "relevance" } }
How the A101 API works
A101 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.
This week's Haftanın Yıldızları, with the full record of one product
Two calls from the weekly campaign to a product's barcodes, weight and storage condition.
{"campaign": "haftanin_yildizlari"}Every Haftanın Yıldızları product in A101 Kapıda (53 on 2026-09-15) with price, struck price and the badge's start and end date. Take results[].product_id.
{"product_id": "<results[0].product_id>"}The product with its barcodes, net and gross weight, storage condition, country of origin, shelf life and description. Price, title and availability matched A101's own figures on 12 of 12 products checked.
The week's campaign price list and the product facts a catalogue or price tracker needs, with every price labelled for what it is.
curl -X POST https://api.reefapi.com/a101/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"peynir","channel":"kapida"}'{
"ok": true,
"data": { … },
"meta": {
"api": "a101",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}A101 prints several prices per product, and the API keeps them apart
An A101 product can show a shelf price, a struck-through was-price, a lower price that only applies inside a qualifying basket, and a different price in its other online shop. The API returns each under its own name, so the price you store is always the price a shopper pays for one item.
| Product (2026-09-15) | price | What else A101 shows | API fields |
|---|---|---|---|
| Torku Tam Yağlı Tost Peyniri 1 Kg (Kapıda) | 599.00 TRY | 409 TRY inside a basket of 10 TRY or more | basket_offer.price 409, basket_offer.condition |
| Tahsildaroğlu Klasik İnek Beyaz Peyniri 500 G (Kapıda) | 199.00 TRY | struck 389.00 TRY, Aylık Fırsat badge | price_before_discount 389, discount_percent 49, campaigns[0].label |
| Piranha 2220 Bluetooth headphones (Ekstra) | 599.00 TRY | struck 649.00 TRY; 649.00 TRY in Kapıda | price_before_discount 649, other_channel_offer.price 649 |
Campaign texts can carry a number that is not the price: the cheese above had a campaign line ending in "229 tl" while its shelf price was 199 TRY. That text is returned as text in campaign_conditions and never turned into a price.
Which shop, which price, and what A101 leaves out
a101.com.tr only: Turkey, TRY. Measured on 2026-09-15 across 44 searches, 24 products, 8 campaign lists and 12 products compared against A101's own figures. Three of these lines go against us.
channel kapida is A101 Kapıda (groceries and household), channel ekstra is A101 Ekstra (electronics, home, fashion). 22 of 22 searches succeeded in each shop.
price is the shelf price; price_before_discount, basket_offer and multi_buy are separate fields. On the 10 TL ve üzeri sepette list, 60 of 60 products carried their basket price separately; on Çok Al Az Öde, 9 of 9 carried their multi-buy price.
The same product id can cost 599 TRY in Ekstra and 649 TRY in Kapıda (checked 2026-09-15). product/detail returns both instead of picking one.
For 12 of 12 Kapıda products checked: barcodes, net weight, storage condition, country of origin, shelf life and description. Ekstra products carried a stock count on 12 of 12.
Kapıda prices are for A101's default online store (store_code). Prices did not differ between stores on the products we checked, but a price for a specific delivery address is not available.
A101 publishes no ratings or reviews in either shop, and Kapıda shows only whether a product is in stock, not how many.
Products A101 sells only in its physical stores, including some brochure items, are not in the online shops and not in the campaign lists. Kapıda search has no working sort order.
What people build with A101
The jobs this data is most often used for.
endpoints
credit per call
Grocery price monitoring on one of Turkey's largest discount chains, with shelf, struck, in-basket and multi-buy prices kept apart.
Weekly Aldın Aldın and Haftanın Yıldızları tracking: every campaign product with its price and badge dates.
Retail analysts compare A101 Kapıda and A101 Ekstra prices for the same product.
Product catalogues with barcodes, net weight, storage condition, origin and shelf life for FMCG items.
What A101 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/a101/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"peynir","channel":"kapida"}'import requests
r = requests.post(
"https://api.reefapi.com/a101/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "peynir",
"channel": "kapida"
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up A101.
Get a free key →What is the difference between kapida and ekstra?▾
They are A101's two online shops. kapida is A101 Kapıda: groceries, drinks, cleaning and personal care, delivered from a store, priced at that store. ekstra is A101 Ekstra: electronics, home, furniture, fashion and toys, shipped. A cheese search in ekstra returns nothing, a TV search in kapida returns nothing useful, so pick the shop for the product type. product/detail with channel auto finds an id in either shop.
Which price is the one I pay?▾
price, the shelf price of one item. price_before_discount is the struck price when A101 shows one. basket_offer is a lower price that applies only inside a qualifying basket (for example "10 TL ve Üzeri Sepette": 599 TRY on the shelf, 409 TRY in a basket of 10 TRY or more). multi_buy is the per-item price when you buy at least min_quantity. None of these are ever written into price.
Does the same product cost the same in Kapıda and Ekstra?▾
Not always. On 2026-09-15 Piranha 2220 headphones were 599 TRY (struck 649) in Ekstra and 649 TRY in Kapıda under the same product id. product/detail with channel auto returns the Ekstra record and the Kapıda price in other_channel_offer; with channel kapida or ekstra it returns that shop only.
Which store are Kapıda prices for?▾
A101's default online store, returned as store_code. We checked whether prices differ between stores: on 60 cheese products carried in up to 275 stores, none had more than one price. Prices for a specific delivery address are not part of this API.
What do the campaigns contain?▾
campaigns lists every product carrying the campaign badge, 60 a page. On 2026-09-15: Aldın Aldın 191 Kapıda products and 80 Ekstra products, Haftanın Yıldızları 53, Aldın Aldın X 737, Aylık Fırsat 832, 10 TL ve üzeri sepette 203 (each with its basket price), Çok Al Az Öde 9 (each with its multi-buy price) and Aldın Aldın Ekstra 184. Each product's campaigns[] carries the badge's start and end date. Products A101 sells only in its physical stores are not in the online shops and not in these lists.
What does a search for a made-up word return?▾
An empty results list. A101 fills a no-match search with unrelated products; those are dropped and counted in fallback_results_dropped, and include_fallback_results true returns them separately. Typos still work: "samsng" returns Samsung products and "peynr" returns cheese. On the live check, 16 of 16 made-up words came back empty and none of 44 real searches did.
What does A101 not publish?▾
Ratings and reviews (neither shop has them), a stock count for Kapıda products (in stock or not only; Ekstra publishes a count), a structured nutrition table (only inside the Kapıda description text), and a unit price for most products. Kapıda search has no sort order that A101 applies, so only relevance is accepted there. A101 publishes some goods under the brand "BOŞ" (empty); brand is null for those.
What is the A101 API?▾
A101 API is a ReefAPI endpoint group for turkish discount grocery: kapıda and ekstra prices, aldın aldın campaigns, basket and multi-buy offers. It returns live JSON through POST requests under /a101/v1.
Is the A101 API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. A101 calls use the same shared credit balance as every other ReefAPI engine.
Do I need an A101 login or account?▾
No login to A101 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 A101 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 A101 API use?▾
A101 actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call A101 from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call a101 actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the A101 API an A101 scraper?▾
It is the managed alternative to a DIY A101 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 discount grocery: kapıda and ekstra prices, aldın aldın campaigns, basket and multi-buy offers 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 A101, 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.