Online shops · Coming soon

Allegro Scraper: Offers, Prices and Delivery Costs

Get public Allegro offers without login. Search by keyword, category or seller, or paste offer links. You get one row per offer with price, delivery cost, seller and rating.

Built and tested. Prices will be shown after release.

Coming soon to the Apify StoreFollow us on Apify

What you get, for example

offerId19029207754
titleSłuchawki bezprzewodowe dokanałowe Elonix STEREO 29 PRO
urlhttps://allegro.pl/oferta/19029207754

How it will work: 3 steps

  1. Follow us on ApifyThe tool is built and waits in the queue for the Apify Store. Apify is the cloud platform where our tools run.
  2. Paste your input and press StartNo code needed: you fill in a form (the input). It already has a working example. For example: słuchawki in Keywords. Each start is one run.
  3. Download the resultsWhen the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

What it does

Allegro Products Scraper reads public offers from Allegro.pl by keyword, category, seller page or offer link and returns one table with price, delivery cost, seller, rating and photos, with no login or API key.

Good for

  • Track your competitors' prices and delivery costs on Allegro every day.
  • Get only offers that are new since your last run, with Only new offers.
  • Export one seller's or one category's offers to a spreadsheet.
  • Add EAN, SKU and stock to a list of offer links.

Who uses it

Online sellers

Check the prices and delivery costs of your rivals each day.

Price analysts

Export one category or one seller to a spreadsheet.

Product researchers

Add EAN, SKU and stock to a list of offer links.

Price

Prices will be shown after release.

Questions

Do I need an Allegro account or API key?

No. The Actor reads public pages. It needs no login, no cookies and no key.

Can I get every offer in a category?

Not always. Allegro shows at most 100 pages per search. Split a big search by category or price.

Does it return a private seller's name or phone?

No. For a private person these fields are empty. Contact details are never collected.

How often does the price change in the data?

Each row shows what Allegro displayed at fetchedAt. The Actor keeps no stored copy of offers: every run reads Allegro again.

Why is an offer with details more expensive?

Each offer page is a separate request to Allegro, charged as offer-detail. If list fields are enough, keep includeDetails off.

Is the output complete for a whole category?

Not always. Allegro shows at most 100 pages per search and may skip pages on broad searches. The run summary says when this happened, so check status and reason.

Details

Step by step on Apify
  1. Open the Input tab. Keywords already has słuchawki (box 1 in the picture).
  2. You can add List links or Offer links instead of or next to keywords (box 2).
  3. Keep Maximum offers at the prefilled 10, or set your own number (box 3).
  4. Open Filters and sorting or Details and monitoring only if you need them (box 4). Then click Start.
  5. Open the Output tab. Check price and delivery (box 1 below) and seller and rating (box 2). Use Export for CSV, Excel or JSON (box 3).
Use cases
TaskInputYou getKey fieldsNext step
Watch competitor pricessearchUrls with a seller page, on a scheduleOfferofferId, price, deliveryCost, fetchedAtSchedule, then Google Sheets or a webhook
Find new offers in a nichequeries with onlyNewOfferofferId, title, price, sellerSlack or Notion summary
Compare the real price with deliveryqueries with sortBy = priceWithDeliveryAscOfferpriceWithDelivery, deliveryCost, smartCSV or Excel export
Research a categorysearchUrls with a category linkOffertitle, price, rating, popularityDataset API
Match offers to your catalogproductUrlsOffer pagegtin, sku, stock, parametersDataset API
Tips for better results
  • Keep Maximum offers at 10 for a first test, then raise it.
  • Turn on Only new offers to see just the offers added since your last run.
  • Raise the Timeout for more than about 400 offers. The default is 300 seconds.
Limits and good to know
  • The maximum is 3,000 offers per run. In our largest test, 3,000 offers from one broad keyword took about 35 minutes at 256 MB of memory, with Timeout raised
  • The default timeout is 300 seconds. That is enough for about 400 offers: in our tests 400 to 500 offers took 2 to 3 minutes and 2,000 offers took 8 to 15 minutes. For more, raise Timeout in the run options; if time runs out, the Actor saves what it has and reports DEADLINE
  • Offer pages are much slower than list pages. In our tests, 100 offer links took about 11 minutes, 100 offers with details took about 8 minutes and 30 links to offers that no longer exist took about 12 minutes. The default timeout fits about 25 live links, so raise Timeout for more
  • Allegro shows at most 100 pages per search. If a search has fewer pages than offers you asked for, the run reports reason SOURCE_DEPTH_LIMIT. To go further, split the search by category or price
  • If the main route to Allegro hangs, the Actor reads list pages through a backup route. The backup page has no delivery costs, so those rows are partial with deliveryCost as null, and the run summary has a warning. Offer links are not read through the backup route
  • On very broad keywords Allegro often answers with empty or repeated pages from about page 8 on. The Actor asks again for free, but some pages may stay missing: the run is partial with reason SOURCE_ENDED_EARLY, and pagesSkipped shows how many
  • Allegro answers even a nonsense keyword with similar offers, so a strange query can still return rows. The Actor does not filter them
  • Delivery costs are for allegro.pl. On allegro.cz, .sk and .hu deliveryCost and delivery.free are null and rows are partial; there Free delivery only relies on the Allegro filter, so the row itself does not confirm it. Condition filter works on allegro.pl only

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.

