How to Scrape Allegro Offers for a Competitor Price Check
For an Allegro competitor check, start with a seller page or a narrow category and collect the offers you can actually compare. The Allegro Listings Scraper returns listing labels, prices, offer links, rating fields, and promotion flags from those pages.
I maintain the Actor. This guide uses one seller page to create a small CSV, then separates price comparisons from the less precise signals shown in purchases and promotion fields.

Pick a seller page or category page
A seller page is useful when you know the competitor whose assortment you want to inspect. A category page is useful for looking across offers from a market segment. Neither choice automatically gives you a complete marketplace dataset.
Open the page in your browser first and make sure it contains the kind of offers you need. If you sell GU10 bulbs, for example, a broad electronics category will include many products that have no place in your comparison.
The Actor's current input uses searchUrls and maxItemsPerUrl. Older instructions in this article used startUrls; use the corrected input below.
Test one seller with a twenty-offer cap
Open the Actor on Apify, switch Input to JSON, and paste:
{
"searchUrls": ["https://allegro.pl/uzytkownik/SmartLED"],
"maxItemsPerUrl": 20
}
The seller URL is an existing example, not an endorsement. Replace it with a seller relevant to your task. The cap applies to each input URL, so three URLs at 20 allow up to 60 returned records before any deduplication you perform later.
Click Start and inspect the dataset and log. Confirm that the returned inputUrl matches the requested page, and open a few offer links to check titles and prices. A run can return fewer than the limit if the source exposes fewer offers or requests fail.
Pricing as of September 6, 2026: the configured product event is $0.005 per result. Twenty saved results correspond to $0.10 in product event fees. Check current pricing and review the run charge limit before adding more URLs.
Read the record as an offer snapshot
This abbreviated historical row comes from the earlier guide:
{
"label": "Żarówka LED GU10 10W = 80W Biała Zimna Wydajna Mocna 120° Nie Mruga",
"price": 49.9,
"currency": "PLN",
"isPromoted": true,
"isSponsored": false,
"purchases": 362,
"isSuperSeller": true,
"isFreeDelivery": false,
"ratingAverage": 4.92,
"ratingCount": 1353,
"inputUrl": "https://allegro.pl/uzytkownik/SmartLED"
}
The title is still worth reading. Wattage, socket type, light temperature, beam angle, pack size, and other specifications can change whether two bulb offers are comparable. The scraper does not turn those details into a verified match against your own SKU.
The old screenshot shows how the output appears in Apify:

Retain link as the offer identifier and inputUrl as the collection source. When the same offer appears on a category page and a seller page, deduplicate by the offer URL rather than its label. If you normalize tracking parameters, keep the original link too.
Build a comparison with your own catalog
Export CSV and keep label, price, currency, link, inputUrl, isFreeDelivery, isPromoted, isSponsored, ratingAverage, and ratingCount. Add a collection-time column from the run, since the sample does not provide a scrape timestamp.
Create three columns of your own: your SKU, match confidence, and specification notes. Match the offer to your product manually for the first batch. Mark uncertain matches instead of forcing them into a price calculation.
For confirmed matches, compare unit quantities. A four-pack should not be ranked against a single item using headline price alone. If shipping matters to your decision, inspect the delivered cost separately. isFreeDelivery: false does not provide a numeric shipping charge, and a free-delivery flag is not a checkout quote for every buyer.
Then calculate the price gap using prices in the same currency and on the same quantity basis. For a hypothetical competitor price of 45 PLN and your price of 50 PLN, the competitor is 10% below yours: (45 - 50) / 50. Those are illustrative numbers, not findings from the example seller.
Keep promoted and sponsored offers marked in the sheet. You may want to compare all offers or inspect paid placements separately. The flags describe the displayed placement; they do not reveal the seller's advertising budget or return on ad spend.
Be careful with the purchases field
Treat purchases as a source-reported signal. The output shown here does not define a measurement window or guarantee that the value maps to one seller's completed transactions over a period you choose.
Do not multiply it by the current price to report revenue. The count's scope, previous prices, returns, and time window are not established by that calculation. If sales volume is essential to your project, verify the exact label and scope on the source before building a metric around it.
The same caution applies to ratings. Preserve both the average and the count, and inspect what the source is rating before treating it as evidence about a seller. A high product rating and Super Seller status answer different questions.
Repeat a small, consistent check
After reviewing the first export, save the input as an Apify task. Keep the same seller or category URLs, cap, and collection notes between runs. Store snapshots instead of overwriting them so you can compare the same offer link over time.
If an offer disappears from your next sample, open it before calling it out of stock. A limited result set can change because of ranking, promotions, or collection failures. Missing rating or purchases values should remain unknown, not become zero.
If you get no results, check the input field name, open the URL manually, and inspect the run log. Increasing the item limit does not fix a wrong URL or a blocked request.
For integration work, see the Allegro Node.js example. Use the current searchUrls input when adapting older examples.
Questions before you run
Is maxItemsPerUrl a total run limit?
No. It applies to each input URL. Multiply the cap by the number of URLs to understand the potential result count before downstream deduplication.
Can I estimate seller revenue from purchases?
The sample does not establish the count’s time window or transaction scope. Multiplying purchases by the current price would not produce a reliable revenue figure.
Does this Actor use startUrls?
The current input schema requires searchUrls. Use an array of category or seller page URL strings, with maxItemsPerUrl to limit each input.
