Bazoš Scraper — bazos.sk, .cz, .pl, .at in one run avatar

Bazoš Scraper — bazos.sk, .cz, .pl, .at in one run

Pricing

from $2.00 / 1,000 listing with details

Go to Apify Store
Bazoš Scraper — bazos.sk, .cz, .pl, .at in one run

Bazoš Scraper — bazos.sk, .cz, .pl, .at in one run

Scrape classified ads from bazos.sk, bazos.cz, bazos.pl and bazos.at in a single deduplicated run. Keyword, category, price and postal-code radius search, promoted-ad detection, GPS coordinates and incremental monitoring for scheduled runs. From $1 per 1000 listings.

Pricing

from $2.00 / 1,000 listing with details

Rating

0.0

(0)

Developer

Richard Solar

Richard Solar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Bazoš Scraper reads bazos.sk, bazos.cz, bazos.pl and bazos.at in a single run and returns one clean dataset, deduplicated across all four. Bazoš is the dominant classifieds network in Slovakia, Czechia, Poland and Austria, and every other tool for it covers one country at a time. That is the difference: you can compare the same model across four markets in one pass instead of running four scrapers and joining the output yourself.

No account, no cookies, no setup. Give it a keyword and press start.

Why this one

CapabilityHereTypical alternative
Countries per runAll four, deduplicated, subcategories translated between themOne site per run
Promoted (TOP) adsFlagged and optionally excludedReturned unlabelled, mixed in with real matches
Price$1 per 1,000 listings, $0.00005 to start a run$2–5 per 1,000, $0.001–0.005 to start a run
CoordinatesLatitude and longitude for every listingNot provided
Broken-markup protectionWarns when a field stops filling, and can fail the runReturns empty columns silently

Two of these are worth expanding on.

Promoted ads are the reason Bazoš results look wrong. Bazoš places paid listings above organic ones regardless of what you searched for, so a search for a phone genuinely returns a Volkswagen. On a nationwide search the whole first page is often promoted. isTopListing tells you which rows are adverts, so you can filter them, measure them, or leave them.

Subcategory names are canonical. Ask for animals/dogs and you get pes in Slovakia, psy in Poland and hunde in Austria, without knowing any of that. Over 440 subcategories are mapped this way.

How much does it cost to scrape Bazoš?

ModeEffective priceWhat you get
scrapeDetails: false$1 per 1,000Title, price, city, postal code, views, post date, promoted flag, seller name
scrapeDetails: true$2 per 1,000Everything — full description, every photo URL, coordinates, seller details

Details mode opens one page per listing; list-only mode reads twenty listings per page, which is roughly 20x fewer requests and why it costs half as much.

Starting a run costs $0.00005. The $5 in free credit you get on signup is worth 5,000 listings in list-only mode, or 2,500 with full details.

maxItems is enforced as listings are collected, not trimmed afterwards, so the Actor never returns — or bills — more than you asked for.

Monitoring: only what is new

Set monitorMode: true and the Actor remembers which listings it has already returned. The next run skips them, so a schedule costs only what appeared since last time — and a listing you have already paid for is never charged twice.

{
"countries": ["sk", "cz"],
"categories": ["cars/skoda"],
"priceMax": 5000,
"sortBy": "newest",
"maxItems": 500,
"scrapeDetails": true,
"monitorMode": true
}

Save that as a task and schedule it hourly. The first run returns everything matching; every run after it returns only the new ads.

Known listings are dropped while reading the results page, so they cost neither a request nor a charge. The run status says how many were skipped, which is how you tell "nothing new" apart from "something broke".

Two details worth knowing:

  • Ids are kept for 90 days by default (monitorRetentionDays). After that a listing counts as new again.
  • One store per schedule. The list of delivered ids lives in a named key-value store shared by every run of the Actor on your account. Two schedules watching different searches need two monitorStoreName values, or each will hide the other's listings.

Input examples

Compare one keyword across the Slovak and Czech markets

{
"countries": ["sk", "cz"],
"keywords": ["iphone 15"],
"categories": ["mobile"],
"priceMin": 100,
"priceMax": 600,
"sortBy": "cheapest",
"maxItems": 200,
"scrapeDetails": true
}

Everything for sale within 25 km of a postal code

{
"countries": ["sk"],
"postalCode": "82102",
"radiusKm": 25,
"sortBy": "newest",
"maxItems": 500,
"scrapeDetails": false
}

Browse a whole category, no keyword

{
"countries": ["sk", "cz", "pl", "at"],
"categories": ["realEstate"],
"sortBy": "newest",
"maxItems": 1000,
"scrapeDetails": false
}

Output example

Each listing comes back as 31 separate fields:

{
"listingId": "195384958",
"url": "https://mobil.bazos.sk/inzerat/195384958/apple-iphone-16-pro.php",
"country": "sk",
"categories": ["mobile"],
"categorySlug": "mobil",
"subcategory": "apple",
"subcategoryLabel": "Apple",
"title": "Apple iPhone 16 Pro 256 GB",
"description": "Telefón je používaný približne 2 roky, batéria 91 %.",
"descriptionShort": "Telefón je používaný približne 2 roky…",
"price": 700,
"priceText": "700 €",
"priceType": "fixed",
"currency": "EUR",
"city": "Bratislava",
"postalCode": "82108",
"latitude": 48.170639,
"longitude": 17.147464,
"sellerName": "Jana",
"sellerUserId": "13127821",
"phoneMasked": "094...",
"viewCount": 370,
"publishedAt": "2026-09-10",
"isTopListing": false,
"topUntil": null,
"topCount": null,
"mainImage": "https://www.bazos.sk/img/1/958/195384958.jpg",
"thumbnailUrl": "https://www.bazos.sk/img/1t/958/195384958.jpg",
"images": [
"https://www.bazos.sk/img/1/958/195384958.jpg",
"https://www.bazos.sk/img/2/958/195384958.jpg"
],
"sourceUrl": "https://mobil.bazos.sk/inzerat/195384958/apple-iphone-16-pro.php",
"scrapedAt": "2026-09-10T18:33:08.318Z"
}

Output fields

FieldDescription
listingId, urlListing id and canonical URL. The id is unique within a country.
country, category, subcategoryWhere it came from. Category keys are the same on all four sites.
title, descriptionTitle and the full description, line breaks preserved.
price, priceText, priceType, currencyNumeric price plus the label as displayed, and how it was stated.
city, postalCode, latitude, longitudeLocation, split into separate fields.
sellerName, phoneMaskedWho is selling. See the note on phone numbers below.
viewCount, publishedAtViews, and the date the ad was posted.
isTopListing, topCount, topUntilWhether the listing is a paid promotion.
images, mainImage, thumbnailUrlEvery photo URL, with a designated main one.
sourceUrl, scrapedAtWhere and when this row was collected.

What can you use it for?

  • Arbitrage and resale — compare the same model across Slovak, Czech, Polish and Austrian markets in one dataset.
  • Price research — track what an item actually sells for, with real asking prices rather than retail listings.
  • Market monitoring — schedule a run and get only the listings posted since last time.
  • Lead generation — seller names and locations for a given category and region.

How to scrape Bazoš data

  1. Click Try for free.
  2. Type what you're looking for in Keywords — for example iphone.
  3. Pick one or more Countries. Slovakia is selected by default.
  4. Optionally narrow by Categories, price range, or postal code and radius.
  5. Set Maximum listings to whatever you need.
  6. Press Start and download the results as JSON, CSV, Excel or XML.

Tips

Scope to a category rather than excluding promoted ads

Searching iphone with no category returned 25% unrelated results. The same search with categories: ["mobile"] returned 100% phones, using fewer requests. excludeTopListings also exists, but it suppresses the label rather than the irrelevance, and costs about five times as many requests.

Sort order

sortBy accepts newest, cheapest, mostExpensive, mostViewed and leastViewed, and is applied by Bazoš itself. With the default newest, Bazoš still places promoted listings first.

One list, two levels

Categories holds both. The twenty categories come first — Mobile phones, Cars — and every subcategory follows as Mobile phones › Apple. Pick either, or mix them:

{ "categories": ["books", "mobile/apple"] }

One selection covers all four sites. Where a concept exists in one country and not another — Austria has no saws under House & garden — that combination is skipped with a warning rather than wasting a request.

Each selection runs as its own search and they share maxItems, so four subcategories across four countries is sixteen searches splitting the cap.

Searching near a location

Set postalCode and radiusKm together. A radius of 0 returns only that exact postal code.

FAQ

Can I get the seller's full phone number?

No, and neither can any other tool without an account. Bazoš publishes only a three-character prefix and reveals the rest exclusively to phone-verified logged-in users. This Actor returns the prefix Bazoš makes public (phoneMasked) and does not attempt to work around that restriction.

How accurate are the coordinates?

They locate the postal code, not the seller's address — Bazoš does not publish an exact position. Two listings in the same postal code share coordinates. Good for mapping and regional analysis, not for finding a specific address.

Does it work on all four Bazoš sites?

Yes, and in the same run. The four sites share one layout, so every field is available on each. Currencies, category names and subcategory names are localised automatically.

Is publishedAt the date the ad was posted?

Yes. It is read from the listing itself and is distinct from scrapedAt, which records when the Actor collected the row.

Scraping publicly available data is generally legal, but this Actor can collect personal data such as seller names and locations. You are responsible for having a lawful basis to process it under GDPR, and for how you store and use it. If you are unsure, take legal advice — and consider turning off listing details if you only need prices.

Something looks wrong

Report it on the Issues tab. Bazoš changes its markup occasionally; this Actor checks the live site daily and fixes are usually quick.