Allegro Scraper
Allegro is where Polish e-commerce happens, and it is offer-based: one product, dozens of sellers, dozens of prices. Its REST API is built around the seller account you authorise. The AI scraper reads the public offer list instead, turns it into columns you define, and runs on a schedule.
- allegro.pl
- allegro.cz
- allegro.sk
- allegro.hu
How to scrape Allegro.pl
Allegro is the largest e-commerce site in Poland by a wide margin, and it is structured as an offer marketplace rather than a catalogue. A single product page carries a list of competing offers, each with its own seller, price, delivery cost and Smart! eligibility, and the offer Allegro features at the top is the one most buyers take. For a brand, that list is the whole picture: your recommended price, the appointed reseller undercutting it, and the seller nobody appointed sitting two rows below. Allegro does publish a REST API and a developer portal, but the endpoints are organised around a seller account you authorise, covering your own offers, orders and sale settings. It is not a market-wide price feed and it will not tell you what a rival charges. Scrapewise carries no dedicated Allegro endpoint either. What works is the public offer page, and Allegro defends it hard: we measured this on 30 September 2026 and a plain fetch was refused outright, while a real browser came back with a stub containing no offers. A run therefore has to go through a rendered page from a residential exit.
How allegro.pl is laid out
What a run needs to know about Allegro before you pick the URLs.
Offer pages vs product pages
An /oferta/ URL is one seller's listing and ends in the offer ID, so allegro.pl/oferta/{id} always resolves to that listing. A /produkt/ URL groups every offer for the same product. Track the /produkt/ page when you want the whole field of sellers, and /oferta/ when you care about one competitor.
Many sellers on one product
One product can carry dozens of offers. The useful columns are per offer: seller, price, delivery cost, whether it is a Smart! offer and whether it is sponsored. The lowest price is often not the one shown first.
Four markets, four currencies
allegro.cz, allegro.sk and allegro.hu are separate marketplaces with their own base currency (CZK on allegro.cz, for example). The same offer can show different prices per market, so keep the domain in the URL list rather than mixing them.
Consumer vs business prices
allegro.pl shows gross consumer prices. business.allegro.pl shows a different view for company buyers. Scrape the one your customers actually see.
Listings and sellers
Category pages live under /kategoria/ and a seller's whole storefront under /uzytkownik/{name}. Both are useful to discover URLs, but for price history you want the product or offer pages themselves.
What the AI scraper does with an allegro.pl link
Three steps, same as any other site. Nothing about Allegro is pre-built, which is why it reaches a market nobody ships an endpoint for.
Paste the link
A product page, an offer page, a seller's shop, or a category URL with the filters already applied. Allegro encodes filters, sort order and delivery options in the address, so a view you built by hand in the browser is a valid input.
You declare the columns
An Allegro pricing job usually wants one row per competing offer: the seller, the offer price, delivery cost, the total a buyer actually pays, Smart! eligibility, whether the offer is a buy-now or an auction, and the seller's rating. You name those fields yourself in a Custom Schema, or start from the ready Product List schema and add to it.
Schedule it and take the data out
Run it once or daily. Pull each run by REST API or download it as CSV or Excel. The columns stay the same between runs, so a Polish table lines up with whatever you already collect from other channels.
Set it up once. The data keeps coming.
Save your search once and it runs by itself. Every run lands in your own Scrapewise database, and you pick how to read it.
Set it up once
Add your ASINs, keywords, places or apps to a scraper in the web app. New accounts get 5 free requests.
Runs on your schedule
Pick daily, weekly on the days you choose, every few days, or the first or last day of the month. Scheduled runs start at night, European time. Need it more often? Start runs from your own code.
Saved in your database
Each run adds dated rows, so this week sits next to last week. Rows are kept for 90 days.
Use it your way
Open the table in the web app and download the latest run as an Excel file. Ask your own AI assistant about it. Or pull the rows into your code with an API key.
Ask your AI assistant about your own data
Connect Claude Desktop or Claude Code with a read-only key. The assistant reads the rows you've already collected, at no extra cost on Scrapewise. With a full-access key it can start a run for you too.
- Which of my ASINs lost the Buy Box this week?
- Which competitor cut prices the most since Monday?
- Show the keywords where I dropped out of the top 10.
What you send and what you get
You send a link and a column list. Which seller holds the featured offer, what each one charges and what delivery adds comes from the page itself.
- Link to an allegro.pl product, offer, shop or category pagerequired
One offer page, a product page, a shop page or a category listing. The scraper works from the address you hand it, so a filtered or sorted view you copied out of your browser is a valid input as long as the page loads at that address.
https://allegro.pl/listing?string=philips+hue+e27 - Your column listrequiredCustom Schema, 14 fields
- How often it runsoptional
- On demand
- Daily
- Weekly
- Monthly
Daily is the fastest cadence available, and enough to catch a seller who undercuts you overnight and reverts by the weekend.
One row per competing offer on the product, 7 columns each
- product_title
- price
- currency
- availability
- brand
- sku
- source_url
REST API, CSV or Excel. The column set stays the same between runs, so an Allegro table lines up with your other European channels.
What a run on Allegro actually returned
This is real output, not a mock-up. 4 rows, collected on 3 October 2026 from live allegro.pl product pages through our own engine, the same way one of your runs would. Prices move, so treat the numbers as a sample of shape rather than a current price list.
All 7 columns
- product_title
- price
- currency
- availability
- brand
- sku
- source_url
product_titleproduct_titleProduct title as the retailer writes it | pricepricePrice the page is charging today | currencycurrencyCurrency the page quoted | availabilityavailabilityStock state the page published | brandbrandBrand as the retailer labels it | skuskuThe retailer's own product code | source_urlsource_urlThe exact page this row was read from |
|---|---|---|---|---|---|---|
| 1x OPONA ZIMOWA 215/50R17 Dębica Frigo HP2 95V XL | 335.4 | PLN | InStock | Dębica | 13838842134 | https://allegro.pl/produkt/1x-opona-zimowa-215-50r17-debica-frigo-hp2-95v-xl-1f43b807-68d2-4314-9616-6d99a23925b0?offerId=13838842134 |
| 1x SENTURY WinterDragon 185/60R15 88H XL Zimowa 2026 r | 144.03 | PLN | InStock | Sentury | 18907043771 | https://allegro.pl/produkt/sentury-winterdragon-185-60r15-88h-xl-91ea2436-1658-4194-95a3-404f7d199078?offerId=18907043771 |
| 2x NOWE OPONY ZIMOWE 215/50R17 95V DĘBICA FRIGO HP2 | 670.79 | PLN | InStock | Dębica | 9327887318 | https://allegro.pl/produkt/1x-opona-zimowa-215-50r17-debica-frigo-hp2-95v-xl-1f43b807-68d2-4314-9616-6d99a23925b0?offerId=9327887318 |
| 1 Opona zimowa Barum POLARIS 6 195/65R15 91T | 198.51 | PLN | InStock | Barum | 18054761164 | https://allegro.pl/produkt/opona-zimowa-barum-polaris-6-195-65r15-91-t-przyczepnosc-na-sniegu-3pmsf-c943a8ca-bee3-4215-8f17-232d7ed72877?offerId=18054761164 |
Column names are ones we chose when declaring the schema for this run. Yours can be named whatever your downstream job already expects. We pointed the run at 14 Allegro product pages and 4 came back with a readable price. The rest returned something other than a product page, which is ordinary on this storefront and the reason the tier named above is what it is. We publish what we measured, not what we expect.
What an allegro.pl page costs
Pay-as-you-go from your wallet. No plan, no monthly fee, no seat count.
Measured on 30 September 2026, not assumed. A plain fetch of an allegro.pl listing URL was refused with a 403 and an 808-byte body whose only content was the instruction to enable JavaScript and disable any ad blocker, so there is no cheap rung to fall back to. Loading the same URL in a headless browser returned a 1.5 KB stub rather than the listing. A browser alone is not enough here, so budget for a rendered page coming out of a residential exit.
200 allegro.pl offer pages checked once a day for a month is 6,000 pages.
about EUR 22.50 for the month
You are charged for what a run actually used, not what it was expected to need, and your balance never expires.
See the full price list →Typical fields the AI scraper extracts from an allegro.pl page
A starting point, not a fixed schema. What comes back is whatever the page actually shows on the day of the run.
Offer and seller
Allegro is offer-based, so the interesting unit is not the product, it is the row of a seller competing on it.
- Seller name and rating
- Whether Allegro is featuring this offer at the top
- Offer price, before delivery
- Buy now or auction
- Condition, including used and refurbished offers
- Number of units the seller says are available
Delivery and the real price
On Allegro the headline number is often not what a buyer pays, because Smart! eligibility and delivery cost move the total.
- Delivery cost as the page states it
- Total price, offer plus delivery
- Allegro Smart! eligibility
- Delivery methods and pickup-point options advertised
- Delivery window shown with the offer
Product and identity
Allegro mixes catalogue-backed listings with free-text offers, so identity is inconsistent and worth capturing explicitly.
- Product title
- Brand
- EAN, only where the page prints it
- Category breadcrumb
- Parameter table values, where the offer fills one in
- Rating and review count
- Product image URL
The column list is one you write: name each field, give it a type and a line telling the AI what to look for. The schema belongs to your account, so an Allegro field set can be reused on allegro.cz, allegro.sk and allegro.hu, or on the next marketplace you point us at. How Custom Schema works →
What it cannot give you The scraper cannot invent a field the page does not render. Allegro paginates long offer lists, so a product with fifty sellers is several pages rather than one. Free-text offers frequently carry no EAN at all, which means matching them to your catalogue is a judgement call rather than a lookup. Historical prices are not on the page and are not stored on our side.
What people use Allegro data for
Brand protection on Poland's largest channel
Allegro is where an unauthorised seller lands first in Poland, and where a recommended price quietly stops being recommended. Scraping the offer list daily tells you who is selling your SKU and at what, which is the evidence a channel conversation needs.
Watching who holds the featured offer
Most Allegro volume goes to the offer Allegro puts at the top. Tracking which seller holds it, and at what price, is a different and more useful question than tracking the cheapest offer on the page.
Competitor price monitoring in Polish retail
Scraping a category gives you what every competing product costs today, including delivery. Run it daily and you have a market curve rather than an impression.
Delivery-inclusive price comparison
On Allegro the headline price and the price a buyer pays are frequently different numbers. Pulling offer price, delivery cost and total as separate columns is the only way to compare honestly against your own shop.
Reseller and distributor compliance
If you appointed resellers in Poland, this is how you find out whether they are holding the line. The scraper gives you the observation with a timestamp; the conversation is yours.
What makes allegro.pl harder than an ordinary storefront
This is one of the hardest sites in European retail to read reliably, and the offer model on top of that is what costs people time.
Access
- A plain fetch is refused with 403 and a body that just asks for JavaScript, so the cheapest tier is not an option
- A headless browser gets a stub rather than the listing, so rendering alone does not solve it
- Runs have to go through a rendered page from a residential exit, which is the most expensive tier
- Success is high but not guaranteed on any individual run
Offers rather than products
- One product carries a list of competing offers, each with its own seller, price and delivery
- The featured offer is what most buyers take, so capturing who holds it matters more than the lowest price
- Long offer lists are paginated, so a heavily contested product is several pages rather than one request
- Buy-now and auction offers sit in the same list and are easy to compare by mistake
Identity and matching
- Catalogue-backed listings and free-text offers coexist, so EAN is present on some rows and absent on others
- Sellers write their own titles, including bundles and multipacks that look like single units
- allegro.cz, allegro.sk and allegro.hu are separate sites in separate currencies and need separate scrapers
Scheduling and delivery
- Daily is the fastest cadence, which matches how often retail prices meaningfully move
- Every run is retrievable by REST API, or downloadable as CSV or Excel
- Columns stay stable between runs, so downstream jobs do not need to re-map fields
What to watch on allegro.pl
The one thing specific to this site. The general limits — public pages only, no field the page does not show, your URLs rather than a full crawl — are in the custom scrapers FAQ.
This one is expensive to run
Allegro refuses a plain fetch and a plain browser, so every run goes through a rendered page from a residential exit at EUR 3.75 per 1,000 pages. If the page count matters to you, scope it before you switch it on rather than after.
No seller-account data
Anything behind Allegro's seller login, your offers, your orders, your performance figures, is not reachable by a scraper reading public pages, and the official REST API is the right tool for that job.
Deep offer lists are extra pages
A product with fifty competing sellers is a paginated list, not one request. Covering all of it changes the page count and the cost.
Daily, not real time
Daily is the fastest schedule. There is no real-time feed, no per-minute polling and no price-drop alerting.
No price history, no SKU matching
We store nothing about Allegro prices on our side, so a price curve starts the day you switch the scraper on. Free-text offers often carry no EAN, so tying a row to your catalogue is a separate problem. We are not lawyers, so check Allegro's terms before you run anything.
Allegro.pl scraping — questions
What people ask before pointing the scraper at allegro.pl.
Allegro publishes a REST API and a developer portal, but the endpoints are organised around a seller account you authorise, covering your own offers, orders and sale settings. It is the right tool for managing your own listings. It is not a market-wide price feed, and it will not tell you what a competing seller charges.
Questions that apply to every site — scheduling, exports, what it will not do — are answered in the custom scrapers FAQ.
Ready to pull Allegro data into your stack?
Start free — or talk to our team about your exact fields, refresh cadence and volume.