# Allegro Seller Scraper — Prices, EAN, SKU, Images, Specs (PL) (`liveclaude/allegro-seller-scraper`) Actor

Scrape full seller catalogs from Allegro.pl — Poland's #1 e-commerce marketplace. Extract URL, name, price, EAN, SKU, descriptions, parameters, images. DataDome bypass included. Built by Klevio — Polish e-commerce specialists.

- **URL**: https://apify.com/liveclaude/allegro-seller-scraper.md
- **Developed by:** [FlareWOW](https://apify.com/liveclaude) (community)
- **Categories:** E-commerce, SEO tools, MCP servers
- **Stats:** 48 total users, 4 monthly users, 95.5% runs succeeded, 2 bookmarks
- **User rating**: No ratings yet

## Pricing

from $50.00 / 1,000 full product scrapeds

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/platform/actors/running/actors-in-store#pay-per-event

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

> Maintained by **[Klevio](https://klevio.pl)** — Polish e-commerce specialists.
> We build custom **BaseLinker integrations**, Allegro automations, and bespoke scrapers for Polish online stores. Need a custom solution? → **support@klevio.pl**
>
> 📦 Part of our Polish e-commerce scraper suite — see footer for what's coming next.

### What does Allegro Seller Scraper do?

**Allegro Seller Scraper extracts the full product catalog of any seller on Allegro.pl** — Poland's largest e-commerce marketplace with 135M+ active listings. You give the actor a seller URL (e.g. `https://allegro.pl/uzytkownik/BamTrade` or `https://business.allegro.pl/uzytkownik/Natelite-Zoo`) and it returns every product with **URL, name, price, EAN, SKU, parameters (36+ fields per product), description, images, and seller identity** — through pagination, automatically.

This is currently the **only working Allegro scraper on Apify Store** — other scrapers (including official Apify-maintained ones) fail because of Allegro's aggressive DataDome anti-bot protection. We solve it via Bright Data Scraping Browser integration + custom DOM interaction to expand hidden parameter tables where EAN lives.

Try it free with our built-in residential proxy — just paste a seller URL and press Start. The actor runs on the [Apify platform](https://apify.com) which gives you free compute credits, scheduling, API access, and integrations to Google Sheets, Webhook, Slack, and more.

### Key features

- 🔍 **Scrape full Allegro seller catalogs** — get URL, name, price, EAN, SKU, parameters (36+ fields)
- 💰 **Monitor Allegro prices** in real-time at $6/1000 — repricer-friendly
- 🇵🇱 **Extract EAN/GTIN codes** from Polish marketplace listings
- 🛡️ **DataDome bypass included** — the only Allegro scraper that consistently works
- 📦 **Export to CSV / JSON / Excel** — or pipe via API to your system
- 🔄 **BaseLinker compatible** output format
- ⚡ **High concurrency** — scrape 1000+ products in minutes with parallel workers
- 🇪🇺 **GDPR compliant** — public catalog data only, no PII

### Why use Allegro Seller Scraper?

**Common use cases:**

- 🏷️ **Price monitoring** — track competitor prices across hundreds of sellers, daily. Repricers, marketplaces, dropshippers
- 🔍 **Competitor product research** — full catalog with EAN/SKU/parameters/descriptions for benchmarking
- 📊 **Market intelligence** — spot pricing trends, stock movements, new launches
- 💾 **Catalog import/enrichment** — pull EAN codes to match your own inventory in BaseLinker, Atomstore, Shoper, etc.
- 🤖 **Feed your LLM** — structured product data for AI-powered search, recommendations, product tagging
- 📈 **SEO research** — Allegro product descriptions are a goldmine of long-tail keywords and copywriting patterns

**Why this scraper specifically:**

- ✅ **Actually works** — competing Allegro scrapers on Apify Store are mostly broken (1.0–1.1⭐ reviews from users who got blocked). This one passes DataDome consistently.
- ✅ **Two pricing tiers** — pay only for what you need. Full data at $50/1000 for deep research, or listing-only at **$6/1000** for price monitoring (8× cheaper).
- ✅ **Both `allegro.pl` and `business.allegro.pl`** seller URLs supported.
- ✅ **Pagination built-in** — give it a URL of a seller with 5000 products, it'll paginate through all ~83 pages automatically.
- ✅ **EAN + 36+ parameters** — we extract the full "Wszystkie parametry" specification table (brand, model, dimensions, connectivity, energy class, …) plus EAN/GTIN codes. Other scrapers miss this.
- ✅ **Resilient** — if the actor is stopped mid-run (budget cap, timeout, user abort), already-scraped products stay in the dataset. You never lose partial work.
- ✅ **Managed proxy** — no need to configure your own proxy. Just press Start.

### How to use Allegro Seller Scraper

1. **Pick your mode** (`scrapeMode`):
   - **`seller-full`** — give a seller URL, get the whole catalog with EAN, SKU, parameters, description, images ($50/1000)
   - **`seller-listing`** — give a seller URL, get fast listing-only data (URL, name, price, main image) for price monitoring (**$6/1000**)
   - **`product-urls`** — give a list of specific product URLs, get full details of each ($50/1000)
2. **Paste the URL** (e.g. `https://allegro.pl/uzytkownik/BamTrade`)
3. **Set `maxProducts`** — how many products to extract. `0` = unlimited (whole catalog).
4. **Press Start.** The actor logs progress and saves each product to the Dataset as soon as it's scraped.
5. **Download results** as JSON, CSV, Excel, HTML, or pipe via API into your own system.

### Input

**Minimum input (full catalog):**

```json
{
  "scrapeMode": "seller-full",
  "sellerUrl": "https://allegro.pl/uzytkownik/BamTrade",
  "maxProducts": 100
}
```

**Fast price monitoring mode:**

```json
{
  "scrapeMode": "seller-listing",
  "sellerUrl": "https://business.allegro.pl/uzytkownik/Natelite-Zoo",
  "maxProducts": 0
}
```

**Product-detail-by-URL mode:**

```json
{
  "scrapeMode": "product-urls",
  "productUrls": [
    "https://allegro.pl/produkt/telewizor-...-5c3a9ec0?offerId=18138367461",
    "https://allegro.pl/produkt/oczyszczacz-...-e6172171?offerId=15479625845"
  ]
}
```

See the **Input** tab for the full schema with descriptions. All safety knobs are configurable: `maxRequestsPerCrawl` (hard cap), `maxConcurrency`, delays between requests, etc.

#### Power user — bring your own Bright Data

By default the actor uses our managed Bright Data Scraping Browser (price includes proxy). If you have your own Bright Data account, paste your WSS URL in the `brightDataWssUrl` field (secret) and the actor will route through your account — you pay them directly, we charge you less for just the code/compute.

### Output

Each product becomes one row in the Dataset. Example (`seller-full` mode):

```json
{
  "url": "https://allegro.pl/produkt/oczyszczacz-powietrza-toshiba-caf-y92xpl-e6172171-da1a-4b5b-835f-cc86d58b1f3a?offerId=15479625845",
  "name": "Toshiba CAF-Y92XPL Oczyszczacz Powietrza HEPA H13 Węglowy Na Alergię",
  "price": 459,
  "currency": "PLN",
  "ean": "6939924828336",
  "sku": "CAF-Y92XPL",
  "offerId": "15479625845",
  "productId": "e6172171-da1a-4b5b-835f-cc86d58b1f3a",
  "sellerId": "98063506",
  "sellerLogin": "BamTrade",
  "mainImage": "https://a.allegroimg.com/s720/1138d5/fd3ff6024b23b9b85ee983ac7e3d/...",
  "images": [
    "https://a.allegroimg.com/s720/1138d5/...",
    "https://a.allegroimg.com/original/117b92/..."
  ],
  "description": "Oczyszczacz powietrza Toshiba CAF-Y92XPL z filtrem HEPA H13, technologią jonizacji, pochłaniacz zapachów, cichą pracą ...",
  "parameters": {
    "Marka": "Toshiba",
    "Model": "CAF-Y92XPL",
    "Maksymalna wielkość pomieszczenia": "60 m²",
    "Poziom hałasu": "28 dB",
    "Filtry": "HEPA, jonizacyjny, węglowy, wstępny"
  },
  "scrapedAt": "2026-06-01T00:15:48Z"
}
```

Download as **JSON, CSV, Excel, HTML, RSS, JSONL**, or pipe via Apify API into your own system.

#### Data fields

| Field | Type | Notes |
|---|---|---|
| `url` | string | Canonical product URL |
| `name` | string | Product title (cleaned, no "- Allegro" suffix) |
| `price` | number | Current price (main offer price) |
| `currency` | string | Usually `PLN` |
| `ean` | string | null | EAN (GTIN-13). `seller-full` / `product-urls` only. |
| `sku` | string | null | Manufacturer code (Kod producenta). `seller-full` / `product-urls` only. |
| `offerId` | string | Allegro offer ID (unique per listing) |
| `productId` | string | null | Allegro product ID (UUID, shared between offers of the same product) |
| `sellerId` | string | Numeric seller ID |
| `sellerLogin` | string | Seller username (matches URL) |
| `mainImage` | string | null | Highest-resolution main image URL (CDN: allegroimg.com) |
| `images` | string\[] | Full product gallery (resolution-deduplicated). `seller-full` / `product-urls` only. |
| `parameters` | object | Map of spec parameters (Marka, Model, dimensions, connectivity, …) — 36+ fields in `seller-full`. `{}` if none; not included in `seller-listing`. |
| `description` | string | null | Plain-text product description (HTML stripped, capped at 20K chars). `seller-full` / `product-urls` only. |
| `scrapedAt` | string | ISO 8601 timestamp of extraction |

### Pricing — how much does it cost to scrape Allegro?

Pay-per-event model — you pay for what's actually scraped:

| Event | Price | When |
|---|---|---|
| Full product scraped | **$0.05** ($50 / 1000) | `seller-full` / `product-urls` modes |
| Listing-only product scraped | **$0.006** ($6 / 1000) | `seller-listing` mode |
| Run start fee | $0.05 | Once per run |

**Example costs:**

- Monitor prices of a 500-product seller daily (`seller-listing`) → ~$3.05/run → ~$92/month
- Full scrape of a 1000-product seller (one-off, `seller-full`) → ~$50
- Enrich 100 product URLs with EAN/parameters/descriptions (`product-urls`) → ~$5.05

**Apify also bills a small compute fee** (included in your Apify plan's free credits for most users — see your Apify Billing dashboard).

### Tips for efficient scraping

- **Use `seller-listing` for recurring runs.** If you're monitoring prices daily, you don't need EAN/SKU/parameters every time — save ~88% vs full mode.
- **Schedule runs in Apify** — free built-in scheduler. "Scrape seller X every 6 hours" is a few clicks.
- **Set `maxProducts: 0`** only if you really want the whole catalog — for most use cases, a capped run (e.g. 500) is faster + cheaper + easier to debug.
- **Raise `maxRequestsPerCrawl`** for big catalogs — it's a hard cap on *all* requests (listing pages + products). For N products in `seller-full`, set it to at least N + number of listing pages.
- **Increase `minDelayMs`/`maxDelayMs`** if you see 403 errors spike. Default is polite but aggressive; `2000/5000` ms is safer for long runs.
- **Combine with Google Sheets integration** — Apify has a native connector. Product data flows directly into your spreadsheet.

### FAQ

**Is scraping Allegro legal?**
Apify and this scraper are tools. Scraping publicly available data (what any browser sees) is generally permitted under EU "sui generis" database rights and by jurisprudence in Poland, but Allegro's [Terms of Service](https://allegro.pl/regulamin/pl) prohibit automated access. Use the actor responsibly: (1) scrape only public data, (2) don't overload Allegro's servers (delays are on by default), (3) ensure GDPR compliance when handling any personal data extracted (e.g. seller names). Consult a lawyer for commercial use cases.

**How to scrape Allegro programmatically?**
Run this actor from the [Apify API](https://docs.apify.com/api/v2) or any of the official SDK clients (Node.js, Python). Start a run with a JSON input (`scrapeMode`, `sellerUrl`/`productUrls`, `maxProducts`), then poll the run or read the dataset endpoint to pull results as JSON/CSV. You can also trigger runs on a schedule or via webhook — no servers or proxies to manage on your side.

**What's the cheapest Allegro price monitoring tool?**
Use `seller-listing` mode at **$6/1000 products** — it reads only the catalog listing (URL, name, price, main image) without opening each product page, so it's fast and repricer-friendly. Schedule it to re-run every few hours for continuous competitor price tracking.

**How to extract EAN codes from Allegro?**
Use `seller-full` or `product-urls` mode. The actor opens each product page and reads the full parameter table, returning the **EAN (GTIN-13)** in the `ean` field plus the manufacturer code (`sku`) and 36+ other parameters. Ideal for matching Allegro offers to your own inventory by barcode.

**Can I sync Allegro to BaseLinker automatically?**
The output format is **BaseLinker-compatible** (EAN, SKU, name, price, images, description, parameters), so you can import it into your BaseLinker inventory today. A native **Allegro → BaseLinker auto-push** is on our roadmap (see footer). Need it now, or a custom BaseLinker workflow? Klevio specializes in BaseLinker integrations — **support@klevio.pl**.

**Does this work with business.allegro.pl?**
Yes. Both `https://allegro.pl/uzytkownik/<seller>` and `https://business.allegro.pl/uzytkownik/<seller>` URLs are supported — the actor normalizes them automatically.

**How to bypass DataDome on Allegro?**
Allegro is protected by DataDome, which blocks naive scrapers. This actor routes through a Bright Data Scraping Browser that solves the JS/anti-bot challenge, then extracts the rendered page — so you don't configure anything. The managed proxy is included in the per-product price; power users can plug in their own Bright Data account via `brightDataWssUrl`.

**Why do runs sometimes take a while?**
`seller-full` visits each product page individually and waits for the DataDome challenge to resolve — budget ~30 seconds per product. `seller-listing` is fast: ~10 seconds per 60-product page. Raise `maxConcurrency` to scrape more products in parallel.

**What if the scraper breaks?**
Allegro's structure changes occasionally. We monitor the actor in production and ship fixes within 24–48h. If you hit a bug, open an Issue on this actor page — we respond to all issues. Your already-scraped data stays safe in the Dataset even if a run fails partway.

**Can I extract reviews / stock / variants / seller ratings?**
Not in this actor — we're keeping it focused on seller catalogs. These are shipping as **dedicated actors** in our Polish e-commerce suite (see the footer for the roadmap). Want one sooner? Open an Issue or email support@klevio.pl.

**Is GDPR data returned?**
We extract public catalog data. We deliberately don't scrape reviews (which may contain PII) or buyer information. Seller names/IDs are public-facing business identifiers, not personal data.

**What if Allegro blocks my run?**
Our Bright Data integration passes DataDome in 95%+ of cases, verified across multiple sellers including BamTrade, Natelite-Zoo, and official brand stores. If you see persistent 403 errors in your logs, open an Issue — we'll investigate.

**Who maintains this?**
Built and maintained by [Klevio](https://klevio.pl). Response time to Issues: <48h (usually same day). Launched April 2026, updated continuously.

### More Polish e-commerce scrapers by Klevio

Building a complete suite of Polish e-commerce data tools:

- 🛒 **[Allegro Seller Scraper](https://apify.com/klevio/allegro-seller-scraper)** — Full seller catalog (this actor)
- 🔍 **Allegro Product Offers Scraper** — Given an EAN, find all sellers + prices (coming Q3 2026)
- ⭐ **Allegro Reviews Scraper** — Reviews + ratings extraction (coming Q4 2026)
- 🏪 **OLX Seller Scraper** — Same model for OLX marketplace (coming Q4 2026)
- 🔄 **Allegro → BaseLinker Sync** — Auto-push scraped data to BaseLinker inventory (coming 2027)

Want a custom Polish e-commerce scraper now? → support@klevio.pl

### Support & contact

- **Issues tab** — for bug reports, feature requests, questions. Public, so your issue helps other users too.
- **Discord** — [Apify Community](https://discord.com/invite/jyEM2PRvMU) `#scrapers` channel
- **Marketplace listing** — this page

Built with ❤️ for the Polish e-commerce ecosystem.

# Actor input Schema

## `scrapeMode` (type: `string`):

PEŁNY KATALOG = wchodzi w każdy produkt → EAN, SKU, parametry, opis, zdjęcia (~$58/1000). MONITORING CEN = tylko listing → URL, nazwa, cena, zdjęcie główne, błyskawicznie i taniej (~$5/1000), bez EAN/SKU/opisu. PRODUKTY PO URL = lista konkretnych ofert, pełne szczegóły każdej (~$58/1000).

## `brightDataWssUrl` (type: `string`):

Zostaw PUSTE — domyślnie używamy naszej infrastruktury Bright Data (cena obejmuje proxy i DataDome bypass). Jeśli masz WŁASNE konto Bright Data Browser API i chcesz rozliczać się bezpośrednio z nimi, wklej swój wss://brd-customer-XXX-zone-YYY:PASSWORD@brd.superproxy.io:9222 (znajdziesz w Bright Data Dashboard → Zones → \[zone] → Access Parameters). Pole zaszyfrowane.

## `sellerUrl` (type: `string`):

Pełny URL strony sprzedawcy, np. https://allegro.pl/uzytkownik/BamTrade lub https://business.allegro.pl/uzytkownik/BamTrade. Oba formaty są obsługiwane.

## `productUrls` (type: `array`):

Lista URLi produktów Allegro do scrapowania szczegółów. Akceptowane formaty: allegro.pl/oferta/... oraz allegro.pl/produkt/...

## `maxProducts` (type: `integer`):

Limit dla trybu seller. Ustawienie 0 = bez limitu (cały katalog). Default to bezpieczne 3 — podnieś do 100/1000/10000+ dla prawdziwej pracy.

## `maxRequestsPerCrawl` (type: `integer`):

Bezpiecznik — twardy limit requestów w jednym uruchomieniu. Scraper zatrzyma się po tej liczbie niezależnie od maxProducts. Default 20 (spokojnie starcza na listing + kilka-kilkanaście produktów na test). Dla pełnych katalogów podnieś do 100-1000+ (ustaw ≥ liczba produktów + strony listingu).

## `maxConcurrency` (type: `integer`):

Liczba równoległych sesji browsera. Każda sesja Bright Data zużywa GB. Zalecane 1 na test, 2-3 na produkcji.

## `minDelayMs` (type: `integer`):

Minimalne opóźnienie między requestami w milisekundach. Wyższy delay = mniej podejrzany wzorzec dla DataDome = więcej pełnych stron zamiast challenge.

## `maxDelayMs` (type: `integer`):

Maksymalne opóźnienie między requestami w milisekundach. Scraper losuje wartość pomiędzy min a max dla każdego requestu.

## Actor input object example

```json
{
  "scrapeMode": "seller-full",
  "sellerUrl": "https://allegro.pl/uzytkownik/BamTrade",
  "maxProducts": 3,
  "maxRequestsPerCrawl": 20,
  "maxConcurrency": 1,
  "minDelayMs": 1500,
  "maxDelayMs": 4000
}
```

# Actor output Schema

## `products` (type: `string`):

All scraped Allegro products stored in the default dataset. One row per product with url, name, price, EAN, SKU, description, images, and seller info.

# 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 = {
    "sellerUrl": "https://allegro.pl/uzytkownik/BamTrade"
};

// Run the Actor and wait for it to finish
const run = await client.actor("liveclaude/allegro-seller-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 = { "sellerUrl": "https://allegro.pl/uzytkownik/BamTrade" }

# Run the Actor and wait for it to finish
run = client.actor("liveclaude/allegro-seller-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 '{
  "sellerUrl": "https://allegro.pl/uzytkownik/BamTrade"
}' |
apify call liveclaude/allegro-seller-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,liveclaude/allegro-seller-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/4V5mR1uW1qKp8q1cX/builds/rwtbRJ8J9Uf6U7zhU/openapi.json
