# Bazos Listing Lookup — Czech & Slovak Classifieds API (`accountable_eel/bazos-listing-lookup`) Actor

Look up classified listings on Bazos (bazos.cz and bazos.sk), a dominant Czech/Slovak classifieds network, by URL — cars, real estate, jobs, and more. Get price, city, seller name, view count, and description. Pay only for listings that resolve.

- **URL**: https://apify.com/accountable\_eel/bazos-listing-lookup.md
- **Developed by:** [Adrian Voss](https://apify.com/accountable_eel) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 successful lookups

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Bazos Listing Lookup — Czech & Slovak Classifieds API

Look up any classified listing on [Bazos](https://www.bazos.cz) — the dominant
Czech/Slovak classifieds network spanning `bazos.cz`, `bazos.sk`, and category
subdomains like `auto.bazos.cz` and `reality.bazos.cz` — by URL, and get back
structured data: title, price, city, seller name, view count, and description.
This actor reads the listing page's own markup directly, no third-party API
involved.

### Features

- **Full listing snapshot.** Title, price (parsed number and as-shown text),
  currency, city, postal code, seller name, phone (as published), view count,
  and description.
- **Any category subdomain.** Works across `auto.bazos.cz`, `reality.bazos.cz`,
  and any other Bazos category or country subdomain — just paste the listing
  URL.
- **Bulk-friendly filters.** `testRun` for a 5-item sample, `onlyFound` to drop
  misses, `includeKeywords`/`excludeKeywords` to filter results by keyword,
  `maxResults` to cap a run, and `columns` to pick which fields to return.
- **Pay only for resolved listings.** Sold, removed, or invalid listing URLs are
  never charged — see [Pricing](#pricing).
- **Residential proxy by default.** Bazos is a defended marketplace at scale, so
  proxy defaults to residential rather than datacenter.

### How to use Bazos Listing Lookup — Czech & Slovak Classifieds API

1. **In the Apify Console.** Open the actor page and click **Start** — the `listingUrls` field is already pre-filled with a working example. Results land in the run's dataset as soon as each item is found.
2. **Via the API.** Call it directly with a POST request — no Console needed once you have an API token:
   ```bash
   curl "https://api.apify.com/v2/acts/accountable_eel~bazos-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
     -X POST \
     -H "Content-Type: application/json" \
     -d '{"listingUrls":["https://auto.bazos.cz/inzerat/222806037/subaru-forester-20-xt-177kw-4x4-platinum-aut-kuze-hk-tazne.php"]}'
   ```
3. **On a schedule.** Save this actor as an Apify **Task** with the input you want, then add a **Schedule** (hourly, daily, weekly) so it runs on its own — no server of your own required.

### Input

```json
{
  "listingUrls": [
    "https://auto.bazos.cz/inzerat/222806037/subaru-forester-20-xt-177kw-4x4-platinum-aut-kuze-hk-tazne.php"
  ]
}
```

One bazos.cz or bazos.sk classified listing URL per line (any category subdomain, e.g. auto.bazos.cz, reality.bazos.cz). Accepted formats: https://auto.bazos.cz/inzerat/222806037/subaru-forester.php.

```json
{
  "listingUrls": ["https://auto.bazos.cz/inzerat/222806037/subaru-forester.php"],
  "testRun": false,
  "onlyFound": false,
  "columns": ["title", "price", "priceText", "currency", "city", "postalCode", "sellerName", "phone", "views", "description", "url"],
  "maxConcurrency": 5,
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
```

`listingUrls` is the list of Bazos listing URLs to look up — one per line, from
any category or country subdomain. `testRun` limits a run to the first 5 items
so you can sanity-check before scaling up. `onlyFound` hides rows where nothing
was found (misses are always free either way). `includeKeywords`/`excludeKeywords`
filter results by keyword, `maxResults` caps the run early, and `columns` lets
you narrow which fields come back. `proxyConfiguration` defaults to Apify's
residential proxy group, since Bazos is a defended marketplace at scale.

### Output

| query | found | status | title | price | priceText | currency | city | postalCode | sellerName | phone | views | description | url | scrapedAt |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| https://auto.bazos.cz/inzerat/222806037/subaru-forester-20-xt-177kw-4x4-platinum-aut-kuze-hk-tazne.php | true | OK | SUBARU FORESTER 2.0 XT 177KW 4x4 PLATINUM-AUT-KUŽE-H\&K-TAŽNÉ - Brno | 285000 | 285 000 Kč | CZK | Brno | 602 00 | Kamil-nabídka vozidel zde | 602... zobraz číslo | 1190 | Subaru Forester 2.0T XT Benzin AWD Platinum - zachovaly auto- Původ Německo - po druhým majiteli - servisní knížka-všechny manuály- 2 Klíče - Automat- Xenony -Navigace -Panorama -kožené vyhřívání sedadla - Parkovací Kamera -Bluetooth -tempomat - Hi Fi systém HARMAN/KARDON -Bezklíčové ovládání -LED denní svícení - Pádla řazení na volantu- Tažné zařízení-El kufr •Poslední servis v 08/2026 Po výměně olejů v motoru a filtru -přední a zadní Brzdy - Přední ramena -nová Baterie STK A EMISE DO 08/2027 MOŽNOST PROHLÍDNOUT VAŠÍM MECHNIKEM s vozem je možné ihned odjet R.V 2015 motorizace: 1998 ccm palivo: Benzin počet dvěří: 5 najeto: 201.086 km barva: Černá Metalíza VIN: JF1SJGL85FG214690 převodovka: Automat Výkon 177 kw 241 koni Počet míst 5 Výbava vozu Bezpečnostní systémy: ABS, Asistent stability přívěsu (TSA), Elektronická uzávěrka diferenciálu (EDS), ESP, Protiprokluzový systém kol (ASR) Asistenční systémy: Asistent rozjezdu do kopce, Parkovací kamera, Rozpoznávání dopravních značek, Tempomat Zabezpečení vozidla: Alarm, Centrální zamykání, Dálkové centrální zamykání, Imobilizér Vnitřní výbava a komfort: Bezklíčkové ovládání, Deaktivace airbagu spolujezdce, El. ovládání oken, El. ovládání zrcátek, El. ovládaný kufr, El. sklopná zrcátka, El. startér, Malý kožený paket, Multifunkční volant, Nastavitelný volant, Pádla řazení na volantu, Posilovač řízení, Senzor stěračů, Senzor tlaku v pneumatikách, Venkovní teploměr, Vnitřní teploměr, Vyhřívaná zrcátka, Zadní loketní opěrka, Otáčkoměr, Příplatkový audiosystém Palubní systémy a konektivita: Autorádio, Bluetooth, CD přehrávač, Digitální příjem rádia (DAB), Dotykové ovládání palubního počítače, Hlasové ovládání palubního počítače, Mobilní připojení, Originální autorádio, Palubní počítač, Premiový audiosystém, Satelitní navigace, USB Sedadla: Dělená zadní sedadla, Isofix, Kožená sedadla, Nastavitelná sedadla, Příprava pro isofix, Vyhřívaná sedadla, El. seřiditelné sedadlo řidiče Světelná technika: Automatické svícení, LED denní svícení, Mlhovky, Ostřikovače světlometů, Xenony Vnější výbava: Panoramatická střecha, Střešní nosič, Střešní spoiler, Tažné zařízení, Tónovaná skla, Zadní stěrač Pohon a podvozek: Uzávěrka zadního diferenciálu Dvouzónová automatická Klimatizace Možnost prohlídky i o víkendu Kontakt. 602505022 | https://auto.bazos.cz/inzerat/222806037/subaru-forester-20-xt-177kw-4x4-platinum-aut-kuze-hk-tazne.php | 2026-08-31T07:20:10.136Z |

One row per listing, for example:

```json
{
  "query": "https://auto.bazos.cz/inzerat/222806037/subaru-forester.php",
  "found": true,
  "status": "OK",
  "title": "Subaru Forester 2.0i",
  "price": 185000,
  "priceText": "185 000 Kč",
  "currency": "CZK",
  "city": "Praha",
  "postalCode": "100 00",
  "sellerName": "Jan Novák",
  "phone": "602...  zobraz číslo",
  "views": 1204,
  "description": "Subaru Forester 2.0i, rok výroby 2015, najeto 98 000 km...",
  "url": "https://auto.bazos.cz/inzerat/222806037/subaru-forester.php",
  "scrapedAt": "2026-08-21T12:00:00.000Z"
}
```

A sold, removed, or invalid listing URL comes back as `found: false` with a
`status` of `NOT_FOUND` and a plain-English `message` — and is never charged.
`phone` is reported exactly as published: Bazos masks phone numbers in the raw
page (e.g. `602... zobraz číslo`) and only reveals the full number via a
client-side click, so this actor returns the masked prefix rather than
fabricating or omitting the field.

### Use cases

- Track price changes on a watchlist of car or real-estate listings.
- Monitor whether a specific listing is still live (a listing disappearing
  usually means it sold).
- Enrich a classifieds aggregator with structured Bazos data.
- Pull seller contact info (as published) alongside listing details for outreach.
- Feed listing URLs from a search export into a clean, structured extraction
  step.

### Pricing

$3 per 1,000 listings, plus a $0.00005 start fee. Misses (`found:false`) are never charged.

### Use it from Clay, n8n, Make, or an AI agent

This actor runs synchronously over plain HTTP — call it directly from a script, a workflow tool, or an AI agent, no Apify Console needed once you have an API token.

```bash
curl "https://api.apify.com/v2/acts/accountable_eel~bazos-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"listingUrls":["https://auto.bazos.cz/inzerat/222806037/subaru-forester-20-xt-177kw-4x4-platinum-aut-kuze-hk-tazne.php"]}'
```

**n8n.** Add an HTTP Request node: Method `POST`, URL `https://api.apify.com/v2/acts/accountable_eel~bazos-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>`, Body Content Type `JSON`, JSON Body `{"listingUrls":["https://auto.bazos.cz/inzerat/222806037/subaru-forester-20-xt-177kw-4x4-platinum-aut-kuze-hk-tazne.php"]}` (swap in an expression from an earlier node for a real value).

**Clay.** Add an "HTTP API" column: Method `POST`, URL `https://api.apify.com/v2/acts/accountable_eel~bazos-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>`, Body `{"listingUrls":["{{listing}}"]}`, mapping the row's listing into the `listingUrls` array.

**MCP.** In Claude, Cursor, or any MCP client with the Apify MCP server, ask for "Bazos.cz / Bazos.sk API — Classified Listing Data by URL" — the agent will find and run this actor.

### FAQ

**What counts as "found"?** The page must carry an `og:title` meta tag, which
only appears on a real listing detail page. A 404, a sold/removed listing, or a
search-results page (rather than a specific ad) returns `found: false`.

**Why is the phone number sometimes partial, like "602... zobraz číslo"?**
Bazos masks phone numbers in the page's raw HTML and only reveals the full
number through a client-side AJAX call on click. This actor reports exactly what
the page publishes rather than guessing or omitting the field.

**Does this work for both bazos.cz and bazos.sk?** Yes — pass the full listing
URL from either domain, or any category subdomain (`auto.bazos.cz`,
`reality.bazos.cz`, etc.); the actor requests whatever URL you give it.

**What if I only have the listing ID, not the full URL?** A bare identifier is
appended to `https://www.bazos.cz/inzerat/`, but since listings live on many
subdomains, passing the full URL you found the listing at is more reliable.

**Why does this default to residential proxy instead of datacenter?** Bazos is a
defended marketplace at scale — a plain datacenter IP risks the same blocking
this portfolio has hit on similar classifieds targets, so residential is the
safer default.

**Is the price always in the same currency?** No — Bazos listings show either
Czech koruna (Kč → CZK) or euro (€ → EUR) depending on the listing; both
`price` (parsed number) and `priceText` (as shown) are returned so you can
verify.

# Actor input Schema

## `listingUrls` (type: `array`):

One bazos.cz or bazos.sk classified listing URL per line (any category subdomain, e.g. auto.bazos.cz, reality.bazos.cz). Accepted formats: https://auto.bazos.cz/inzerat/222806037/subaru-forester.php. You're only charged for the ones we actually find — a miss costs nothing.

## `testRun` (type: `boolean`):

Turn this on to test your input on a small sample before running the full list. Turn it off to process everything.

## `onlyFound` (type: `boolean`):

Only keep rows where something was actually found. Misses are always free, whether or not you show them here.

## `includeKeywords` (type: `array`):

Optional. Only keep results that mention at least one of these words (e.g. a job title, a city, a product name). Leave empty to keep everything.

## `excludeKeywords` (type: `array`):

Optional. Drop any result that mentions one of these words. Leave empty to skip nothing.

## `maxResults` (type: `integer`):

Optional. Stop the run once this many results have been found — useful for a quick, cheap sample. Leave blank for no limit.

## `columns` (type: `array`):

Choose which pieces of information to include in each result row. All are included by default.

## `maxConcurrency` (type: `integer`):

Parallel requests. Keep conservative — this target has no browser fallback, so getting blocked costs more than slow-and-steady.

## `proxyConfiguration` (type: `object`):

Apify Proxy config. Residential recommended for anti-bot-sensitive targets.

## Actor input object example

```json
{
  "listingUrls": [
    "https://auto.bazos.cz/inzerat/222806037/subaru-forester-20-xt-177kw-4x4-platinum-aut-kuze-hk-tazne.php"
  ],
  "testRun": false,
  "onlyFound": false,
  "includeKeywords": [],
  "excludeKeywords": [],
  "columns": [
    "title",
    "price",
    "priceText",
    "currency",
    "city",
    "postalCode",
    "sellerName",
    "phone",
    "views",
    "description",
    "url"
  ],
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "listingUrls": [
        "https://auto.bazos.cz/inzerat/222806037/subaru-forester-20-xt-177kw-4x4-platinum-aut-kuze-hk-tazne.php"
    ],
    "includeKeywords": [],
    "excludeKeywords": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("accountable_eel/bazos-listing-lookup").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "listingUrls": ["https://auto.bazos.cz/inzerat/222806037/subaru-forester-20-xt-177kw-4x4-platinum-aut-kuze-hk-tazne.php"],
    "includeKeywords": [],
    "excludeKeywords": [],
}

# Run the Actor and wait for it to finish
run = client.actor("accountable_eel/bazos-listing-lookup").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "listingUrls": [
    "https://auto.bazos.cz/inzerat/222806037/subaru-forester-20-xt-177kw-4x4-platinum-aut-kuze-hk-tazne.php"
  ],
  "includeKeywords": [],
  "excludeKeywords": []
}' |
apify call accountable_eel/bazos-listing-lookup --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,accountable_eel/bazos-listing-lookup"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/M665tmAowL66rrjPo/builds/hftvbTbJJNhxhKtfr/openapi.json
