Every Pazarama listing with both of its prices, per seller
The Pazarama API turns pazarama.com, the Turkish multi-seller marketplace, into clean JSON in two actions: search and product/detail.
2 active endpoints. Every call is 1 credit.
- POST/pazarama/v1/search
- POST/pazarama/v1/product/detail
What Pazarama endpoints does ReefAPI ship?
2 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
Pazarama API
2 of 2 endpoints, ready to run
One page of Pazarama listings: product and listing ids, product code and barcode, title, the seller's listing URL, brand, seller, the shown price, the in-basket price, availability, stock and category.
{ "ok": true, "meta": { "api": "pazarama", "endpoint": "search", "mode": "live", "latency_ms": 417.3, "record_count": 20, "cache_hit": false }, "data": { "results": [ { "position": 1, "product_id": "24e396a6-ef84-4279-8c7f-08db293427b9", "listing_id": "0ee1a18d-c386-44ba-bb66-08dee9884827", "product_code": "8720389015144", "barcode": "8720389015144", "title": "Philips Airfryer HD9285/96 5000 Serisi XXL Connected 7.2 lt Yağsız Fritöz", "url": "https://www.pazarama.com/philips-hd9285-96-xxl-connected-wi-fi-baglanti-7-l-airfryer-p-8720389015144?magaza=hoki", "image": "https://img.pzrmcdn.com/asset/8720389015144/images/philipshd928596xxlconnectedwifibalant7lairfryer-8.jpg", "images": [ "https://img.pzrmcdn.com/asset/8720389015144/images/philipshd928596xxlconnectedwifibalant7lairfryer-8.jpg", "https://img.pzrmcdn.com/asset/8720389015144/images/philipshd928596xxlconnectedwifibalant7lairfryer-9.jpg", "https://img.pzrmcdn.com/asset/8720389015144/images/philipshd928596xxlconnectedwifibalant7lairfryer-10.jpg" ], "brand": "Philips", "brand_id": "df697132-834a-406a-5e3d-08db189b8a73", "seller": { "id": "f07e77d6-7232-40b1-2e46-08dd16bcecbc", "name": "HoKi", "slug": "hoki", "url": "https://www.pazarama.com/magaza/hoki" }, "price": 8419, "price_display": "8.419,00 TL", "basket_price": 7913.86, "basket_price_display": "7.913,86 TL", "lowest_price": 7913.86, "plus_member_price": null, "price_before_discount": null, "basket_price_label": "Sepette İndirimli Fiyatı", "discount_percent": null, "currency": "TRY", "lowest_price_in_30_days": true, "search_index_rating": 4.5, "search_index_rating_count": 52, "rating_scale": 5, "availability": "in_stock", "in_stock": true, "stock_count": 1, "category": { "id": "866c4ccb-0b83-4c0d-bc19-39418f151d88", "name": "Fritözler" }, "has_variants": false, "variant_group_code": "3d173d41-3179-47b0-8e1f-67158188b4e2_siyah", "pazarama_plus": false }, { "position": 2, "product_id": "a4086df4-f423-4b91-bf91-e8988fd5801b", "listing_id": "533885be-649b-46ef-a5ab-08de9efa86a3", "product_code": "BSSARFRYKR0001", "barcode": null, "title": "Airfryer Pişirme Kağıdı, Fritöz Yağlı Kağıdı, Yanmaz Kağıt 50 Adet Kare", "url": "https://www.pazarama.com/airfryer-pisirme-kagidi-fritoz-yagli-kagidi-yanmaz-kagit-50-adet-kare-p-BSSARFRYKR0001?magaza=omnicart", "image": "https://img.pzrmcdn.com/asset/BSSARFRYKR0001/images/airfryerpiirmekadfritzyalkadyanmazkat50adetkare-1.jpg", "images": [ "https://img.pzrmcdn.com/asset/BSSARFRYKR0001/images/airfryerpiirmekadfritzyalkadyanmazkat50adetkare-1.jpg", "https://img.pzrmcdn.com/asset/BSSARFRYKR0001/images/airfryerpiirmekadfritzyalkadyanmazkat50adetkare-2.jpg", "https://img.pzrmcdn.com/asset/BSSARFRYKR0001/images/airfryerpiirmekadfritzyalkadyanmazkat50adetkare-3.jpg" ], "brand": "busstier", "brand_id": "7700d83c-20fa-4776-a7e4-08dd07ac2dff", "seller": { "id": "f4523c23-8cb7-49eb-3a04-08de0c890944", "name": "omnicart", "slug": "omnicart", "url": "https://www.pazarama.com/magaza/omnicart" }, "price": 102.4, "price_display": "102,40 TL", "basket_price": 96.26, "basket_price_display": "96,26 TL", "lowest_price": 96.26, "plus_member_price": null, "price_before_discount": null, "basket_price_label": "Sepette İndirimli Fiyatı", "discount_percent": null, "currency": "TRY", "lowest_price_in_30_days": false, "search_index_rating": 4.8, "search_index_rating_count": 6, "rating_scale": 5, "availability": "in_stock", "in_stock": true, "stock_count": 245, "category": { "id": "6a1e8feb-910c-496c-88a3-21452f0c7d71", "name": "Pişirme Kağıdı, Torbası" }, "has_variants": false, "variant_group_code": "A4086DF4-F423-4B91-BF91-E8988FD5801B", "pazarama_plus": false }, { "position": 3, "product_id": "e386b521-17b0-4843-436e-08daa507002e", "listing_id": "c4e91f1d-75b0-4037-dd9c-08daa6fcf779", "product_code": "8699131762677", "barcode": "8699131762677", "title": "Schafer Termochef XL 5 lt Yağsız Airfryer Siyah", "url": "https://www.pazarama.com/schaffer-schafer-fit-fry-xl-siyah-sicak-hava-fritozu-p-8699131762677?magaza=schafer", "image": "https://img.pzrmcdn.com/asset/8699131762677/1ecc1eb6-97f8-4098-51da-08da76bad675/schafferschaferfitfryxlsiyahscakhavafritz-1.jpg", "images": [ "https://img.pzrmcdn.com/asset/8699131762677/1ecc1eb6-97f8-4098-51da-08da76bad675/schafferschaferfitfryxlsiyahscakhavafritz-1.jpg", "https://img.pzrmcdn.com/asset/8699131762677/1ecc1eb6-97f8-4098-51da-08da76bad675/schafferschaferfitfryxlsiyahscakhavafritz-2.jpg", "https://img.pzrmcdn.com/asset/8699131762677/1ecc1eb6-97f8-4098-51da-08da76bad675/schafferschaferfitfryxlsiyahscakhavafritz-3.jpg" ], "brand": "Schafer", "brand_id": "0fb5650e-3f5c-4cf3-80c9-b4727b65abb4", "seller": { "id": "7b26b685-4e02-4216-4297-08da9d3a3384", "name": "Schafer", "slug": "schafer", "url": "https://www.pazarama.com/magaza/schafer" }, "price": 2299, "price_display": "2.299,00 TL", "basket_price": 2184.05, "basket_price_display": "2.184,05 TL", "lowest_price": 2184.05, "plus_member_price": null, "price_before_discount": null, "basket_price_label": "Sepette İndirimli Fiyatı", "discount_percent": null, "currency": "TRY", "lowest_price_in_30_days": true, "search_index_rating": 3.8, "search_index_rating_count": 12, "rating_scale": 5, "availability": "in_stock", "in_stock": true, "stock_count": 515, "category": { "id": "866c4ccb-0b83-4c0d-bc19-39418f151d88", "name": "Fritözler" }, "has_variants": false, "variant_group_code": "8af64fcc-ce95-acf5-21f7-e1903a4e6629_siyah", "pazarama_plus": false } ], "count": 20, "total_results": 1963, "total_pages": 99, "page": 1, "page_size": 20, "sort": "relevance", "applied_filters": [ { "field": "Search", "value": "airfryer" } ], "breadcrumb": [ { "name": "airfryer", "url": "https://www.pazarama.com/arama?q=airfryer", "category_id": null } ], "no_match_notice": null, "page_notice": null, "duplicate_rows_dropped": 0, "listing_url": "https://www.pazarama.com/arama?q=airfryer" } }
How the Pazarama API works
Pazarama 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.
Browse a category, then read one seller's full listing
A search row is already one seller's offer. The second call opens exactly that offer, not whichever seller Pazarama shows by default.
{"url": "https://www.pazarama.com/cep-telefonu-k-K03043", "sort": "price_asc"}20 listings in the site's price order. Take results[].url. Each row also has price, basket_price and lowest_price, so the ordering is visible in the data.
{"url": "<results[0].url>"}That seller's listing: barcode, attributes, stock, seller score, rating histogram, newest reviews and description. product_id, listing_id, price and title matched the search row on 22 of 22 listings checked.
One flat credit for the page and one for the listing, with the shown price and the in-basket price kept apart all the way through.
curl -X POST https://api.reefapi.com/pazarama/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"airfryer"}'{
"ok": true,
"data": { … },
"meta": {
"api": "pazarama",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}Pazarama shows two prices, and the price sort follows the lower one
A Pazarama listing prints the sale price and, when a basket campaign runs, a lower "Sepette İndirimli Fiyatı" (in-basket price). The API returns them separately as price and basket_price, plus lowest_price, the lower of the two. That is the number the site's own price sort follows: on 2026-09-15 a price_asc and a price_desc page were both in perfect order by lowest_price and had 3 rows out of order by price.
| Listing (seller) | price (shown) | basket_price (in basket) | Also on the page |
|---|---|---|---|
| Philips Airfryer HD9285/96 (Martelektronik) | 8,565.00 TRY | 8,429.85 TRY | rating 4.5 |
| adidas Handball Spezial (korayspor) | 5,999.00 TRY | 5,519.08 TRY | unrated, so rating is null |
| V Yaka Tül Elbise (koton) | 2,799.99 TRY | 2,716.00 TRY | unrated, so rating is null |
| Xiaomi Redmi 15C (Pazarama) | 12,999.00 TRY | null, no basket discount | rating 4.6 |
Some listings also carry a higher internal list price that the page never displays anywhere. Returning it as a was-price would invent a discount, so price_before_discount is always null. The site's own structured data (ld+json) publishes the in-basket price as the offer price on 5 of the 6 pages compared, which is why reading it gives a different number than the one shoppers see first.
Which market, what a row is, which price, and what Pazarama leaves out
pazarama.com only: one country, one currency, and a row that is a seller's listing rather than a product. Measured on 2026-09-15 across 22 searches, 22 listings in 9 top categories and 6 product pages compared against the page itself. Four of these lines go against us.
This API reads pazarama.com. There is no country parameter because there is no other storefront. Every price is Turkish lira, returned as a number with the site's own formatted string beside it.
product_id identifies the product and listing_id identifies one seller's offer of it. Every URL returned carries the seller, because Pazarama's plain product URL opens its default seller, which can be another shop at another price. Asking product/detail for a seller that no longer lists the product returns the default listing with requested_seller_served set to false.
price is what the page shows, basket_price is the lower in-basket price when a basket campaign applies (16 of 22 listings checked), and lowest_price is the lower of the two, which is what the site's price sort follows. On 6 pages compared against the page text, the shown price and the in-basket price matched on 6 of 6, and the page showed no price the API does not return.
For a keyword it does not know, Pazarama fills the page with unrelated suggestions. The API returns no results and the site's notice text in no_match_notice. A page past the end is also returned empty, not as page 1 again.
A search row's rating and count come from Pazarama's search index and are returned as search_index_rating and search_index_rating_count. Checked against the product page on 2026-09-15, the count differed on 9 of 19 listings and the rating on 6 of 19. The listing's own rating, rating count, written-review count and 1-5 breakdown come from product/detail, and its rating count matched the page text on every rated page compared.
barcode is set only when the product code passes the GTIN check digit (16 of 22 listings). Seller-specific codes stay in product_code. Unrated items return null rating, count and scale, never 0.
Pazarama does not publish the list of other sellers for a product to an anonymous visitor, so other_offers is null. The multi-seller view that does exist is search: a product sold by several shops appears as several rows.
The full list of colour or size siblings is not published, so variants is null. has_variants, variant_attributes (this listing's own colour or size) and the variant_group_code on search rows are. Reviews are the newest ones on the page plus the complete 1-5 breakdown and totals, not every review.
Some listings hold a higher internal list price that the page never shows, so price_before_discount is always null rather than a discount nobody sees. Shipping cost and delivery date are not published on the product page either.
What people build with Pazarama
The jobs this data is most often used for.
endpoints
credit per call
Turkish price-monitoring teams track both the shown price and the in-basket price per seller, since the site sorts and discounts on the in-basket one.
Brands watch which sellers list their products on Pazarama, at what price and with how much declared stock, by browsing their brand URL.
Catalog teams pull the barcode, attributes, variant axes, breadcrumb and description for listings they match by GTIN.
Marketplace analysts compare seller scores and 1-5 rating breakdowns across a category listing.
What Pazarama 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/pazarama/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"airfryer"}'import requests
r = requests.post(
"https://api.reefapi.com/pazarama/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "airfryer"
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up Pazarama.
Get a free key →Is a Pazarama result a product or a seller's listing?▾
A seller's listing. Pazarama is a marketplace: the same product can be sold by several shops, each at its own price and stock. Every row carries product_id (the product), listing_id (that seller's offer), the seller's name and slug, and a URL that opens that seller's listing. Give product/detail that URL and you get that seller's record. Without a seller, Pazarama's product page shows its own default seller, which can be a different shop at a different price. If you ask for a seller that no longer sells the product, the response flags it with requested_seller_served set to false instead of quietly giving you someone else's price.
Which price should I store?▾
Usually both. price is the price the page shows. basket_price is the lower in-basket price when a basket campaign applies, and it is null when there is none. lowest_price is the lower of the two. Of 22 listings checked on 2026-09-15, 16 had a basket price. Pazarama Plus member prices are returned separately as plus_member_price, only when they are lower still.
Why does a search for a made-up word return nothing, when the site shows products?▾
Because those products are not results. When Pazarama does not know a keyword it prints a "not found here, maybe you are looking for these" notice and fills the page with unrelated items: 295 of them, tea and coffee, for a nonsense keyword on 2026-09-15. The API returns an empty results list with no_match_notice holding the site's own text, so a monitoring job never records unrelated products as matches.
Why is the rating on a search row named search_index_rating?▾
Because it is not the listing's own figure. Pazarama's search results carry a rating and a count from its search index, and on 2026-09-15 that count disagreed with the same listing's product page on 9 of 19 listings, sometimes by a lot (954 against 255), the rating on 6 of 19, and 2 listings had an index rating while their page shows none. So search rows return those two numbers under search_index_rating and search_index_rating_count. product/detail returns rating and rating_count exactly as the product page prints them ("51 Değerlendirme" becomes 51), and written_review_count for how many of those ratings have written text (31 of the 51 in that example).
Does the barcode field always hold a barcode?▾
No, on purpose. Pazarama's product code is a GTIN on most listings, but some sellers use their own SKU there. barcode is filled only when the code passes the GTIN check digit, and product_code always carries the raw value. On 22 detail listings, 16 had a valid barcode. The other 6 used seller codes such as 70401581, which are kept in product_code.
How do search filters and paging behave?▾
They were each checked against the unfiltered result. For airfryer (1,975 results), a 1,000-3,000 TRY price range gave 185, a 20,000 TRY floor gave 58 and the Philips brand gave 32, all of them Philips. Page 1 and page 2 shared no listings. Pages are 20 listings each and total_pages says how many exist. Asking past the last page returns an empty page with page_notice. The site itself would show page 1 again or an empty frame, and neither is passed on as data.
What does Pazarama not publish?▾
Other sellers' offers for the same product on the product page, the full list of sibling variants, and paged reviews: these three are not published to an anonymous visitor, so other_offers and variants are null and reviews are limited to the newest ones on the page plus the complete 1-5 breakdown. Also absent: a struck-through was-price (never displayed), a maximum for the seller score, shipping cost, and a barcode when the seller used its own code. has_variants and variant_attributes still tell you that variants exist and which colour or size this listing is.
What is the Pazarama API?▾
Pazarama API is a ReefAPI endpoint group for turkish marketplace: every seller's listing with price, in-basket price, stock and seller score. It returns live JSON through POST requests under /pazarama/v1.
Is the Pazarama API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. Pazarama calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Pazarama login or account?▾
No login to Pazarama 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 Pazarama 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 Pazarama API use?▾
Pazarama 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 Pazarama from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call pazarama actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Pazarama API a Pazarama scraper?▾
It is the managed alternative to a DIY Pazarama 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 marketplace: every seller's listing with price, in-basket price, stock and seller score 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 Pazarama, 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.