BazosScraper
Pricing
Pay per usage
BazosScraper
Scrapes ads from Bazos.cz and Bazos.sk with support for multiple search queries, price and location filters, automatic pagination and detailed ad data extraction. Built on Apify + Crawlee with residential proxy support and configurable concurrency.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Identic API
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Bazos Scraper
A web scraper for extracting advertisements from Bazos.cz and Bazos.sk - the largest classified ads portals in Czech Republic and Slovakia.
Description
This scraper allows you to search for advertisements using multiple keywords simultaneously, filter by price range and location, and extract comprehensive data about each listing. It's built with Apify and Crawlee frameworks.
Features
- ✅ Support for both Bazos.cz (Czech Republic) and Bazos.sk (Slovakia)
- ✅ Multiple keyword search - search with multiple queries and get merged results
- ✅ Price filtering - filter by minimum and maximum price
- ✅ Location filtering - search by postal code and distance radius
- ✅ Automatic pagination - automatically follows all pages of search results
- ✅ Comprehensive data extraction - extracts title, price, location, views, description, images, user name, and more
- ✅ Residential proxy support - uses Apify's residential proxies for reliable scraping
- ✅ Optimized performance - parallel processing with configurable concurrency for faster scraping
- ✅ Bilingual support - automatically handles Czech and Slovak language variations
Input Configuration
The scraper accepts input via Apify Actor input or uses default configuration. You can provide input as JSON:
{"countryCode": "cz","searchQueries": ["iphone 13", "iphone 13 pro"],"minPrice": 200,"maxPrice": 500,"postalCode": 81101,"distance": 50,"maxRequests": 100}
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
countryCode | "cz" | "sk" | No | Country code - "cz" for Czech Republic, "sk" for Slovakia. Default: "cz" |
searchQueries | string[] | Yes | Array of search keywords. Maximum 15 queries. |
postalCode | number | null | No | Postal code for location filtering (10000-99999). |
distance | number | null | No | Search radius in kilometers. Minimum: 1. |
minPrice | number | null | No | Minimum price filter. Must be >= 0. |
maxPrice | number | null | No | Maximum price filter. Must be >= 0. |
maxRequests | number | Yes | Maximum number of HTTP requests (for Apify billing). The crawler will automatically stop when it reaches this limit. Note: Some requests are used for search result pages, so the actual number of ads extracted will be slightly less than maxRequests. Minimum: 1. Default: 100. |
Important: maxRequests limits the total number of HTTP requests made (this is what Apify bills you for). The actual number of ads extracted will be less because:
- Each search query = 1 request (initial search page)
- Search result pages = 1 request each
- Each ad detail = 1 request
Example: If you set maxRequests: 20 with 3 search queries:
- 3 requests for initial search pages
- ~2 requests for result pages
- ~15 requests for ad details
- Result: ~15 ads extracted, 20 requests billed
Example Inputs
Basic search:
{"countryCode": "sk","searchQueries": ["notebook"],"maxRequests": 50}
Advanced search with filters:
{"countryCode": "cz","searchQueries": ["iphone 13", "iphone 13 pro", "iphone 13 pro max"],"minPrice": 10000,"maxPrice": 30000,"postalCode": 10000,"distance": 50,"maxRequests": 200}
To get approximately 15 ads:
{"countryCode": "cz","searchQueries": ["iphone 13", "iphone 13 pro"],"maxRequests": 20}
Note: With 2 search queries, you'll get ~15 ads (20 requests - 2 for search pages - 2 for result pages = ~16 requests for ads)
Output
The scraper outputs data to Apify Dataset. Each record contains the following fields:
Output Schema
{id: number; // Unique advertisement IDtitle: string; // Advertisement titledate: string; // Publication date in ISO format (YYYY-MM-DD)priceRaw: string; // Price as displayed on the website (e.g., "450 €", "Dohodou")locationPsc: string; // Postal code of the locationlocationName: string; // City/town nameviews: number; // Number of viewsurl: string; // Full URL to the advertisementcontent: string; // Full description textimageUrl: string; // URL to the first/main imageuserName: string; // Name of the user who posted the ad}
Example Output
{"id": 123456,"title": "iPhone 13 Pro 256GB","date": "2024-01-15","priceRaw": "450 €","locationPsc": "81101","locationName": "Bratislava","views": 123,"url": "https://www.bazos.sk/inzerat/123456/iphone-13-pro-256gb/","content": "Predám iPhone 13 Pro 256GB v perfektnom stave...","imageUrl": "https://www.bazos.sk/img/123456.jpg","userName": "Ján"}
License
ISC