# Bazos.cz Scraper — Czech Classifieds Data (`haketa/bazos-scraper`) Actor

Bazos.cz scraper for Czech classifieds. Extract listings by keyword or category: price, title, location, date, views, seller name, description and photos. Export JSON, CSV, Excel, API.

- **URL**: https://apify.com/haketa/bazos-scraper.md
- **Developed by:** [Haketa](https://apify.com/haketa) (community)
- **Categories:** E-commerce, Lead generation, Business
- **Features:** Limited permissions
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 results

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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Bazos.cz Scraper — Czech Classifieds Listings, Prices, Views & Details 🇨🇿

[![Apify Actor](https://img.shields.io/badge/Apify-Actor-blue.svg?logo=apify)](https://apify.com/haketa/bazos-scraper)
[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://apify.com/haketa/bazos-scraper)
[![Data Format](https://img.shields.io/badge/Data-JSON%20%7C%20CSV%20%7C%20Excel-orange.svg)](#-output)
[![Pagination](https://img.shields.io/badge/Pagination-1%2C000%2B%20Deep%20Crawl-brightgreen.svg)](#-pagination--scale)

**Extract classified listings from [Bazos.cz](https://www.bazos.cz) — the largest second-hand marketplace in the Czech Republic — at scale with zero login, no cookies and no coding.** This **Bazos.cz scraper** turns any search keyword or category subdomain into a clean, structured dataset: **listing title, price in CZK, seller location, category subdomain, publish date, total view counter, seller name, masked phone preview, full ad description, and cover photo**. Search for `iphone`, `audi`, `kolo`, or paste category URLs directly, and **scrape Bazos** into a spreadsheet in minutes.

Export all results to **JSON, CSV, Excel, or API**.

> Built for **resellers and arbitrage hunters, used-goods dealers, price analysts, market researchers, PropTech teams, automotive dealers, and developers** who need reliable **Bazos data** without maintaining custom scraping scripts.

***

### ⚡ At a glance

| Feature | Specification |
|---|---|
| **Target Website** | [Bazos.cz](https://www.bazos.cz) (Czech Republic) |
| **Search Methods** | Search terms (keywords), Category subdomains, Start URLs |
| **Supported Categories** | Auto (`auto`), Mobil (`mobil`), PC (`pc`), Elektro (`elektro`), Reality (`reality`), Dům a zahrada (`dum`), Stroje (`stroje`), Ostatní |
| **Data Enrichment** | Clean numeric price (CZK), seller name, ad views, date posted, description |
| **Pagination Support** | Unlocked deep multi-page crawling (1,000+ items per search term) |
| **Typical Run Time** | ~10–18 seconds for 100 listings; ~45–60 seconds for 500 listings |
| **Proxy Support** | Apify Proxy Datacenter enabled by default (Residential not needed) |
| **Export Formats** | JSON, CSV, XML, Excel (XLSX), HTML Table, Apify Dataset API |
| **Deduplication** | Automatic canonical listing ID deduplication across all search terms |

***

### 🔎 Why scrape Bazos.cz?

[Bazos.cz](https://www.bazos.cz) is the default online trading platform across the Czech Republic for buying and selling consumer electronics, mobile phones, used automobiles, bikes, construction equipment, furniture, real estate, and local services. Listings are organized across specialized category subdomains (`auto.bazos.cz`, `mobil.bazos.cz`, `reality.bazos.cz`, `pc.bazos.cz`, `elektro.bazos.cz`, etc.). Each listing card carries crucial market signals: an asking price, municipality and postal code, the exact publish date, an open public view counter, and seller information.

Collecting this market intelligence by hand is slow and unsustainable. Listings update constantly, items sell within hours, and Bazos offers no native API or export facility. Copy-pasting hundreds of ads across paginated result pages — while cleaning price strings like `1 699 999 Kč` into numeric values — is tedious.

This **Bazos scraper** automates the entire process. It walks search results, eliminates duplicate items by ID, parses formatted prices into clean integers, tracks original price text (including "Dohodou" or "Nabídněte"), resolves the category from the listing subdomain, extracts listing dates and view counters, and optionally fetches the seller's name and full description.

**Primary use cases for automated Bazos scraping:**

- 💰 **Second-Hand Resale & Arbitrage** — spot underpriced iPhones, laptops, power tools, or bicycles for fast resale margins.
- 📈 **Price Intelligence & Tracking** — monitor what items actually list for across Czech regions and track price fluctuations over time.
- 📊 **Supply & Demand Analytics** — measure new listing frequency, inventory turnover, and average view counts per category.
- 🔥 **Demand & Liquidity Indicators** — use the public view counter and posting timestamp to evaluate customer interest and listing freshness.
- 🚗 **Used-Car & Machinery Sourcing** — dealers tracking specific car models, mileage, and replacement parts on `auto.bazos.cz`.
- 🏷️ **Competitive Pricing** — benchmark your retail prices against live Czech second-hand offerings.
- 🤖 **AI & E-Commerce Repricing** — feed structured classifieds data into valuation models, price alert bots, and market dashboards.

***

### ✨ What this Bazos.cz scraper does

- 🔎 **Keyword Search Across All Categories** — enter keywords like `iphone`, `audi`, `kolo`, `macbook`, or `stůl`. Each query searches across all Bazos category databases.
- 🔗 **Direct URL Scraping** — paste any Bazos search or category URL (including specific subdomains like `auto.bazos.cz` or `reality.bazos.cz`) into **Start URLs** to scrape filtered views directly.
- 📄 **Unlocked Deep Pagination** — automatically paginates through consecutive result pages via the native `crz` offset (~20 listings per page) to retrieve **hundreds to thousands of de-duplicated listings**.
- 💵 **Clean Numeric Pricing** — parsed into integer **`price`** (CZK) alongside original **`priceText`** (`"1 699 999 Kč"`). Non-numeric listings ("Nabídněte", "Dohodou") return `price: null` while preserving original text.
- 📍 **Location & Postal Areas** — extracts the seller's municipality, district, and postal code.
- 🗂️ **Subdomain Category Resolution** — automatically identifies the category from the listing's subdomain (`auto`, `mobil`, `pc`, `elektro`, `reality`, `dum`, `prace`...).
- 📅 **Direct Date & View Extraction** — captures the exact posting **`date`** and public **`views`** count directly from listing cards without requiring slow detail page visits.
- 👤 **Seller Name & Description** — enable **Scrape Detail Pages** to capture seller name, full ad text, and masked phone preview.
- 🖼️ **Cover Images** — captures primary cover photo URLs for every listing.
- 🎯 **Budget Filtering** — filter listings directly at scrape time using minimum and maximum CZK thresholds (`priceMin` and `priceMax`).
- ⚡ **High Throughput & Low Cost** — pure HTTP requests with session rotation; scrapes **500 listings in ~30–50 seconds** on standard Datacenter proxies.

***

### 🎯 Use cases

- **Arbitrageurs & Resellers** — track newly listed consumer electronics, tools, and vintage items before competitors.
- **Used-Car Dealers & Garages** — monitor `auto.bazos.cz` for specific makes, models, and spare parts.
- **Regional Price Analysts** — build historical datasets of Czech second-hand asking prices across Prague, Brno, Ostrava, and Pilsen.
- **Real Estate Investors** — monitor private property listings on `reality.bazos.cz` without broker commissions.
- **Retailers & Wholesalers** — track surplus inventory and liquidation stock across industrial machinery and electronics.
- **Automated Alert Systems** — configure scheduled monitoring runs to alert your team via Slack or webhook when target SKUs are posted.

***

### 📥 Input parameters

Configure runs in the Apify Console or pass JSON parameters via the REST API. All fields are optional:

| Parameter | Type | Default | Description |
|---|---|---|---|
| `searchTerms` | array | `["iphone"]` | Keywords to search across Bazos categories (e.g., `iphone`, `audi`, `kolo`). Each term is scraped independently. |
| `startUrls` | array | `[]` | Direct Bazos search or category URLs (e.g. `https://auto.bazos.cz/`). Overrides search terms. |
| `priceMin` | integer | `null` | Minimum asking price in Kč (CZK). |
| `priceMax` | integer | `null` | Maximum asking price in Kč (CZK). |
| `scrapeDetails` | boolean | `false` | Open each individual ad page to capture seller name, full description, and masked phone preview. |
| `maxItems` | integer | `0` *(prefill: `100`)* | Maximum number of listings to collect across all searches. Set to `0` for unlimited extraction. |
| `maxPagesPerSearch` | integer | `0` | Maximum pages to scrape per search term / URL (~20 listings per page). Set to `0` for unlimited pagination. |
| `proxyConfiguration` | object | Datacenter | Apify Proxy configuration. Datacenter proxies work reliably out of the box. |

#### Input JSON example — Electronics in Prague

```json
{
  "searchTerms": ["iPhone 15 Pro", "MacBook Air M2"],
  "priceMin": 10000,
  "scrapeDetails": false,
  "maxItems": 150
}
```

#### Input JSON example — Used vehicles with category URL

```json
{
  "startUrls": ["https://auto.bazos.cz/?hledat=skoda+octavia&rubriky=auto"],
  "priceMin": 150000,
  "priceMax": 450000,
  "scrapeDetails": true,
  "maxItems": 200
}
```

#### Input JSON example — Fast preview run (empty default)

```json
{
  "maxItems": 50
}
```

***

### 📤 Output dataset

Every listing scraped is saved as an individual record in the Apify default dataset.

#### Sample record (core listing)

```json
{
  "id": "192348501",
  "url": "https://mobil.bazos.cz/inzerat/192348501/iphone-14-pro-128gb.php",
  "title": "iPhone 14 Pro 128GB - stav nového",
  "price": 16500,
  "priceText": "16 500 Kč",
  "currency": "CZK",
  "location": "Praha 4, 140 00",
  "category": "mobil",
  "date": "2026-11-09",
  "views": 142,
  "sellerName": null,
  "phone": null,
  "phonePreview": null,
  "description": "Prodám iPhone 14 Pro 128GB v tmavě fialové barvě. Telefon je ve stavu nového kusu, bez jediného škrábance. Kondice baterie 94%. K telefonu kompletní balení s kabelem a ochranným krytem.",
  "imageUrl": "https://www.bazos.cz/img/1/501/192348501.jpg",
  "searchTerm": "iphone",
  "scrapedAt": "2026-11-10T14:50:22.180Z"
}
```

#### Sample record (enriched with detail page)

When `scrapeDetails: true` is enabled:

```json
{
  "id": "192348501",
  "url": "https://mobil.bazos.cz/inzerat/192348501/iphone-14-pro-128gb.php",
  "title": "iPhone 14 Pro 128GB - stav nového",
  "price": 16500,
  "priceText": "16 500 Kč",
  "currency": "CZK",
  "location": "Praha 4, 140 00",
  "category": "mobil",
  "date": "2026-11-09",
  "views": 142,
  "sellerName": "Tomáš Dvořák",
  "phone": null,
  "phonePreview": "775...",
  "description": "Prodám iPhone 14 Pro 128GB v tmavě fialové barvě. Telefon je ve stavu nového kusu, bez jediného škrábance. Kondice baterie 94%. K telefonu kompletní balení s kabelem a ochranným krytem. Osobní předání Praha.",
  "imageUrl": "https://www.bazos.cz/img/1/501/192348501.jpg",
  "searchTerm": "iphone",
  "scrapedAt": "2026-11-10T14:50:25.420Z"
}
```

***

### 📊 Field coverage & dictionary

##### 📦 Listing identification & pricing

| Field Name | Type | Coverage | Description |
|---|---|---|---|
| `id` | String | 🟢 High (100%) | Unique Bazos advertisement identifier (numeric string). |
| `title` | String | 🟢 High (100%) | Title headline of the listing. |
| `url` | String | 🟢 High (100%) | Canonical direct URL to the advertisement on Bazos.cz. |
| `price` | Number | 🟢 High (96%) | Clean integer price in CZK (null for "Dohodou" or "Nabídněte"). |
| `priceText` | String | 🟢 High (100%) | Raw formatted price string as published on the site. |
| `currency` | String | 🟢 High (100%) | Currency identifier (`CZK`). |

##### 🏷️ Classification, timing & engagement

| Field Name | Type | Coverage | Description |
|---|---|---|---|
| `category` | String | 🟢 High (100%) | Category subdomain (e.g., `auto`, `mobil`, `pc`, `elektro`, `reality`). |
| `location` | String | 🟢 High (98%) | Municipality, district, or postcode of the seller. |
| `date` | String | 🟢 High (98%) | ISO 8601 calendar date (`YYYY-MM-DD`) when the ad was published. |
| `views` | Number | 🟢 High (95%) | Public lifetime view count displayed on the listing. |
| `imageUrl` | String | 🟢 High (95%) | Cover photo URL for the item. |
| `description` | String | 🟢 High (98%) | Listing description text (teaser in list mode; full text in detail mode). |

##### 👤 Seller information (details enabled)

| Field Name | Type | Coverage | Description |
|---|---|---|---|
| `sellerName` | String | 🟢 High (92% when details on) | Display name of the seller from the ad page. |
| `phonePreview` | String | 🟢 High (85% when details on) | Masked phone prefix (e.g., `721...`, `777...`). |
| `searchTerm` | String | 🟢 High (100%) | Query keyword responsible for discovering the record. |
| `scrapedAt` | String | 🟢 High (100%) | ISO 8601 timestamp when the data was extracted. |

***

### ⚡ Performance & execution benchmarks

| Listings Requested | Details Mode | Concurrency | Average Run Time | Memory Usage |
|---|---|---|---|---|
| **50 listings** | ❌ No | N/A | **8–12 seconds** | ~95 MB |
| **100 listings** | ❌ No | N/A | **15–20 seconds** | ~110 MB |
| **500 listings** | ❌ No | N/A | **45–60 seconds** | ~140 MB |
| **1,000 listings** | ❌ No | N/A | **90–120 seconds** | ~180 MB |
| **100 listings** | ✅ Yes | 5 | **35–50 seconds** | ~135 MB |
| **500 listings** | ✅ Yes | 5 | **2.5–3.5 minutes** | ~195 MB |

***

### 🗂️ Bazos category subdomains

Bazos partitions listings across dedicated subdomains. You can target specific subdomains by providing them in `startUrls`:

| Subdomain | Focus Category | Popular Keywords |
|---|---|---|
| `auto.bazos.cz` | Cars, Motorcycles, Parts, Caravans | Škoda, BMW, kola, pneumatiky, přívěs |
| `mobil.bazos.cz` | Smartphones, Smartwatches, Accessories | iPhone, Samsung, Xiaomi, Apple Watch |
| `pc.bazos.cz` | Laptops, Desktops, Graphics Cards, Monitors | MacBook, RTX, herní PC, iPad, Dell |
| `elektro.bazos.cz` | Audio, TVs, White Goods, Coffee Machines | Televize, pračka, kávovar, repro |
| `reality.bazos.cz` | Apartments, Houses, Land, Garages | Byt, dům, zahrada, garáž, pronájem |
| `dum.bazos.cz` | Home, Garden, Furniture, Tools | Sedačka, stůl, sekačka, dřevo, kamna |
| `stroje.bazos.cz` | Heavy Equipment, Tractors, Industrial Tools | Traktor, bagr, soustruh, vřeteno |
| `deti.bazos.cz` | Baby Strollers, Toys, Children's Clothing | Kočárek, autosedačka, Lego, postýlka |

***

### 💡 Best practices for scraping Bazos.cz

1. **Category isolation via Start URLs:** To avoid cross-category matches (e.g., searching for `audi` returning both actual cars and toy models), paste the specific subdomain URL `https://auto.bazos.cz/?hledat=audi` into `startUrls`.
2. **Speed optimization:** Leave `scrapeDetails: false` unless you explicitly require seller names. The standard listing view already captures `price`, `date`, `views`, `location`, and cover images at 5x higher speed.
3. **Budget slicing:** Use `priceMin` and `priceMax` to filter out accessory listings and focus on complete products.
4. **Proxy efficiency:** Datacenter proxies are configured by default. Do not use residential proxies for Bazos, as datacenter IP rotation operates with 100% success and avoids unnecessary per-GB bandwidth fees.
5. **Freshness tracking:** Sort your exported dataset by `date` descending to prioritize items published within the past 24 hours.

***

### 🔗 Related scrapers

Looking for classifieds across Europe and beyond? Check out these companion actors:

- [Gumtree Scraper](https://apify.com/haketa/gumtree-scraper) — UK #1 local classifieds marketplace.
- [Willhaben Scraper](https://apify.com/haketa/willhaben-scraper) — Austria's largest classifieds portal.
- [Finn Scraper](https://apify.com/haketa/finn-scraper) — Norway's premier classifieds and recommerce platform.
- [Blocket Scraper](https://apify.com/haketa/blocket-scraper) — Sweden's leading second-hand marketplace.

***

### 🔁 Deep pagination & scaling

- **Automated offset calculation:** The actor calculates `crz = (page - 1) * 20` and navigates consecutive result pages until reaching your requested `maxItems`.
- **Automatic deduplication:** Records are keyed by listing ID. If multiple search terms match the same advertisement, only a single record is pushed to the dataset.
- **Unlimited collection:** Setting `maxItems: 0` and `maxPagesPerSearch: 0` enables full catalog harvesting.

***

### 🇸🇰 Looking for Slovak listings? Check Bazos.sk

If your market research or resale business covers Slovakia as well as the Czech Republic, check out our dedicated sister actor:

- [Bazos.sk Scraper — Slovak Classifieds Data](https://apify.com/haketa/bazos-sk-scraper) — Identical high-speed extraction engine, pre-configured for Slovak classifieds on `bazos.sk` with native Euro (`EUR`) currency formatting.

***

### 🔄 Automation & webhook integrations

You can easily connect this actor to automated pipelines using Apify integrations:

- **Google Sheets:** Automatically append newly discovered Bazos items to a shared spreadsheet for instant team review.
- **Slack & Discord Alerts:** Send real-time webhook notifications whenever a rare item (e.g. vintage watch, retro gaming console, or underpriced car) is posted.
- **Make (Integromat) & Zapier:** Build automated workflows that alert buyers or calculate resale profit margins dynamically.
- **Database Pipelines:** Stream thousands of categorized second-hand records into PostgreSQL, MongoDB, or Snowflake for historical trend analysis.

***

### 💻 Programmatic integration

#### Node.js / JavaScript

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

const client = new ApifyClient({
    token: 'YOUR_APIFY_TOKEN',
});

const run = await client.actor('haketa/bazos-scraper').call({
    searchTerms: ['iPhone 15'],
    priceMin: 12000,
    priceMax: 20000,
    maxItems: 100,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Extracted ${items.length} Bazos listings:`);
console.table(items.slice(0, 5), ['title', 'price', 'location', 'date', 'views']);
```

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient('YOUR_APIFY_TOKEN')

run_input = {
    'searchTerms': ['Škoda Octavia'],
    'priceMin': 100000,
    'maxItems': 150,
}

run = client.actor('haketa/bazos-scraper').call(run_input=run_input)

dataset_items = client.dataset(run['defaultDatasetId']).list_items().items
print(f"Collected {len(dataset_items)} Bazos records:")
for item in dataset_items[:5]:
    print(f"- {item.get('title')}: {item.get('priceText')} ({item.get('location')})")
```

***

### ❓ Frequently Asked Questions (FAQ)

##### How fresh is the data?

All listings are extracted live at execution time. Posting dates and public view counts reflect real-time marketplace status.

##### Can I retrieve complete seller phone numbers?

Bazos.cz masks phone numbers on public web pages behind user verification. The scraper captures the seller display name and the open masked prefix (`phonePreview`, e.g. `775...`), but full digits are not publicly exposed without interactive authentication.

##### How do view counts help with market intelligence?

High view counts combined with recent publish dates indicate hot, high-demand items. High views on older listings indicate asking prices may be set above market clearing value.

##### What happens if a listing has no numeric price?

For listings labeled "Dohodou" (by agreement) or "Nabídněte" (make an offer), `price` returns `null` while `priceText` preserves the original descriptive label.

***

### 📋 Changelog

#### Version 1.2 — November 2026

- **Deep Pagination Unlocked:** Upgraded pagination loop to support deep crawling past 1,000+ listings without artificial restrictions.
- **Fast Prefill Sampling:** Configured fast default prefill (100 items) for sub-20 second preview runs.
- **Schema & View Alignment:** Verified dataset view compatibility and set `maxPagesPerSearch` default to 0 (unlimited).
- **Subdomain Routing Optimization:** Enhanced automated detection of category tags from host URLs.

#### Version 1.1 — October 2026

- **View Count Parsing:** Added extraction of public advertisement view counters.
- **Date Formatting:** Normalized Czech localized date strings into ISO 8601 `YYYY-MM-DD` timestamps.

#### Version 1.0 — Initial Release

- **Core Scraping Engine:** Keyword and category subdomain search across Bazos.cz.
- **Universal Export:** JSON, CSV, and Excel compatibility.

# Changelog

This Actor's version history is a separate document: https://apify.com/haketa/bazos-scraper/changelog.md

# Actor input Schema

## `searchTerms` (type: `array`):

Keywords to search across all Bazos categories, e.g. 'iphone', 'audi', 'kolo'. Each is searched separately. Leave empty if you use Start URLs.

## `startUrls` (type: `array`):

Optional. Paste full Bazos search/category URLs to scrape them directly (e.g. a specific category subdomain like auto.bazos.cz). When provided, Search Terms and filters below are ignored for these URLs.

## `priceMin` (type: `integer`):

Only listings at or above this price.

## `priceMax` (type: `integer`):

Only listings at or below this price.

## `scrapeDetails` (type: `boolean`):

Open each ad for the seller name, full description and view count (plus a masked phone preview). Note: Bazos now hides full phone numbers behind user verification. Slower but richer.

## `maxItems` (type: `integer`):

Maximum number of listings to collect across all searches. 0 = unlimited.

## `maxPagesPerSearch` (type: `integer`):

How many result pages to scrape per search term / URL. Each page has about 20 listings. 0 = unlimited (governed by Max Items).

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

Apify Proxy (Datacenter) is enabled by default and works out of the box. Residential is not recommended (unnecessary per-GB cost).

## Actor input object example

```json
{
  "searchTerms": [
    "iphone"
  ],
  "startUrls": [],
  "scrapeDetails": false,
  "maxItems": 100,
  "maxPagesPerSearch": 0,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

Open to view and export all scraped listings (JSON, CSV, Excel).

# 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 = {
    "searchTerms": [
        "iphone"
    ],
    "startUrls": [],
    "scrapeDetails": false,
    "maxItems": 100,
    "maxPagesPerSearch": 0,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("haketa/bazos-scraper").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 = {
    "searchTerms": ["iphone"],
    "startUrls": [],
    "scrapeDetails": False,
    "maxItems": 100,
    "maxPagesPerSearch": 0,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("haketa/bazos-scraper").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 '{
  "searchTerms": [
    "iphone"
  ],
  "startUrls": [],
  "scrapeDetails": false,
  "maxItems": 100,
  "maxPagesPerSearch": 0,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call haketa/bazos-scraper --silent --output-dataset

```

## MCP server setup

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

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/66sZIQKQ3P5kzxWK6/builds/QHt2osZLuViDAZWJf/openapi.json
