Bazoš.cz Scraper avatar

Bazoš.cz Scraper

Pricing

from $1.69 / 1,000 results

Go to Apify Store
Bazoš.cz Scraper

Bazoš.cz Scraper

Extract Bazoš.cz listings as clean JSON with zero seller personal data - prices in CZK, descriptions, cities, view counts, postcode radius search. Newest-first monitoring, pay per result. Built for deal watching, market research and AI pipelines.

Pricing

from $1.69 / 1,000 results

Rating

0.0

(0)

Developer

Lowland Data

Lowland Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Categories

Share

Bazoš.cz Scraper — GDPR-safe listings data

Extract listings from Bazoš.cz — the Czech Republic's most popular classifieds site — as clean, structured JSON. Prices, descriptions, cities and postcodes, posting dates, view counts and photos, ready for price monitoring, market research and data pipelines.

No seller personal data, ever. This scraper is built GDPR-first: seller names, user IDs and contact routes never appear in the output — not as an option you have to remember to switch off, but by design.

Quick start (30 seconds)

  1. Put what you'd type in the Bazoš search box into searchQuery — e.g. kolo.
  2. Click Start. That's the whole minimum setup.
  3. When the run finishes, open the dataset's Overview tab for a clean table, or Export it as CSV/Excel/JSON.

Optional knobs: a price band in CZK and a postcode + radius — and any input works on a daily Schedule.

What you can build with it

  • Watch a niche for underpriced listings. Run searchQuery: "kolo" with priceMax: 5000 hourly — Bazoš orders newest-first by default, and every listing arrives with priceAmount parsed and non-numeric prices ("Dohodou", "Zdarma") honestly flagged in priceDisplay.
  • Search around a place. postcode: "110 00" with radiusKm: 25 uses the site's own location filter — local deals without scraping the whole country.
  • Spot demand with view counts. viewCount comes with every listing — a 2,000-view listing that is still up tells you something about its price.
  • Feed an AI agent clean data. Every field is structured, predictable and free of personal data, so an assistant or pipeline can consume it directly — no scrubbing, no compliance review before you store it.

What you get

Each listing is one dataset item:

{
"listingId": "222830001",
"url": "https://auto.bazos.cz/inzerat/222830001/horske-kolo.php",
"title": "Horské kolo 29\" jako nové",
"description": "Prodám pěkné horské kolo, málo jeté, po servisu, nové pláště.",
"priceAmount": 12500,
"priceDisplay": "12 500 Kč",
"city": "Praha",
"postcode": "110 00",
"postedAt": "21.8.2026",
"viewCount": 152,
"promoted": false,
"imageUrl": "https://www.bazos.cz/img/1t/001/222830001.jpg"
}

Field notes, so you know exactly what you are buying:

  • priceAmount is in whole CZK; listings priced "Dohodou" (negotiable), "V textu" or "Zdarma" carry nullpriceDisplay always shows the site's exact wording.
  • postedAt is the site's own display format (d.m.yyyy).
  • promoted marks paid "TOP" placements — filter them out for organic-only analysis.
  • description is the search-page snippet, not the full listing text.

How much does it cost to scrape Bazoš?

$1.99 per 1,000 listings delivered, pay-as-you-go — no subscription, no charge for empty or failed runs. In plain dollars:

  • 100 listings ≈ $0.20 — a daily niche watch.
  • 500 listings ≈ $1.00 — a solid market snapshot.

The price is all-inclusive — your runs' platform usage is covered by it, with no separate compute or proxy charges. Datacenter proxies are sufficient — no residential proxy surcharge needed.

Free-plan runs are limited to a sample of 25 items, enough to evaluate the output format against your real query.

Not technical? Let your AI assistant set it up

Copy this into ChatGPT, Claude or any AI assistant, fill in the one line, and follow the conversation:

Help me set up the "Bazoš.cz Scraper" actor on Apify
(https://apify.com/lowlanddata/bazos-cz-scraper). Guide me one step at a time.
What I want to watch: [E.G. "mountain bikes under 5000 CZK around Prague"]
Guide me to:
1. Propose my input values: searchQuery (what I'd type in the Bazoš search box),
an optional priceMin/priceMax band in CZK, postcode + radiusKm, and maxItems.
2. Create a free Apify account (apify.com), open the actor page, paste the values
into the Input form, and start a run.
3. Set up a daily Schedule in the Apify Console with the same input, plus an email
or Slack integration so new results reach me automatically.
4. Show me how to export results as CSV/Excel, or read them from the API if I code.
5. If the results are what I wanted, remind me at the end to leave a quick rating on the actor page, and to report anything broken or missing on its Issues tab.

Input

FieldDescription
searchQueryWhat you'd type in the Bazoš search box. Required.
priceMinOnly listings costing at least this many CZK.
priceMaxOnly listings costing at most this many CZK.
postcodePostcode to search around, e.g. "110 00".
radiusKmSearch radius around the postcode (needs postcode).
maxItemsStop after this many listings (default 500).
proxyConfigurationProxy settings; keep Apify proxy enabled.

A run minimally needs a searchQuery; invalid combinations fail immediately with the reason in the run's status message.

Use it from your code

Run the actor and get items straight back with one HTTP call (fine for scoped runs up to ~5 minutes):

curl "https://api.apify.com/v2/acts/lowlanddata~bazos-cz-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
-X POST -H "Content-Type: application/json" \
-d '{"searchQuery": "kolo", "maxItems": 100}'

Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('lowlanddata/bazos-cz-scraper').call({
searchQuery: 'kolo',
maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("lowlanddata/bazos-cz-scraper").call(
run_input={"searchQuery": "kolo", "maxItems": 100})
items = client.dataset(run["defaultDatasetId"]).list_items().items

Schedules, webhooks and the Make/Zapier/n8n integrations all work out of the box — this is a standard Apify actor.

Use it with AI agents (MCP)

Claude, Cursor and other MCP-capable agents can run this scraper as a tool through Apify's hosted MCP server: the agent fills in the search itself, starts the run and reads the results — no glue code.

Claude Code:

$claude mcp add apify --transport http "https://mcp.apify.com?actors=lowlanddata/bazos-cz-scraper"

Cursor or Claude Desktop (add a custom connector / MCP server with this URL):

https://mcp.apify.com?actors=lowlanddata/bazos-cz-scraper

Sign in with your Apify account when prompted — runs are billed to it. Setup details per client: Apify MCP docs.

Prompts that work once connected:

  • "Search Bazoš for 'kolo' under 5000 CZK and summarize the price distribution."
  • "Get the 100 newest 'iphone 15' listings from Bazoš and flag anything below the median price."
  • "Watch Bazoš for 'kajak' around postcode 110 00 and tell me when something under 3000 CZK appears."

Public listing data — prices, descriptions, cities — is public commercial information, and this scraper is built so that the hard part of the question never arises: no personal data enters your dataset in the first place. The Czech data-protection authority (ÚOOÚ) follows the same GDPR baseline as the rest of the EU; an output that carries none of the seller's personal data is the point of this actor, not an afterthought.

Structurally, the extractor maps a fixed whitelist of fields out of the listing rows. The action row — which carries seller first names and user identifiers — is never read into the output. Requests are paced, load on the site is kept negligible, and no anti-bot protection is bypassed.

One honest limit: titles and descriptions are the seller's own words, delivered as-is. If a seller chooses to type contact details into their listing text, that text is not rewritten — the guarantee covers the data fields, not the content sellers publish about themselves.

Is there a Bazoš API alternative?

Bazoš publishes no API for listings. This actor is the practical alternative: the same listings as structured JSON through one HTTP call (run-sync-get-dataset-items), on a schedule, or as an MCP tool for AI agents — with the GDPR question already answered in the data itself.

Does Bazoš block scrapers?

Bazoš serves its listings openly to ordinary requests — and this actor stays inside that welcome: paced requests, standard datacenter proxies, load kept negligible. No CAPTCHA fights, no bot-wall cat-and-mouse — which is also why runs are fast and reliable enough for daily schedules.

How do I monitor Bazoš prices?

Bazoš orders newest-first by default: set your query, cap maxItems to a page or two, and add a daily (or hourly) Schedule in the Apify Console with an email/Slack integration on the runs — every new listing lands in your inbox with the price already parsed. The AI-assistant prompt above walks a non-technical user through exactly this setup.

FAQ

Can I get seller names or phone numbers? No — by design. That is the product: data you can store, share and process without a GDPR review.

What does "Dohodou" mean in priceDisplay? "By agreement" — the seller wants offers. Those listings carry priceAmount: null so your numeric analysis stays clean.

How fresh is the data? Live at run time — every run queries Bazoš directly. For continuous freshness, schedule the actor.

Can I export to Excel or CSV? Yes — every dataset exports as CSV, Excel, JSON or XML from the Apify Console or API.

Does it cover bazos.sk too? Slovakia has its own actor — Bazoš.sk Scraper — same clean output in EUR.

Does it work with Make, Zapier or n8n? Yes — it is a standard Apify actor; all platform integrations, webhooks and schedules apply.

How do I scrape Bazoš without coding? Type your search into the searchQuery field on this page and press Start — that is the whole setup. The AI-assistant prompt above walks you through the rest, schedule included.

Is there an official Bazoš API? No, Bazoš publishes no listings API. This actor fills that gap: the same listings as structured JSON via one HTTP call, a schedule, or an MCP tool.

Is it legal to scrape Bazoš under GDPR? Public listing data is public commercial information, and this actor never puts seller personal data into your dataset in the first place — the whitelist mapper skips the action row that carries names and user IDs. See the legality section above for the full reasoning.

How much does scraping 1,000 Bazoš listings cost? $1.99, pay-as-you-go. No subscription, and empty or failed runs cost nothing.

How do I search Bazoš around Prague or another city? Give the actor a postcode (e.g. "110 00") and a radiusKm up to 500 — it uses the site's own location filter, so results match what a local buyer would see.

How do I filter Bazoš listings by price? Set priceMin and/or priceMax in CZK. The filter is applied by the site itself, so you only pay for listings inside your band.

How many listings can one run return? As many as you set in maxItems (default 500). On the Apify free plan, runs return a 25-item sample.

Can I try it before paying? Yes — a free-plan run gives you up to 25 real items from your own query, enough to check the output format before committing.

Does the output include the full listing text? description is the search-page snippet, not the full ad body. Titles, prices, city, postcode, date, view count and photo URL are all there.

What is the promoted field? It flags paid "TOP" placements. Drop those rows when you want organic-only market analysis.

What does viewCount tell me? How many times the listing has been viewed on Bazoš — a quick demand signal. A high-view listing that is still up says something about its asking price.

Are listing photos included? Each item carries an imageUrl pointing at the listing's photo on Bazoš.

How do I get new Bazoš listings every morning? Bazoš sorts newest-first by default, so a daily Schedule in the Apify Console with an email or Slack integration delivers each day's fresh listings automatically.

Do I need residential proxies for Bazoš? No. Standard datacenter proxies are enough — the actor paces its requests and bypasses no anti-bot protection, which keeps runs cheap and reliable.

Working the Central European second-hand market? The same GDPR-clean guarantee, same output discipline:

Troubleshooting

The actor fails fast with the reason in the run's status message:

  • "priceMin must not be higher than priceMax." — swap the two values.
  • "radiusKm needs a postcode to measure from." — add the postcode.
  • "The site blocked the run before any results could be fetched. This is usually temporary - retry in a few minutes." — a temporary block on the first request; a retry usually lands on a clean proxy session.
  • Fewer items than requested on a free plan — the 25-item free sample cap; run on a paid Apify plan for full results.

Support

Found an issue or missing a field you need? Open an issue on the actor's Issues tab — reports get fixed, this actor is actively maintained.

Working well for you? A rating on this page takes ten seconds and helps other buyers find a GDPR-clean option among the lookalikes — it is also the clearest signal of what we should build next.