Bazos
Bazos
/bazos/v1/search1 creditSearch Bazos classifieds by keyword and/or category, with subcategory, postal-code radius, price band, five sorts and paging (20 ads per page). Paid TOP ads are returned in the position Bazos puts them and flagged `promoted: true` — they are not always on topic, so they are labelled rather than hidden or passed off as hits.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| market = cz | optional | cz · sk | Which Bazos catalogue to read. The two are separate marketplaces with separate listings, separate category slugs and separate currencies; an unsupported value is rejected, never substituted. |
| query | optional | — | Keyword Bazos matches against ad titles and bodies. Optional when `category` is given (then the whole category is browsed). |
| category | optional | auto · auto · deti · deti · dom · dum · elektro · elektro · foto · foto · hudba · hudba · knihy · knihy · mobil · mobil · motocykle · motorky · nabytek · nabytok · obleceni · oblecenie · ostatne · ostatni · pc · pc · praca · prace · reality · reality · sluzby · sluzby · sport · sport · stroje · stroje · vstupenky · vstupenky · zvierata · zvirata | Bazos rubrika slug. 🔴 The Czech and Slovak slugs differ (dum/dom, motorky/motocykle, nabytek/nabytok, obleceni/oblecenie, prace/praca, zvirata/zvierata, ostatni/ostatne) — call `categories` for the market you are querying. |
| subcategory | optional | — | Subcategory slug inside `category`, e.g. 'apple' under 'mobil' or 'audi' under 'auto'. Get the list from the `categories` action with a `category`. Requires `category`. |
| sort = newest | optional | newest · price_asc · price_desc · most_viewed · least_viewed | Result order. Note: the two price sorts make Bazos drop ads whose price is a word ('Dohodou', 'Nabidnete', 'V textu'), so the reported total shrinks; meta reports that. |
| postal_code | optional | — | Five-digit postal code to centre the search on (Czech or Slovak, matching `market`). Combined with `radius_km`. A code Bazos does not know is rejected, not silently ignored. |
| radius_km = 25 | optional | 0–500 | Search radius in km around `postal_code`. Ignored by Bazos when no postal code is given. |
| price_min | optional | 0– | Lowest price to include, a whole number in the market's currency (CZK for cz, EUR for sk). Bazos' own price fields are whole numbers. |
| price_max | optional | 0– | Highest price to include, a whole number in the market's currency (CZK for cz, EUR for sk). Bazos' own price fields are whole numbers. |
| page = 1 | optional | 1–500 | 1-based page. Bazos serves 20 ads per page. |
/bazos/v1/listing1 creditFull detail of one Bazos ad: title, complete description, price, locality, view count, posting date, breadcrumb and every photo. Accepts the ad URL, or a listing_id together with its category.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| market = cz | optional | cz · sk | Which Bazos catalogue to read. The two are separate marketplaces with separate listings, separate category slugs and separate currencies; an unsupported value is rejected, never substituted. |
| url | optional | — | Full Bazos ad address, exactly as `search` returns it. The simplest handle — it already carries the category and the market. |
| listing_id | optional | — | Numeric ad id. Needs `category` as well, because the category is the host of the address on Bazos. Prefer `url`. |
| category | optional | — | Rubrika slug that hosts the ad — required with `listing_id`, ignored when `url` is given. |
/bazos/v1/categories1 creditThe market's own category tree — the resolver `search` needs, because Czech and Slovak Bazos use different slugs for the same rubrika. With no `category` it returns the 20 rubriky with the live totals Bazos prints; with a `category` it returns that rubrika's subcategories.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| market = cz | optional | cz · sk | Which Bazos catalogue to read. The two are separate marketplaces with separate listings, separate category slugs and separate currencies; an unsupported value is rejected, never substituted. |
| category | optional | — | Omit to list the market's 20 rubriky with their live totals; pass a rubrika slug to list ITS subcategories instead. |
curl -X POST https://api.reefapi.com/bazos/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{}'{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.
Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.
Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.
No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.
Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.