one result · JSON
{
  "offerId": "19029207754",
  "status": "complete",
  "title": "Słuchawki bezprzewodowe dokanałowe Elonix STEREO 29 PRO",
  "url": "https://allegro.pl/oferta/19029207754",
  "price": { "amount": 84.44, "currency": "PLN" },
  "deliveryCost": 10.49,
  "priceWithDelivery": 94.93,
  "originalPrice": null,
  "seller": {
    "id": "27662564",
    "login": "Ed_Store",
    "name": "Ed_Store",
    "company": true,
    "superSeller": true,
    "positiveFeedbackPercent": 99.9,
    "url": "https://allegro.pl/uzytkownik/Ed_Store"
  },
  "rating": { "value": 4.97, "count": 37 },
  "images": ["https://a.allegroimg.com/s720/1175da/ca117dc54d5293d1a254efb9e9a5/SLUCHAWKI-BEZPRZEWODOWE-BLUETOOTH-z-TLUMACZEM-DOKANALOWE-SPORTOWE-ROZMOWY"],
  "source": "allegro.pl",
  "fetchedAt": "2026-11-06T10:18:03.000Z"
}
Data fields (38)
FieldTypeMeaning
offerIdstringAllegro offer ID.
statusstringcomplete: all fields the route gives. partial: some missing, for example the delivery price. not_found: the link no longer exists. error: the source failed for this row.
titlestringOffer title.
urlstringClean offer link.
priceobjectOffer price.
deliveryCostnumberLowest delivery price. 0 means free delivery; null means unknown.
priceWithDeliverynumberPrice with the lowest delivery.
deliveryobjectDelivery details.
originalPricenumberPrice before the discount.
discountPercentnumberDiscount in percent.
sellerobjectSeller. Identity fields are null for a private person.
ratingobjectProduct rating.
imagesarrayPhoto links.
thumbnailstringMain photo link.
parametersarrayOffer parameters.
productIdstringAllegro product ID.
brandstringBrand.
conditionstringItem condition: new, used or the value the source shows.
gtinstringEAN or GTIN. From the offer page only.
skustringSKU. From the offer page only.
categoryIdstringAllegro category ID from the list page.
sponsoredbooleanShown as a sponsored ad on this page.
sponsoredAndOrganicbooleanThe same page shows this offer both as an ad and among the regular results.
promotedbooleanMarked as promoted.
smartbooleanSmart! delivery.
positionintegerFirst place on the page, from 1, counting ads.
organicPositionintegerPlace among the regular results of this page, from 1. Null when the offer appears on it only as an ad.
pageintegerList page number.
productOffersCountintegerOffers of the same product.
popularityobjectPopularity text.
availabilitystringAvailability, for example InStock or ended.
stockintegerItems available.
marketstringAllegro site: pl, cz, sk or hu.
searchQuerystringKeyword that found the row.
sourceUrlstringPage the row came from.
sourcestringSource site.
fetchedAtstringWhen the row was read, ISO 8601 in UTC.
errorstringError code for a row with status error.
Input settings (17)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
Keywordsqueriesarray["słuchawki"]
List linkssearchUrlsarray
Offer linksproductUrlsarray
Maximum offersmaxItemsinteger10
Maximum offers per keyword or linkmaxItemsPerQueryinteger
Allegro site for keywordsmarketstring"pl"
Minimum priceminPricenumber
Maximum pricemaxPricenumber
Conditionconditionstring"any"
Free delivery onlyfreeDeliveryOnlybooleanfalse
Super Seller onlysuperSellerOnlybooleanfalse
Sort bysortBystring"relevance"
Open each offer pageincludeDetailsbooleanfalse
Only new offersonlyNewbooleanfalse
Memory name for only new offersstateNamestring"allegro-seen"
Send results to (optional)deliveryConnectorstring
Notion page or channel (optional)deliveryTargetstring

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure