# Allegro Deals Scraper: Discounts, Price Drops & 30-Day Lows (`epicscrapers/allegro-deals-scraper`) Actor

Scrape Allegro.pl deals zone (Strefa Okazji) by department, deal list or keyword. Get price, discount %, the lowest price of the last 30 days, Smart! and best-price-guarantee flags. Monitor mode saves only new deals and price drops. No login.

- **URL**: https://apify.com/epicscrapers/allegro-deals-scraper.md
- **Developed by:** [Epic Scrapers](https://apify.com/epicscrapers) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 offer saveds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

### Allegro Deals Scraper: discounts, price drops and 30-day lowest prices from Strefa Okazji

Allegro Deals Scraper exports Allegro.pl's deals zone (**Strefa Okazji**) to a spreadsheet. Pick departments, Allegro's themed deal lists (bestsellers, Smart! deals, best-price guarantee) or search the deals by keyword. Every offer comes with its price, the discount percentage, the **lowest price of the last 30 days** that Allegro must show under the EU Omnibus rules, the Smart! and best-price-guarantee flags, delivery estimate, rating and images.

- **Discount data as numbers.** `discountPercent`, `originalPrice`, `lowestPrice30Days` and `savings` are parsed from Allegro's Polish price labels ("1 399,00 zł", "cena z 30 dni") into plain numbers you can sort and filter.
- **Price-drop monitoring built in.** Turn on **Only new or changed offers** and schedule the actor: each run saves only deals that are new or whose price changed since the last run, with `previousPrice`, `priceChange` and `changeType` (`new`, `price_drop`, `price_increase`). You pay only for those rows.
- **The whole deals zone or a slice of it.** All deals, any of the 12 departments, Allegro's deal lists (tags), keyword search inside the deals zone, category IDs, price range, shipping origin.
- **Four markets, four currencies.** Allegro Poland, Czechia, Slovakia and Hungary, with prices in PLN, EUR, CZK or HUF and titles in the local language.
- **Fast and cheap.** About 1,500 offers per minute, $1.50 per 1,000 offers. No Allegro account, no API key, no browser.

**Scope:** this actor covers the deals zone (Strefa Okazji). To scrape all of Allegro's search results for a keyword, use [Allegro Keyword Scraper](https://apify.com/epicscrapers/allegro-keyword-scraper). For product reviews, use [Allegro Reviews Scraper](https://apify.com/epicscrapers/allegro-reviews-scraper).

### What can you do with Allegro Deals Scraper?

| Goal                                 | How                                                                                                             |
| ------------------------------------ | --------------------------------------------------------------------------------------------------------------- |
| Get alerts for new deals             | Schedule the actor with **Only new or changed offers** and send new rows to Slack, email or a webhook.          |
| Track price drops on Allegro         | Monitor a department or keyword and filter rows by `changeType = price_drop`.                                   |
| Find the biggest real discounts      | Set **Min discount %** and sort by `discountPercent`. The discount is measured against the 30-day lowest price. |
| Watch competitors' promotions        | Search the deals zone for your brand or product type and see who discounts, by how much and with which badge.   |
| Deal and coupon sites, Telegram bots | Feed fresh Allegro deals with images, prices and links into your site or channel every hour.                    |
| Retail and pricing research          | Export a department's deals to see price levels, discount depth, Smart! coverage and sponsored placements.      |
| Check Omnibus compliance             | Compare `price` with `lowestPrice30Days` for every discounted offer.                                            |

### How it compares

| What you need                    | Allegro Deals Scraper                                     | Other Allegro scrapers                      |
| -------------------------------- | --------------------------------------------------------- | ------------------------------------------- |
| Deals zone (Strefa Okazji)       | Yes: all deals, departments, deal lists, keyword search   | Usually regular search or category listings |
| 30-day lowest price (Omnibus)    | `lowestPrice30Days` as a number                           | Rarely, or as raw text                      |
| Discount %                       | Number, also computed for Smart!-only and app-only prices | Raw label text or missing                   |
| New deals and price drops        | Built-in monitoring with `changeType` and `previousPrice` | You diff the runs yourself                  |
| Pay only for changes             | Yes, unchanged offers are not saved or charged            | No                                          |
| Czech, Slovak, Hungarian markets | Yes, with local language and currency                     | Mostly allegro.pl only                      |
| Price                            | $1.50 per 1,000 offers                                    | Often several times more                    |

### Quick start

1. Click **Try for free** and sign in to Apify.
2. Keep the prefilled input: department `elektronika`, 30 offers.
3. Click **Start**. The run takes a few seconds. Open the **Output** tab and export to CSV, Excel or JSON.

```json
{
    "departments": ["elektronika"],
    "maxItems": 30
}
```

Search the deals zone for a keyword, only discounts of 20% or more, prices in euros:

```json
{
    "searchQueries": ["lego", "słuchawki"],
    "minDiscountPercent": 20,
    "currency": "EUR",
    "maxItems": 200
}
```

Daily price-drop monitor for two departments' bestsellers:

```json
{
    "departments": ["elektronika", "dom-i-ogrod"],
    "tags": ["bestsellers"],
    "maxItems": 300,
    "onlyNewOrChanged": true,
    "monitorKey": "bestsellers-daily"
}
```

### Departments and deal lists

**Departments** (`departments`, checked in October 2026): `elektronika`, `moda`, `dziecko`, `motoryzacja`, `dom-i-ogrod`, `supermarket`, `kultura-i-rozrywka`, `sport-i-turystyka`, `zdrowie`, `uroda`, `kolekcje-i-sztuka`, `firma-i-uslugi`. Leave the list empty for all deals. A deals-zone URL such as `https://allegro.pl/strefa-okazji/moda` also works.

**Deal lists** (`tags`) change with Allegro's campaigns. In October 2026 they were:

| Tag                      | On Allegro                | Available in                                            |
| ------------------------ | ------------------------- | ------------------------------------------------------- |
| `bestsellers`            | Bestsellery               | all deals and every department except motoryzacja       |
| `smart-deals`            | Tylko w Smart!            | most departments                                        |
| `best-price-guarantee`   | Gwarancja najniższej ceny | most departments                                        |
| `get-cashback-with-klik` | Zgarnij cashback z Klik   | all departments                                         |
| `autumn-discounts`       | Jesienne przeceny         | moda, dziecko, dom-i-ogrod, sport-i-turystyka           |
| `ready-for-fall`         | Gotowi na jesień?         | several departments                                     |
| `app-only`               | Tylko w apce              | dziecko, dom-i-ogrod, supermarket, uroda                |
| `tires-at-low-prices`    | Opony w niskich cenach    | motoryzacja, also tire sizes such as `tires-205-55-r16` |

A tag that doesn't exist in a department is skipped with a warning in the log; the rest of the run continues.

### Input reference

| Field                                             | What it does                                                                                                                                 |
| ------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `departments`                                     | Department aliases. Empty = all deals.                                                                                                       |
| `tags`                                            | Deal lists. Empty = the default list.                                                                                                        |
| `searchQueries`                                   | Keywords searched inside the deals zone.                                                                                                     |
| `maxItems`                                        | Offers per source (each department × tag × keyword × category combination). Default 100, 0 = no limit.                                       |
| `minPrice`, `maxPrice`                            | Price range in PLN (Allegro filters on the złoty price even when another currency is selected).                                              |
| `minDiscountPercent`                              | Only offers with at least this discount.                                                                                                     |
| `categoryIds`                                     | Allegro category IDs, e.g. `165` for smartphones.                                                                                            |
| `deliveryTime`, `deliveryOptions`, `shippingFrom` | Allegro's own deals-zone filters: delivery time, Smart!/free delivery/free returns, ships from Poland, China, an Allegro warehouse and more. |
| `marketplace`                                     | `allegro-pl`, `allegro-cz`, `allegro-sk` or `allegro-hu`.                                                                                    |
| `currency`                                        | `PLN`, `EUR`, `CZK` or `HUF`. Empty = the marketplace's currency.                                                                            |
| `shippingCountry`                                 | Country for delivery estimates, e.g. `DE`.                                                                                                   |
| `onlyNewOrChanged`                                | Save only offers that are new or changed price since the last run with the same `monitorKey`.                                                |
| `monitorKey`                                      | Name of the saved price history. Use one key per monitored setup.                                                                            |
| `proxyConfiguration`                              | Residential proxies in Poland by default. Allegro blocks datacenter IPs.                                                                     |

### Output

Each row is one offer. A real example (image list shortened):

```json
{
    "offerId": "14604161923",
    "title": "ODKURZACZ PIORĄCY DO DYWANÓW SSAWKA TAPICERKI PROFESJONALNY LEHMANN 2000W",
    "url": "https://allegro.pl/produkt/odkurzacz-pioracy-do-dywanow-ssawka-tapicerki-profesjonalny-lehmann-2000w-a8a7170c-59e6-4a3e-bfc5-8bb4bd732c19?offerId=14604161923",
    "productId": "a8a7170c-59e6-4a3e-bfc5-8bb4bd732c19",
    "productUrl": "https://allegro.pl/produkt/odkurzacz-pioracy-do-dywanow-ssawka-tapicerki-profesjonalny-lehmann-2000w-a8a7170c-59e6-4a3e-bfc5-8bb4bd732c19",
    "price": 397.99,
    "currency": "PLN",
    "originalPrice": 419,
    "discountPercent": 5,
    "lowestPrice30Days": 419,
    "savings": 21.01,
    "dealLabel": "-5%",
    "multiPackQuantity": null,
    "multiPackPrice": null,
    "productRating": 4.83,
    "deliveryText": "dostawa w sobotę – kup do 15:00",
    "isSmart": true,
    "hasBestPriceGuarantee": true,
    "isSponsored": false,
    "badges": ["DISCOUNT_PL", "BEST_PRICE_GUARANTEE_PL"],
    "complianceLabels": [],
    "discountLabels": ["-5%", "419,00 zł", "cena z 30 dni"],
    "sellerId": "28752940",
    "categoryId": "257197",
    "departmentAlias": null,
    "tagAlias": null,
    "searchPhrase": null,
    "categoryFilter": null,
    "marketplace": "allegro-pl",
    "mainImageUrl": "https://a.allegroimg.com/original/11aab8/eecf02d14b02a5b572e20095b01c/ODKURZACZ-PIORACY-DO-DYWANOW-SSAWKA-TAPICERKI-PROFESJONALNY-LEHMANN-2000W",
    "imageUrls": [
        "https://a.allegroimg.com/original/11aab8/eecf02d14b02a5b572e20095b01c/ODKURZACZ-PIORACY-DO-DYWANOW-SSAWKA-TAPICERKI-PROFESJONALNY-LEHMANN-2000W"
    ],
    "position": 2,
    "page": 1,
    "scrapedAt": "2026-10-01T23:01:33.181Z"
}
```

With monitoring, rows also have `changeType`, `previousPrice` and `priceChange`, for example `"changeType": "price_drop", "previousPrice": 39.99, "priceChange": -10`.

| Field                                                                          | Description                                                                                                  |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| `offerId`, `title`, `url`                                                      | Allegro offer ID, title and link to the offer on its product page.                                           |
| `productId`, `productUrl`                                                      | Allegro catalog product (several sellers' offers can share one).                                             |
| `price`, `currency`                                                            | Current price as a number.                                                                                   |
| `originalPrice`                                                                | The struck-through reference price shown next to the deal.                                                   |
| `lowestPrice30Days`                                                            | Lowest price of the offer in the 30 days before the reduction ("cena z 30 dni", EU Omnibus directive).       |
| `discountPercent`, `savings`                                                   | Discount against the reference price, in percent and in currency. Computed when Allegro shows no percentage. |
| `dealLabel`, `discountLabels`                                                  | The deal badge as shown: `-10%`, `Tylko w Smart!`, `Tylko w apce`, `zestaw`, `gratis`, and all its labels.   |
| `multiPackQuantity`, `multiPackPrice`                                          | For multi-pack deals ("5 sztuk za 134,95 zł"): 5 and 134.95.                                                 |
| `productRating`                                                                | Average product rating, 0 to 5.                                                                              |
| `deliveryText`                                                                 | Allegro's delivery estimate, e.g. "dostawa w sobotę – kup do 15:00".                                         |
| `isSmart`                                                                      | Allegro Smart! (free delivery for Smart! members).                                                           |
| `hasBestPriceGuarantee`                                                        | Gwarancja najniższej ceny (best-price guarantee).                                                            |
| `isSponsored`                                                                  | Paid placement, labeled "Promowane".                                                                         |
| `badges`                                                                       | Allegro's internal badges: `DISCOUNT_PL`, `SMART_DEALS_PL`, `BEST_PRICE_GUARANTEE_PL`.                       |
| `complianceLabels`                                                             | Legal labels such as "Promowane" or "wyrób medyczny" (medical device).                                       |
| `sellerId`, `categoryId`                                                       | Seller and category IDs.                                                                                     |
| `departmentAlias`, `tagAlias`, `searchPhrase`, `categoryFilter`, `marketplace` | Which source the offer came from.                                                                            |
| `mainImageUrl`, `imageUrls`                                                    | Full-size images.                                                                                            |
| `position`, `page`                                                             | Position in the source's feed (1 = first).                                                                   |
| `changeType`, `previousPrice`, `priceChange`                                   | Monitoring only: `new`, `price_drop`, `price_increase` (or `unchanged` when saving all rows).                |
| `scrapedAt`                                                                    | When the row was saved (ISO 8601).                                                                           |

### Monitor new deals and price drops

1. Set your departments, tags or keywords, turn on **Only new or changed offers** and enter a **Monitor key**, e.g. `electronics-daily`.
2. Save the input as a task and add a schedule (e.g. every hour or every morning).
3. The first run saves everything it checks (all offers are new). Every later run saves only offers that are new since the last run or whose price changed.
4. Connect the task to Slack, email, Google Sheets, Zapier or Make in the **Integrations** tab to get each run's new deals.

The price history is stored in your Apify account, in the key-value store `allegro-deals-monitor`, one record per monitor key. Offers not seen for 90 days are forgotten. In monitoring mode, **Max offers per source** is the number of offers checked in each source, so the same top deals are compared on every run.

### FAQ

#### How many deals can I get?

The all-deals feed ends after roughly 500 to 1,000 offers (it varies during the day). Department and keyword feeds go much deeper; in tests they still returned full pages after 1,600 offers. For more deals, list several departments: each one is a separate source with its own limit. Offers that appear in several sources are saved once per run.

#### How fast is it?

About 1,500 offers per minute for a single source, and up to three sources run in parallel. The prefilled run finishes in under 10 seconds.

#### Why does a keyword return few results?

The keyword search covers only the deals zone, not all of Allegro. Use short words a shopper would type. Price, delivery and discount filters reduce results further. For Allegro's full search, use [Allegro Keyword Scraper](https://apify.com/epicscrapers/allegro-keyword-scraper).

#### Why did my run stop before reaching my limit?

Either the feed ended (the log shows how many pages were read), or the run reached its maximum cost or your spending limit; everything saved before that is in the dataset and the monitor history is kept.

#### Is the 30-day price reliable?

`lowestPrice30Days` is the value Allegro displays as "cena z 30 dni": by EU law, the lowest price of the offer in the 30 days before the discount. The actor reads it from Allegro; it does not estimate it. Offers without a discount badge have no 30-day price.

#### Do I need proxies or an Allegro account?

No account is needed. The actor uses Apify residential proxies in Poland by default, because Allegro blocks datacenter IPs. Residential traffic is included in the actor's price.

#### Is it legal to scrape Allegro?

The actor collects publicly visible offer data (prices, titles, images) and no personal data of buyers. You are responsible for how you use the data, including Allegro's terms and laws such as GDPR.

### Cost

This actor uses pay-per-event pricing. You pay for offers saved, with no subscription:

| Event       | Price    | Per 1,000 | Charged when                     |
| ----------- | -------- | --------- | -------------------------------- |
| `offer`     | $0.0015  | $1.50     | An offer is saved to the dataset |
| Actor start | $0.00005 | -         | Once per run                     |

Example runs:

| Run                                                                   | Cost      |
| --------------------------------------------------------------------- | --------- |
| Prefilled run, 30 offers                                              | $0.05     |
| 1,000 deals                                                           | $1.50     |
| All 12 departments × 500 offers                                       | $9        |
| Hourly monitor of 500 offers, ~20 new or changed per run, for 30 days | about $22 |

In monitoring mode, unchanged offers are checked but not saved, so they cost nothing. Set a maximum cost per run; the actor stops cleanly when it's reached.

### Related actors

- [Allegro Keyword Scraper](https://apify.com/epicscrapers/allegro-keyword-scraper): all of Allegro's search results for any keyword.
- [Allegro Reviews Scraper](https://apify.com/epicscrapers/allegro-reviews-scraper): Allegro product reviews and ratings.
- [Allegro Deals Scraper](https://apify.com/epicscrapers/allegro-deals-scraper): this actor.

### Support

Report problems or request features in the **Issues** tab. Include the run ID, the input and what you expected.

This actor is not affiliated with or endorsed by Allegro.pl sp. z o.o. "Allegro" is a trademark of its owner.

Keywords: Allegro okazje, Strefa Okazji scraper, Allegro promocje, Allegro przeceny, najniższa cena z 30 dni, Allegro price tracker, Allegro deals API.

# Actor input Schema

## `departments` (type: `array`):

Deals-zone (Strefa Okazji) departments to scrape, by alias. Leave empty for all deals. Current aliases (October 2026): elektronika, moda, dziecko, motoryzacja, dom-i-ogrod, supermarket, kultura-i-rozrywka, sport-i-turystyka, zdrowie, uroda, kolekcje-i-sztuka, firma-i-uslugi. A URL such as https://allegro.pl/strefa-okazji/elektronika also works.

## `tags` (type: `array`):

Themed deal lists, by alias. Leave empty for the default list. Tags change with Allegro's campaigns; in October 2026 they were: bestsellers, smart-deals (Tylko w Smart!), best-price-guarantee (Gwarancja najniższej ceny), get-cashback-with-klik, autumn-discounts, ready-for-fall, app-only (Tylko w apce, some departments), and in motoryzacja tires-at-low-prices plus tire sizes such as tires-205-55-r16. A tag that doesn't exist in a department is skipped with a warning.

## `searchQueries` (type: `array`):

Search inside the deals zone, one keyword per entry (e.g. iphone, lego). Combined with every department and tag above. Leave empty to browse deals without a keyword.

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

Maximum offers saved for each combination of department, tag, keyword and category. In monitoring mode this is the number of offers checked per source (only new or changed ones are saved). Set to 0 for no limit. The all-deals feed ends after about 500 to 1,000 offers; department and keyword feeds go past 1,600.

## `minPrice` (type: `integer`):

Only offers at or above this price in Polish złoty. Allegro filters on the PLN price even when you choose another currency.

## `maxPrice` (type: `integer`):

Only offers at or below this price in Polish złoty. Allegro filters on the PLN price even when you choose another currency.

## `minDiscountPercent` (type: `integer`):

Only save offers with at least this discount against the lowest price of the last 30 days. Most deals-zone offers have no discount badge, so a value above 0 scans more pages to fill the limit. 0 keeps all offers.

## `categoryIds` (type: `array`):

Only offers in these Allegro category IDs (the number at the end of a category URL, e.g. 165 for smartphones in https://allegro.pl/kategoria/smartfony-i-telefony-komorkowe-165).

## `deliveryTime` (type: `string`):

Only offers delivered within this time.

## `deliveryOptions` (type: `array`):

Only offers with these delivery benefits: Allegro Smart!, free delivery, free returns.

## `shippingFrom` (type: `array`):

Only offers shipped from these places.

## `marketplace` (type: `string`):

Allegro marketplace. The deals are the same; titles and labels come in the marketplace's language (Allegro's own translations) and prices in its currency unless you choose one below.

## `currency` (type: `string`):

Currency of all prices. Leave empty for the marketplace's currency.

## `shippingCountry` (type: `string`):

2-letter country code used for delivery estimates (e.g. DE). Leave empty for the marketplace's country.

## `onlyNewOrChanged` (type: `boolean`):

Save only offers that are new since the last run with the same monitor key, or whose price changed. Rows get changeType (new, price\_drop, price\_increase), previousPrice and priceChange. Schedule the actor to get a feed of fresh deals and price drops; you pay only for those rows.

## `monitorKey` (type: `string`):

Name of the saved price history (stored in your key-value store "allegro-deals-monitor"). Use a different key for each monitored setup. Setting a key without the option above adds changeType, previousPrice and priceChange to every row.

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

Allegro blocks datacenter IPs. Residential proxies in Poland work best and are the default.

## Actor input object example

```json
{
  "departments": [
    "elektronika"
  ],
  "maxItems": 30,
  "minDiscountPercent": 0,
  "deliveryTime": "",
  "marketplace": "allegro-pl",
  "currency": "",
  "onlyNewOrChanged": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "PL"
  }
}
```

# Actor output Schema

## `results` (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 = {
    "departments": [
        "elektronika"
    ],
    "maxItems": 30,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "PL"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("epicscrapers/allegro-deals-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 = {
    "departments": ["elektronika"],
    "maxItems": 30,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "PL",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("epicscrapers/allegro-deals-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 '{
  "departments": [
    "elektronika"
  ],
  "maxItems": 30,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "PL"
  }
}' |
apify call epicscrapers/allegro-deals-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,epicscrapers/allegro-deals-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/lZoZ7vyThTDZ1T4ed/builds/pATTTWI8ZE7Zf4Trw/openapi.json
