# Alza Category and Product API (`lukas.holona/alza-standby-actor`) Actor

Scrape Alza.cz category listings in normal Actor runs and fetch product details through a low-latency Standby API.

- **URL**: https://apify.com/lukas.holona/alza-standby-actor.md
- **Developed by:** [Lukas](https://apify.com/lukas.holona) (community)
- **Categories:** AI, Agents, Automation
- **Stats:** 2 total users, 1 monthly users, 66.7% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

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

### What does Alza Category and Product API do?

**Alza Category and Product API extracts product listings and current product details from [Alza.cz](https://www.alza.cz/).** Run it as a normal Apify Actor with a category URL or category phrase to receive a dataset of products, or call its Standby `/product` endpoint for a low-latency product lookup. On Apify, the Actor can be called through an API, scheduled, monitored, connected to other services, and configured with proxy rotation.

### Why use Alza Category and Product API?

Use the Actor for price monitoring, assortment research, availability checks, catalog enrichment, market comparisons, or internal shopping tools. Normal mode is convenient for collecting a category into an Apify dataset. Standby mode keeps an HTTP service ready and is better when an application needs information about one product on demand.

### How to scrape Alza.cz data

1. Open the Actor in Apify Console.
2. In the **Input** tab, enter an Alza.cz category URL or a category phrase.
3. Choose the maximum number of products.
4. Configure Apify Proxy if the direct request is blocked.
5. Click **Start** and open the dataset when the run completes.

For product lookups, open the **Standby** tab and test `GET /product` or `POST /product`.

### Input

Normal Actor runs accept:

```json
{
    "category": "https://www.alza.cz/mobily/18843445.htm",
    "maxItems": 20,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
}
```

`category` can also be a phrase such as `mobilní telefony`; the Actor converts it to an Alza search URL. `maxItems` accepts values from 1 to 100.

### Output

Normal runs write one product per default dataset item. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

```json
{
    "name": "iPhone 17 Pro 256GB stříbrná",
    "url": "https://www.alza.cz/iphone-17-pro-d123456.htm",
    "price": 32990,
    "currency": "CZK",
    "availability": "Skladem > 5 ks",
    "imageUrl": "https://cdn.alza.cz/iphone.jpg",
    "productCode": "RI055b3",
    "rating": 4.8,
    "description": "Apple flagship phone",
    "scrapedAt": "2026-07-30T12:00:00.000Z"
}
```

Standby product details add `brand` and a `specifications` object.

### Data table

| Field               | Description                             |
| ------------------- | --------------------------------------- |
| `name`              | Product name                            |
| `url`               | Canonical Alza product URL              |
| `price`, `currency` | Current selling price                   |
| `availability`      | Availability text shown by Alza         |
| `imageUrl`          | Main product image                      |
| `productCode`       | Alza ordering code or SKU               |
| `rating`            | Product rating when available           |
| `description`       | Short product description               |
| `brand`             | Product brand in Standby responses      |
| `specifications`    | Product parameters in Standby responses |

### How much does it cost to scrape Alza.cz?

Cost depends on run duration, selected memory, the number of requests, Standby idle time, and proxy traffic. Small normal-mode tests may fit within Apify's available free usage. Standby consumes resources while a run remains ready, so use it when lower response latency is worth that tradeoff. Residential proxy traffic is billed separately according to your Apify plan.

### Advanced options and reliability tips

Alza uses anti-bot protection and may challenge datacenter requests. If a run returns `ALZA_BLOCKED`, enable Apify Proxy. Standby GET requests use the `RESIDENTIAL` group in the Czech Republic by default when `useApifyProxy=true`; you can select `UNBLOCKER` for a more difficult challenge. These proxy services require an eligible plan and incur proxy usage charges. Keep `maxItems` modest, avoid excessive request frequency, and cache results in your application when real-time freshness is unnecessary.

Standby examples:

```bash
curl -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  "https://YOUR-ACTOR.apify.actor/product?url=https%3A%2F%2Fwww.alza.cz%2Fproduct.htm&useApifyProxy=true&proxyGroup=RESIDENTIAL&proxyCountry=CZ"
```

```bash
curl -X POST -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.alza.cz/product.htm"}' \
  "https://YOUR-ACTOR.apify.actor/product"
```

### FAQ, disclaimers, and support

Scraping legality depends on the data, jurisdiction, and intended use. Review Alza's terms, robots rules, and applicable laws, and do not overload the website. Product layouts and anti-bot systems can change, so selectors may occasionally need maintenance. Use the Actor's **Issues** tab to report a failing URL or request a custom solution, and include the response code and a non-sensitive example URL.

# Actor input Schema

## `category` (type: `string`):

An Alza.cz category URL or a category/search phrase such as "mobilní telefony".

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

Maximum number of products to return from the category page.

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

Optional Apify Proxy settings. Alza may block datacenter traffic, so a Czech residential proxy is recommended for reliable cloud runs.

## Actor input object example

```json
{
  "category": "https://www.alza.cz/mobily/18843445.htm",
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `dataset` (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 = {
    "category": "https://www.alza.cz/mobily/18843445.htm"
};

// Run the Actor and wait for it to finish
const run = await client.actor("lukas.holona/alza-standby-actor").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 = { "category": "https://www.alza.cz/mobily/18843445.htm" }

# Run the Actor and wait for it to finish
run = client.actor("lukas.holona/alza-standby-actor").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 '{
  "category": "https://www.alza.cz/mobily/18843445.htm"
}' |
apify call lukas.holona/alza-standby-actor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,lukas.holona/alza-standby-actor"
        }
    }
}

```

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/Xr6KAyZ2IUGcVamMy/builds/sBBfdBmXs0QXnIVja/openapi.json
