Allegro.pl Scraper — Every Seller, Price, Stock, EAN/GTIN
Under maintenancePricing
from $1.00 / 1,000 records
Allegro.pl Scraper — Every Seller, Price, Stock, EAN/GTIN
Under maintenanceAllegro.pl scraper for the Polish marketplace: an Allegro API alternative. Give it an EAN/GTIN, a URL, a seller, a category or a keyword — get every seller with price, stock, 30-day buyers, buy box and reviews. For price monitoring and repricing. $1 per 1,000 records delivered.
Pricing
from $1.00 / 1,000 records
Rating
0.0
(0)
Developer
Marzi.ai Support
Maintained by CommunityActor stats
0
Bookmarked
7
Total users
3
Monthly active users
13 days ago
Last modified
Categories
Share
Allegro.pl Scraper — products, prices, sellers and stock
Give it an EAN/GTIN, an Allegro link, a seller, a category or a search phrase — get structured Allegro product, seller, price, stock and sales data. Clean records in JSON, CSV or XLSX, ready for a spreadsheet, a database, a dashboard or an AI agent.
An Allegro API for data Allegro's own API does not give you: this Allegro product scraper reads the public pages of Allegro.pl, Poland's largest marketplace, and returns every seller behind a product — at $1 per 1,000 records.

Perfect for: competitor price monitoring · repricing · product research · seller analysis · catalogue matching by EAN · AI agents and automation.
One EAN. Every Allegro seller.
An Allegro product is sold by many sellers at once. Give the Actor the EAN/GTIN and switch on Every seller of the product — it finds the product and returns the whole offer list behind it, one record per seller.
EAN / GTIN5904031549871↓Allegro product↓Every seller's offer↓Price · Delivery · Stock · Buyers 30d · Units sold · Buy box
What that looks like (illustrative values, one record per row):
| Seller | Price | With delivery | Stock | Buyers 30d | Buy box |
|---|---|---|---|---|---|
| Seller A | 99.99 zł | 99.99 zł | 14 | 82 | ✓ |
| Seller B | 102.50 zł | 102.50 zł | 7 | 34 | |
| Seller C | 104.99 zł | 114.98 zł | 21 | 18 |
The same switch works from a search phrase, a category, a seller storefront or an offer link: whatever product the run meets, it can return that product's whole seller list. Real output from a real run is further down, under Example: one EAN, the whole market.
Product, seller, offer — and what one record is
PRODUCT (EAN 5904031549871)│├── Seller A ── Offer 1│ └─ Offer 2├── Seller B ── Offer 3└── Seller C ── Offer 4
One Allegro product can be sold by many sellers, and a seller can have more than one offer of it. The Actor collects those offers together so you can analyse the market around the product.
One offer = one record = one billable unit. A product with 17 sellers delivers 17 records; a search that returns 100 products delivers 100 records (one per product) unless you asked for every seller.
What you get
Every record is one Allegro offer. The columns are the same whichever input produced it, so CSV exports line up.
Product data
Product title · GTIN/EAN* · brand · category and full category path* ·
specifications (parameters, and the grouped table parameterGroups*) ·
description* · images · rating and rating count · number of written
reviews* · rating distribution* · what reviewers mention, with sentiment* ·
the product's 30-day buyer counter · how many offers the product has.
Seller and offer data
Seller login, storefront, company flag, Super Seller badge, positive
feedback percentage (and positive/negative counts*) · price · price with
delivery · cheapest delivery cost and its label · free delivery / free
return · stock* · units sold* · this offer's own 30-day buyers* ·
buy box (buyBox, and buyBoxOfferId on every offer of the product) · Allegro Smart! ·
sponsored and promoted flags · condition (new/used) · offer ID, offer URL,
product URL · position on the listing page · warranty and return policy* ·
end time of a closed offer*.
Review data — optional
Rating · date · author (the masked login Allegro prints) · review text · Allegro's English translation when it has one · pros · cons · helpful votes · reviewer photos · the seller the reviewer bought from · the variant bought · Allegro's "best review" flag.
* from the offer page — switch on Open every offer page, or paste offer
links. Everything else comes straight from the listing or the offer list.
A field the page does not show is null, never a guessed zero.
Start with anything
| Input | What you give | What comes back |
|---|---|---|
| EAN / GTIN | 5904031549871 | the Allegro product for the code — and, with Every seller of the product, its whole offer list |
| Product URL | allegro.pl/produkt/… | every offer on that product, one record per seller, the buy box marked |
| Offer URL | allegro.pl/oferta/18673609654 | that one offer in full: stock, GTIN, units sold, specs, description, warranty, returns |
| Search phrase | powerbank 20000mah | every product Allegro shows for it, page by page, in the order you choose |
| Category | allegro.pl/kategoria/powerbanki-252023 | the category listing, page by page |
| Seller storefront | allegro.pl/uzytkownik/Kong | every offer that seller lists |
You can mix them in one run. Phrases, codes and links go in together —
the Actor tells each link apart by itself (mode: AUTO, the default).
A ?p=N on a listing link starts the walk at that page.
What can you build with it?
- Competitor price monitoring — track the price, delivery cost, stock and 30-day buyers of the same products across every seller, on a schedule.
- Repricing — the current market behind one product: who sells it, at what landed price, with what stock, and who holds the buy box.
- Product research — read a search or a category by popularity, Allegro's own best-seller order, and see what people actually buy.
- Seller intelligence — a competitor's whole storefront as a table: assortment, prices, badges, feedback.
- Catalogue matching — EAN/GTIN codes in, Allegro offers out, ready to join with your own catalogue.
- Brand and MAP monitoring — who lists your products, at what price, sponsored or not.
- Review intelligence — ratings, what reviewers praise or criticise, and the reviews themselves for a whole category.
- AI agents and datasets — deterministic records with a typed schema.
Built for AI and automation
Strict input schema, typed output, deterministic records, no interactive steps — it runs unattended.
AI agent↓ EAN / URL / seller / search phraseAllegro Scraper↓Product + sellers + prices + stock + sales↓JSON
Through the Apify MCP server an agent (Claude,
ChatGPT, Cursor, your own) can find this Actor and run it as a tool:
marzi.ai/allegro-scraper. Set maxTotalChargeUsd on the run as the
agent's budget — the Actor stops at the cap. For the smallest records,
switch off includeParameters, includeImages and includeDescription.
Runs also work with Apify's schedules, webhooks and integrations (Google Sheets, Make, Zapier, n8n).
Example: one EAN, the whole market
Input:
{ "gtins": ["5904031549871"], "allSellers": true, "maxProducts": 50 }
Result — a real run: 23 seconds, 0 failed pages:
EAN 5904031549871→ product Rękawiczki nitrylowe Nitrylex Pink S, 100 szt. ★ 4.97 (1,415)→ 56 offers on the product, 52 records deliveredSeller Price With delivery Stock Buyers 30d Buy box------------------------------------------------------------------------indexbhp_pl 15.20 25.69 40,769 3,253 ✓Medica24 17.95 28.44 5,039 34apTrade_pl 18.49 28.98 29 10JEDNORAZOVE 18.88 29.17 159 19niezbedne_com 18.90 29.39 13 23matopat24_pl 19.99 30.48 713 5…
Every row is one record: sellerName, price, priceWithDelivery,
stock, offerRecentBuyers, buyBox, sellerSuperSeller,
sellerPositivePercent, offerId, url and the rest of the fields below.
The whole run cost 52 × $0.001 = $0.05.
Prices and stock are what Allegro showed at scrapedAt; the same input run
tomorrow gives tomorrow's market.
Simple usage-based pricing
$1 per 1,000 records delivered
One valid record — one Allegro offer stored in your dataset — costs $0.001. Billing is based on the records the scraper successfully returns, not on pages read or products searched.
40 valid offer records × $0.001 = $0.041,000 valid records = $1.00
On Apify's Free plan the Actor runs as a demo of one product. Give it an EAN/GTIN, a product link or an offer link and it returns that product's sellers — price, price with delivery, stock, buy box, 30-day buyers, seller rating, every field a paid run returns, up to 50 of them. Search phrases, categories, seller storefronts and Open every offer page need any paid plan: those walk page after page, and the pages are read for you through paid providers in Poland. The run says which limit it applied in its log.
Never charged: failed or blocked pages, duplicates, invalid records, classifieds from other marketplaces, an empty run.
| Run | Records | What you pay |
|---|---|---|
| 100 products from a search | 100 | $0.10 |
| every seller of one product (say 40 offers) | 40 | $0.04 |
| 1,000 products from a category | 1,000 | $1.00 |
| 10 offer pages, full detail | 10 | $0.01 |
| a run that finds nothing | 0 | $0.00 |
Reviews are a second event. With Fetch product reviews on, each product whose reviews were delivered costs one more $0.001 — whether it has 5 reviews or 1,000. A product whose reviews could not be read is not charged for them.
| Run with reviews | What you pay |
|---|---|
| 10 offer pages with all their reviews | $0.01 + $0.01 = $0.02 |
| 1,000 products of a category, every review of each | $1.00 + $1.00 = $2.00 |
Set Maximum cost per run in Apify Console (maxTotalChargeUsd in the
API) and the Actor stops at your cap. Apify's free plan includes $5 of
platform usage a month, which is enough to try it; this Actor's platform
usage is a fraction of a cent per 100 records.
In Apify's billing the two events are named
product-scraped(one delivered record) andproduct-reviews(one product's reviews).
Optional: offer pages and reviews
The core market data — product, sellers, price, delivery, stock, sales, buy box — needs no extra reads. Two switches go deeper:
- Open every offer page (
fetchDetails) — adds GTIN/EAN, stock, units sold, this offer's own 30-day buyers, the full specification table, the description, rating distribution, review-feature sentiment, warranty, return policy and the category path. One extra page per product. - Fetch product reviews (
fetchReviews) — adds the reviews themselves: rating, date, text and its English translation, pros, cons, helpful votes, reviewer photos, the seller bought from and the variant. Up to Max reviews per product (1,000 at most), newest or most helpful first.
Production-tested: the same parsing infrastructure powers Marzi's own Allegro data products.
Technical documentation
How to run it
- Open the Actor and click Try for free — a free Apify account is enough.
- Give it something to read — any or all of: search phrases, GTIN/EAN
codes, start URLs (offer, product, category, storefront or search
links on allegro.pl). Leave Mode on
AUTO; the strict modes exist for saved tasks that promise one kind of link. - Switch on Every seller of the product for the whole offer list behind each product.
- Set Max products (the cap on records a run delivers, default 100) and, for listings, the sort, condition and price range — Allegro's own filters.
- Optionally switch on Open every offer page and Fetch product reviews.
- Click Start. Records land in the run's dataset as they are validated; export them as JSON, CSV or XLSX, or read them through the API. The run's RUN_SUMMARY (key-value store) lists pages read, seller lists read, duplicates skipped and every page that could not be read, with the reason.
A search run of 100 records takes about half a minute. The dataset tabs Products · Prices · Sellers and offers · Ratings and buyers · Product details · Reviews are ready views of the same records.
Input reference
Mixed, in one run (AUTO mode, the default):
{"searchQueries": ["powerbank 20000mah", "ładowarka gan 65w"],"gtins": ["5904031549871"],"startUrls": [{ "url": "https://allegro.pl/kategoria/powerbanki-252023" },{ "url": "https://allegro.pl/uzytkownik/Kong" },{ "url": "https://allegro.pl/produkt/x-754d112f-f589-4712-b4f4-2bf987113379" },{ "url": "https://allegro.pl/oferta/18673609654" }],"maxProducts": 500}
Every seller of one product, by EAN:
{ "gtins": ["5904031549871"], "allSellers": true, "maxProducts": 100 }
The cheapest new offers for a phrase:
{"searchQueries": ["słuchawki bluetooth"],"maxProducts": 60,"sort": "price_asc","condition": "new","priceMin": 50,"priceMax": 300}
A category's best sellers with the offer page opened for each:
{"mode": "CATEGORY","startUrls": [{ "url": "https://allegro.pl/kategoria/powerbanki-252023" }],"maxProducts": 200,"sort": "popularity","fetchDetails": true}
| Field | Default | Notes |
|---|---|---|
mode | AUTO | AUTO takes everything below; PRODUCT, SEARCH, CATEGORY, SELLER accept one kind of link |
searchQueries | [] | phrases, each walked page by page (searchQuery, a single phrase, still works) |
gtins | [] | GTIN/EAN codes (8, 12, 13 or 14 digits), each searched on Allegro |
startUrls | [] | allegro.pl links: /oferta/, /produkt/, /kategoria/, /uzytkownik/, /listing?string=; ?p=N starts there |
allSellers | false | expand every product the run finds to its whole offer list, one record per seller; at most 50 products a run |
maxProducts | 100 | the cap on records a run delivers, all targets together; 10,000 per run at most |
sort | relevance | relevance, popularity, price_asc, price_desc, newest — listings only |
condition | all | all, new, used |
priceMin / priceMax | — | PLN |
fetchDetails | false | open every offer page (GTIN, stock, units sold, specs, description, rating distribution, warranty, returns) |
fetchReviews | false | read the product's reviews for every record (implies fetchDetails) |
maxReviewsPerProduct | 100 | stop after this many reviews per product; 1,000 at most |
reviewsSort | newest | newest or most_helpful |
includeSponsored | false | keep paid ad slots, flagged sponsored: true |
includeParameters / includeImages / includeDescription | true | off = null on every record; a compact record for AI agents |
concurrency | 2 | parallel browser sessions, 1–5 |
Filters and sorting
sort, condition, priceMin and priceMax are Allegro's own listing
filters and apply to searches, categories and storefronts. sort: popularity
is Allegro's "most popular" order, by the 30-day buyer counter. A product's
offer list has Allegro's own order (price with delivery) and takes no
filters. A storefront sorted by popularity is served by Allegro on its first
page only.
Output reference
A record from a category listing (a real page, sort: popularity):
{"offerId": "17767557663","productId": "a7a63dea-b044-4f5f-ae5b-473294df5ef6","url": "https://allegro.pl/oferta/17767557663","title": "Powerbank Forever TB-100M 2xUSB i USB-C 10000 mAh czarny","imageUrl": "https://a.allegroimg.com/s360/11443d/1b5f757944179672d079e09a6f4f/…","brand": null,"categoryId": 252023,"price": 50.0,"originalPrice": null,"priceWithDelivery": null,"currency": "PLN","freeDelivery": false,"freeReturn": false,"deliveryLowestCost": null,"deliveryLabel": "dostawa pojutrze","condition": null,"rating": 4.82,"ratingCount": 239,"offersCount": 46,"recentBuyers": 26,"promo": true,"sponsored": false,"smart": true,"bestPriceGuarantee": false,"sellerName": "audax_net_pl","sellerId": "7089421","sellerUrl": "https://allegro.pl/uzytkownik/audax_net_pl","sellerCompany": true,"sellerSuperSeller": true,"sellerPositivePercent": 99.4,"parameters": [{ "name": "Materiał obudowy", "value": "metal, tworzywo sztuczne" },{ "name": "Złącza", "value": "microUSB, USB typ A, USB typ C" }],"images": ["https://a.allegroimg.com/s360/11443d/1b5f757944179672d079e09a6f4f/…"],"position": 3,"details": false,"source": { "mode": "CATEGORY", "url": "https://allegro.pl/kategoria/powerbanki-252023?order=qd", "page": 1 },"scrapedAt": "2026-09-21T06:29:18Z"}
Fields an offer page fills (gtin, stock, description, …) are present on
every record and null on a listing card, so CSV columns never move.
Fields from a listing (search, GTIN, category, storefront)
| Field | What it is |
|---|---|
offerId, productId, url | the offer number, the product UUID, the canonical offer page |
title, brand, categoryId, imageUrl, images | the card as shown; brand when Allegro prints it |
price, originalPrice, priceWithDelivery, currency (PLN) | the price on the card, the crossed-out price, price with the cheapest delivery |
freeDelivery, freeReturn, deliveryLowestCost, deliveryLabel | delivery as the card states it |
rating, ratingCount | the product's star rating and how many ratings it rests on |
offersCount | how many offers the product has (sellers × variants) |
recentBuyers | Allegro's counter of people who bought the product in the last 30 days |
sellerName, sellerId, sellerUrl, sellerCompany, sellerSuperSeller, sellerPositivePercent | the seller, the storefront, the company flag, the Super Seller badge, positive feedback |
promo, sponsored, smart, bestPriceGuarantee, condition | promoted offer, paid ad slot, Allegro Smart!, Allegro's best-price badge on the card, new / used |
parameters | the product parameters shown on the card (name/value pairs) |
position, source, scrapedAt | where on the listing the card was; which query, code, seller or page; when |
Fields from a product's offer list (allSellers, or a product URL)
One record per seller's offer, with source.mode: "PRODUCT_CARD" and
source.productId. On top of the listing fields: stock and
offerRecentBuyers for that seller's offer (unitsSold too when Allegro's
label states them), sellerPositiveCount, buyBox: true on the offer that
holds the buy box, and buyBoxOfferId — the buy-box offer named on every
record of the product, so a record that arrived from a search can be matched
against it.
bestPriceGuarantee is a different thing: Allegro's best-price badge on a
listing card. It is null on offer-list records.
Fields from an offer page (fetchDetails, or an offer URL)
| Field | What it is |
|---|---|
gtin | the EAN/GTIN when the seller publishes it |
stock, stockLabel | units left, as the offer page states them |
unitsSold, offerRecentBuyers | this offer's own 30-day label: units sold and buyers |
reviewsCount, ratingLabel, ratingDistribution | how many written reviews, Allegro's verbal grade, stars by score with counts |
reviewFeatures | what reviewers mention (e.g. Wytrzymałość), positive / negative, mention counts |
bestOpinion | the review Allegro features on the page |
parameterGroups, description, descriptionTruncated | the full specification table, grouped; the seller's description as text (20,000 characters cap) |
warranty, returnPolicy | period and kind of warranty; withdrawal period in days and who pays the return |
category, categoryPath, productUrl | the leaf category, the full breadcrumb, the product page |
conditionLabel, sellerPositiveCount, sellerNegativeCount, offerEndedAt | Allegro's condition label, the seller's ratings over the last year, the end time of a closed offer |
Review fields (fetchReviews)
The record carries reviews — up to Max reviews per product, newest or
most helpful first — and reviewsRead:
| Field | What it is |
|---|---|
reviews[].rating, date, author | stars 1–5, the date, the masked login Allegro prints (M...T) |
reviews[].text, textEn, pros, cons | the review as written, Allegro's English translation when it has one, the pros and cons fields |
reviews[].purchasedFrom, variant | the seller the reviewer bought from; the variant bought (e.g. Rozmiar: S) |
reviews[].helpfulVotes, images, featured | how many found it helpful; the reviewer's photos; Allegro's "best" flag |
reviewsRead | how many were read; reviewsCount is Allegro's total |
Field semantics are Allegro's, kept exactly: recentBuyers are people
who bought the product in the last 30 days (all sellers together), not
units; ratingCount are star ratings, reviewsCount written reviews;
offersCount counts offers, not unique sellers; offerId is the record's
identity, so no run returns the same offer twice. The full schema with a
description on every field is in the dataset schema (Storage → Dataset →
Schema).
Not in the output, on purpose: sales estimates, revenue, price history, monitoring. The Actor reports what Allegro shows, at the moment it was read. Estimates and history are what Marzi builds on top of this data.
Run it from code
Copy-and-run versions of everything below — search to CSV, every seller of a barcode, daily price tracking, Node, cURL and the MCP configuration for an AI agent — are in the examples repository: github.com/workmanalex89-blip/allegro-scraper-examples. Each one was run against live Allegro pages before it was committed.
API (cURL)
curl -X POST "https://api.apify.com/v2/acts/marzi.ai~allegro-scraper/runs?token=$APIFY_TOKEN&maxTotalChargeUsd=5" \-H "Content-Type: application/json" \-d '{"gtins":["5904031549871"],"allSellers":true,"maxProducts":100}'# … then the dataset, as CSV:curl "https://api.apify.com/v2/datasets/<defaultDatasetId>/items?format=csv&token=$APIFY_TOKEN"
Python
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("marzi.ai/allegro-scraper").call(run_input={"gtins": ["5904031549871"], "allSellers": True, "maxProducts": 100,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["sellerName"], item["price"], item["priceWithDelivery"], item["stock"],item["unitsSold"], "buy box" if item["bestPriceGuarantee"] else "")
JavaScript (Node.js)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<APIFY_TOKEN>' });const run = await client.actor('marzi.ai/allegro-scraper').call({startUrls: [{ url: 'https://allegro.pl/oferta/18673609654' }],});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0].title, items[0].price, items[0].stock, items[0].gtin, items[0].warranty);
Compact reference for an AI agent:
- Purpose: Allegro.pl product, seller, price, stock and sales data by EAN/GTIN, search phrase, category, seller storefront, product URL or offer URL — one record per offer.
- Minimal input:
{"searchQueries": ["laptop gaming"], "maxProducts": 20}; by code:{"gtins": ["5904031549871"], "allSellers": true}; by link:{"startUrls": [{"url": "https://allegro.pl/produkt/…"}]}. - Smallest records:
includeParameters: false,includeImages: false,includeDescription: false. - Behaviours to know:
maxProductscaps records across all targets; Allegro serves ~60 offers a page and at most 100 pages per listing; a storefront sorted by popularity is one page;allSellersexpands at most 50 products a run;fetchReviewsadds a second billable event per product with reviews; text is Polish, money is PLN; billing is per stored record, an offer page costs the same as a listing card.
If your agent needs more than a scrape — the weekly index of every Allegro category, competitor and price tracking, keyword positions, monitors that run on their own and report back — that is Marzi AI Integration, an MCP server with 26 functions on the same Allegro parsers: marzi.ai/products/ai-integration · set-up guide at mcp.marzi.ai.
Limits and how it works
- Pages are read through a real browser on Polish residential connections,
paced the way Allegro tolerates (a few pages per identity, then a fresh
one). A block is retried on a new identity with back-off; a page that
cannot be read after several attempts is recorded in
RUN_SUMMARYand the run goes on. This is slower than a bare HTTP fetch and it is what keeps the success rate where it is. - Allegro serves at most 100 pages of any listing (about 6,000
products). For a bigger category, run several narrower inputs — price
ranges, condition, sub-categories — or continue from
?p=N. - A listing page yields about 60 offers in ~10 seconds. Offer pages are one page per product, so offer links and Open every offer page take proportionally longer.
allSellersreads one extra page per product (60 offers a page) and expands at most 50 products per run; what it left alone is counted inRUN_SUMMARY.sellerListsSkipped, and those products keep the card's own offer. Run them as their own input to get their seller lists.- A seller storefront sorted by popularity is served by Allegro for its first page only; relevance, price and newest walk the whole storefront.
- A product's offer list has Allegro's own order (price with delivery) and
no sort or filters;
condition,priceMin/priceMaxdo not apply to it. - Only
allegro.pllinks are accepted. Allegro Lokalnie and allegro.cz/.sk/.hu are different marketplaces and are refused; Lokalnie classifieds that Allegro mixes into a listing are skipped, not stored. - Reviews are read from the feed the product page itself loads them from,
100 a page, in the order you choose;
maxReviewsPerProductbounds it. Reviews belong to the product, so an offer without a product page has none, and two offers of one product carry the same reviews.
FAQ
Is it legal to scrape Allegro? The Actor reads public pages only — the same pages any shopper sees — at a pace Allegro tolerates, never the pages Allegro's robots.txt disallows (variants, standalone reviews), never personal pages, carts or logins. Whether you may use the data depends on your purpose and jurisdiction; Apify's legal guide to web scraping is a good start.
How do I get every seller of one product? Either switch on Every
seller of the product (allSellers) with a GTIN, a phrase, a category or
an offer link, or paste the product link (allegro.pl/produkt/…) into Start
URLs. One record per offer, bestPriceGuarantee: true on the buy box.
What exactly am I billed for? One record — one Allegro offer validated
and stored in your dataset — is $0.001. Failed pages, duplicates and invalid
records are never charged. With fetchReviews, each product whose reviews
were delivered adds one more $0.001.
Why is a search of 100 records two pages? Allegro lists about 60 cards
per page; 12 of them are paid ad slots, skipped by default (includeSponsored).
Why is brand null on some records? Allegro does not always print the
brand on the listing card; the offer page carries it when published — switch
on Open every offer page.
Why are gtin, stock, description null on a listing record? A
listing card does not carry them. Switch on Open every offer page, or
paste offer links; the record then has details: true.
Does GTIN search verify the code? It runs Allegro's search for the code
and echoes it in source.gtin. Sellers mis-tag codes; with Open every offer
page the record's gtin is the code the seller actually published, so you
can compare.
A run ended with fewer records than I asked for. Allegro had fewer
results, or a page could not be read: RUN_SUMMARY.failures lists every page
that failed and why.
Can I start from page N? Yes — put ?p=N on the category, storefront or
search link. The walk starts there and continues forward.
I see blocked on … new identity in N s in the log. Allegro's anti-bot
answered; the Actor waits and retries on a fresh identity. Frequent blocks
slow a run down but do not fail it.
Does it work for allegro.cz / .sk / .hu? No. The Actor is built and verified for allegro.pl; the other domains are refused rather than read half-right.
Can I get the product's reviews? Yes — switch on Fetch product
reviews. Each record then carries reviews (rating, date, text and its
English translation, pros, cons, seller bought from, variant, helpful votes,
photos) up to Max reviews per product, newest or most helpful first, and
reviewsRead says how many were read against reviewsCount, Allegro's
total.
Do I need a Marzi account? No. The Actor runs on your Apify account and bills through Apify.
Related Marzi tools
- Marzi — Allegro market analytics: Category Insights, Product Research, Competitor Tracker, Price Tracker, Keyword Tracker, Smart Pricing.
- Marzi AI Integration — the MCP server: Allegro data on demand and over time for AI assistants.
- The product page of this Actor: marzi.ai/products/allegro-scraper.
- Runnable examples on GitHub: allegro-scraper-examples — Python, Node, cURL and MCP, each verified against live Allegro pages.
Support
Questions, a field you miss, a page that does not parse: open an issue on this Actor's page (Issues tab) or write to hello@marzi.ai. Changes are listed in the changelog; every release passes a live smoke test before it becomes the production build.
Disclaimer
The Actor extracts publicly available product information from Allegro.pl. It does not log in, bypass paywalls or collect personal data; seller business identifiers and addresses are not read. Use the data in compliance with Allegro's terms, applicable law (including GDPR) and copyright. You are responsible for how you use it. Marzi is not affiliated with Allegro.
Keywords: Allegro scraper, Allegro API, Allegro product scraper, Allegro EAN lookup, Allegro GTIN, Allegro seller scraper, Allegro price scraper, Allegro search scraper, Allegro category scraper, Allegro stock checker, Allegro reviews scraper, Allegro competitor monitoring, Allegro buy box, Poland marketplace data, Polish e-commerce data, AI agent, MCP.