Pazarama API

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.

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

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.

2 endpoints

search

1 cr

Search pazarama.com by keyword, or browse any Pazarama category or brand listing, with price…

required
optional
query, url, page, sort, price_min, price_max, brand, max_rotations

product/detail

1 cr

The full Pazarama listing by product URL (or product_code + seller).

required
optional
url, product_code, seller, max_rotations

Every parameter, every allowed value →

Pazarama API

2 of 2 endpoints, ready to run

View docs ↗

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.

1 credit0 required · 7 optional
POST/pazarama/v1/search
ok417 ms · 20 records · sample
{
  "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"
  }
}
Real response, fetched from the live endpoint with the parameters on the left — trimmed to the first few rows. Press Try it for the untrimmed response.

How the Pazarama API works

Pazarama 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 252 engines.

02
Call
POST /pazarama/v1/…

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

03
Pay
1 credit 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.

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.

01search
POST/pazarama/v1/search
{"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.

02detail
POST/pazarama/v1/product/detail
{"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.

request
curl -X POST https://api.reefapi.com/pazarama/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"airfryer"}'
response envelope
{
  "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 TRY8,429.85 TRYrating 4.5
adidas Handball Spezial (korayspor)5,999.00 TRY5,519.08 TRYunrated, so rating is null
V Yaka Tül Elbise (koton)2,799.99 TRY2,716.00 TRYunrated, so rating is null
Xiaomi Redmi 15C (Pazarama)12,999.00 TRYnull, no basket discountrating 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.

One market: Turkey, prices in TRY

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.

A row is one seller's listing, and the URL keeps the seller

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.

Two prices, kept apart

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.

An unknown keyword is an empty result, not a page of guesses

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.

Against us: search-row ratings are the search index's, not the listing's

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 only when it is really a barcode

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.

Against us: no other sellers' offers on the product page

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.

Against us: no sibling variant list, and only the newest reviews

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.

Against us: no was-price and no shipping cost

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.

2

endpoints

1

credit per call

01

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.

02

Brands watch which sellers list their products on Pazarama, at what price and with how much declared stock, by browsing their brand URL.

03

Catalog teams pull the barcode, attributes, variant axes, breadcrumb and description for listings they match by GTIN.

04

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 →
$0.67–$1.50 / 1,000 credits
  • 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
curl -X POST https://api.reefapi.com/pazarama/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"airfryer"}'
python
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"])
FAQ

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.

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 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.