Allegro.pl Scraper — Every Seller, Price, Stock, EAN/GTIN avatar

Allegro.pl Scraper — Every Seller, Price, Stock, EAN/GTIN

Under maintenance

Pricing

from $1.00 / 1,000 records

Go to Apify Store
Allegro.pl Scraper — Every Seller, Price, Stock, EAN/GTIN

Allegro.pl Scraper — Every Seller, Price, Stock, EAN/GTIN

Under maintenance

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

Marzi.ai Support

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

3

Monthly active users

13 days ago

Last modified

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.

Allegro Scraper by Marzi — you give an EAN, a phrase or a link; the Actor reads Allegro, walks the offers and returns one record per seller with price, stock, buyers and the buy box

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 / GTIN
5904031549871
↓
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):

SellerPriceWith deliveryStockBuyers 30dBuy box
Seller A99.99 zł99.99 zł1482✓
Seller B102.50 zł102.50 zł734
Seller C104.99 zł114.98 zł2118

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

InputWhat you giveWhat comes back
EAN / GTIN5904031549871the Allegro product for the code — and, with Every seller of the product, its whole offer list
Product URLallegro.pl/produkt/…every offer on that product, one record per seller, the buy box marked
Offer URLallegro.pl/oferta/18673609654that one offer in full: stock, GTIN, units sold, specs, description, warranty, returns
Search phrasepowerbank 20000mahevery product Allegro shows for it, page by page, in the order you choose
Categoryallegro.pl/kategoria/powerbanki-252023the category listing, page by page
Seller storefrontallegro.pl/uzytkownik/Kongevery 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 phrase
Allegro 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 delivered
Seller 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 34
apTrade_pl 18.49 28.98 29 10
JEDNORAZOVE 18.88 29.17 159 19
niezbedne_com 18.90 29.39 13 23
matopat24_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.04
1,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.

RunRecordsWhat you pay
100 products from a search100$0.10
every seller of one product (say 40 offers)40$0.04
1,000 products from a category1,000$1.00
10 offer pages, full detail10$0.01
a run that finds nothing0$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 reviewsWhat 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) and product-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

  1. Open the Actor and click Try for free — a free Apify account is enough.
  2. 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.
  3. Switch on Every seller of the product for the whole offer list behind each product.
  4. 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.
  5. Optionally switch on Open every offer page and Fetch product reviews.
  6. 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
}
FieldDefaultNotes
modeAUTOAUTO 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
allSellersfalseexpand every product the run finds to its whole offer list, one record per seller; at most 50 products a run
maxProducts100the cap on records a run delivers, all targets together; 10,000 per run at most
sortrelevancerelevance, popularity, price_asc, price_desc, newest — listings only
conditionallall, new, used
priceMin / priceMax—PLN
fetchDetailsfalseopen every offer page (GTIN, stock, units sold, specs, description, rating distribution, warranty, returns)
fetchReviewsfalseread the product's reviews for every record (implies fetchDetails)
maxReviewsPerProduct100stop after this many reviews per product; 1,000 at most
reviewsSortnewestnewest or most_helpful
includeSponsoredfalsekeep paid ad slots, flagged sponsored: true
includeParameters / includeImages / includeDescriptiontrueoff = null on every record; a compact record for AI agents
concurrency2parallel 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)

FieldWhat it is
offerId, productId, urlthe offer number, the product UUID, the canonical offer page
title, brand, categoryId, imageUrl, imagesthe 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, deliveryLabeldelivery as the card states it
rating, ratingCountthe product's star rating and how many ratings it rests on
offersCounthow many offers the product has (sellers × variants)
recentBuyersAllegro's counter of people who bought the product in the last 30 days
sellerName, sellerId, sellerUrl, sellerCompany, sellerSuperSeller, sellerPositivePercentthe seller, the storefront, the company flag, the Super Seller badge, positive feedback
promo, sponsored, smart, bestPriceGuarantee, conditionpromoted offer, paid ad slot, Allegro Smart!, Allegro's best-price badge on the card, new / used
parametersthe product parameters shown on the card (name/value pairs)
position, source, scrapedAtwhere 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)

FieldWhat it is
gtinthe EAN/GTIN when the seller publishes it
stock, stockLabelunits left, as the offer page states them
unitsSold, offerRecentBuyersthis offer's own 30-day label: units sold and buyers
reviewsCount, ratingLabel, ratingDistributionhow many written reviews, Allegro's verbal grade, stars by score with counts
reviewFeatureswhat reviewers mention (e.g. Wytrzymałość), positive / negative, mention counts
bestOpinionthe review Allegro features on the page
parameterGroups, description, descriptionTruncatedthe full specification table, grouped; the seller's description as text (20,000 characters cap)
warranty, returnPolicyperiod and kind of warranty; withdrawal period in days and who pays the return
category, categoryPath, productUrlthe leaf category, the full breadcrumb, the product page
conditionLabel, sellerPositiveCount, sellerNegativeCount, offerEndedAtAllegro'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:

FieldWhat it is
reviews[].rating, date, authorstars 1–5, the date, the masked login Allegro prints (M...T)
reviews[].text, textEn, pros, consthe review as written, Allegro's English translation when it has one, the pros and cons fields
reviews[].purchasedFrom, variantthe seller the reviewer bought from; the variant bought (e.g. Rozmiar: S)
reviews[].helpfulVotes, images, featuredhow many found it helpful; the reviewer's photos; Allegro's "best" flag
reviewsReadhow 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 ApifyClient
client = 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: maxProducts caps 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; allSellers expands at most 50 products a run; fetchReviews adds 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_SUMMARY and 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.
  • allSellers reads one extra page per product (60 offers a page) and expands at most 50 products per run; what it left alone is counted in RUN_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 / priceMax do not apply to it.
  • Only allegro.pl links 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; maxReviewsPerProduct bounds 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.

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