Allegro Scraper [Only $0.0014💰] | Prices | Sellers | GTIN
Pricing
from $1.40 / 1,000 results
Allegro Scraper [Only $0.0014💰] | Prices | Sellers | GTIN
Scrape Allegro.pl product data by keyword, category, seller or offer URL — pure HTTP, no browser. Each row: price, seller reputation, condition, parameters, Smart!/sponsored flags and sales velocity. Deep mode adds stock, GTIN and warranty.
Pricing
from $1.40 / 1,000 results
Rating
0.0
(0)
Developer
Ahmed Jasarevic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Allegro Scraper — Prices, Sellers, Stock & GTIN Data from Allegro.pl
Extract Allegro.pl product listings in bulk — Poland's #1 marketplace (~20M active offers). Search by keyword, category, seller storefront or direct offer URL and get one clean row per product: price (current + pre-discount), seller reputation, condition, parameters, images, Smart!/sponsored flags, stock, GTIN/EAN and real sales-velocity data — for Allegro price monitoring, competitive analysis and Polish e-commerce market research. Pure HTTP, no browser, no OAuth — each row is normalized, deduplicated and tagged with its source query.
Main Use Cases
- Allegro price monitoring — track current, original (pre-discount) and delivery-inclusive prices over time with scheduled runs.
- Competitive analysis of Polish e-commerce — seller reputation (positive feedback %, Super Seller), sponsored vs organic placement, and how many sellers carry the same product (
productOffersCount). - GTIN/EAN barcode lookup — enrich or price-check product catalogs via
barcodeQuickLookup(up to ~6,000 products per query). - Market research on Poland's largest marketplace — retrieve full category trees, cheapest-to-expensive ranges and sales-velocity signals (
popularity.buyersQuantity). - Seller storefront and assortment analysis — pull a seller's entire catalog (storefront URLs have no 100-page cap).
- Stock and availability tracking — deep mode adds exact stock quantity, warranty and return policy per offer.
How To Extract Allegro.pl Product Data
The actor requests the same listing and offer pages your browser does, reads the JSON Allegro embeds in each page (no headless browser), paginates and dedupes for you.
- Bypass the DataDome anti-bot wall via Apify Proxy (warmup mode or UNBLOCKER) or a scrape.do API key.
- Read the embedded JSON —
__listing_StoreStateon listing pages;formattedPrice,sellerName,aggregateRating,galleryItemsandparametersblocks on offer pages. - Paginate and dedupe by
offerId, respectingmaxItemsPerQuery/maxPagesPerQuery. - Optionally go deep — with
scrapeProductDetailsthe actor visits each/oferta/page and merges the rich offer dataset onto the row. - Normalize — one record per product, tagged with its source query/URL and scrape timestamp.
Monitor Allegro Prices and Competitor Offers
Allegro only embeds part of the product data in search results. This actor surfaces signals competitors don't expose straight from the listing:
- Sales velocity —
popularity.buyersQuantity("562 osoby kupiły ostatnio"). - Original (pre-discount) price — see when prices are artificially inflated before a discount.
productOffersCount— how many sellers list the same product (competitive pressure on the catalog page).- Smart! eligibility, sponsored vs organic flags, free delivery/free-return flags.
Schedule the run daily or weekly and store each dataset separately to build a price history feed: with priceWithDelivery (cheapest total including delivery) you monitor what the buyer actually pays, not just the sticker price.
Search Allegro by Keyword, Category, Seller or Offer URL
Four input modes, auto-detected and freely mixed in one run:
| Input | Example | What you get |
|---|---|---|
| Search query | laptop gaming | Every matching offer, paginated, with price/condition/sort filters |
| Category URL | https://allegro.pl/kategoria/laptopy-491 | The full category, paginated |
| Seller storefront | https://allegro.pl/uzytkownik/Kong | Every offer from one seller (uncapped) |
| Offer URL | https://allegro.pl/oferta/18581001532 | A single product (always full detail) |
A p=N in a listing/category/seller URL is respected — the crawl starts there and continues forward, so you can split a huge storefront into page batches (?p=1, ?p=101, …).
The official Allegro REST API is OAuth-gated and seller-scoped — it requires an Allegro seller account, access tokens and grant permissions, and isn't usable for public market research. This actor needs no API key: it replaces the paid API for keyword, category, seller and offer data extraction.
Allegro Product Data and Sales-Velocity Signals (Output)
One row per product, pushed to the default dataset. Listing fields are always present; the detail object is populated in deep mode (or for direct offer URLs).
{"offerId": "18301984000","productId": "8e2abfdd-4b19-4384-beee-7d9c5f8dadd6","url": "https://allegro.pl/oferta/szklo-hartowane-9h-iphone-15-18301984000","title": "Szkło hartowane KONG do Apple iPhone 15, iPhone 16 1 szt.","brand": "KONG","price": { "amount": 14.99, "currency": "PLN" },"originalPrice": { "amount": 19.99, "currency": "PLN" },"priceWithDelivery": { "amount": 25.48, "currency": "PLN" },"condition": "Nowy","seller": { "id": "142221614", "login": "Kong", "company": true, "superSeller": true, "positiveFeedbackPercent": 100, "url": "https://allegro.pl/uzytkownik/Kong" },"sponsored": true,"smart": true,"productOffersCount": 1,"popularity": { "label": "562 osoby kupiły ostatnio", "buyersQuantity": 562 },"rating": { "value": 4.9, "count": 97 },"parameters": [ { "name": "Stan", "value": "Nowy" }, { "name": "Marka", "value": "KONG" } ],"images": ["https://a.allegroimg.com/s512/116f16/…"],"searchQuery": "iphone 15","scrapedAt": "2026-09-07T12:00:00.000Z","detail": {"stock": { "available": 3689, "label": "z 3 689 sztuk", "unit": "UNIT" },"gtin": "5907494722515","rating": { "value": 4.9, "count": 97, "reviewsCount": 39, "distribution": [ { "score": 5, "count": 90, "percentage": 93 } ] },"returnPolicy": { "withdrawalPeriod": "14 dni", "costLabel": "Kupujący lub za darmo dla wybranych metod Smart!" },"warranty": { "period": "24 miesiące", "type": null, "label": "24 miesiące producenta/dystrybutora" },"breadcrumbs": ["Allegro", "Elektronika", "Telefony i Akcesoria", "Folie i szkła ochronne"],"parameterGroups": [ { "group": "Dane podstawowe", "parameters": [ { "name": "Stan", "value": "Nowy" } ] } ],"description": "Szkło hartowane 9H KONG dopasowane do Apple iPhone 15, iPhone 16…","images": ["https://a.allegroimg.com/original/…"]}}
Key output fields
| Field | Description |
|---|---|
offerId | Allegro offer id — stable key, allegro.pl/oferta/{offerId} resolves to the offer |
productId | Allegro product (catalog) id — the same product across many sellers |
price · originalPrice | Current price and pre-discount price (PLN), when on sale |
priceWithDelivery · delivery | Total with cheapest delivery; free-delivery / free-return flags; lowest delivery cost |
seller | id, login, company flag, Super Seller, positiveFeedbackPercent, storefront URL |
sponsored · promoted · smart | Ad context and Allegro Smart! eligibility |
productOffersCount | How many sellers offer the same product |
popularity.buyersQuantity | Recent buyers — a real sales-velocity signal |
rating | Average stars + rating count |
detail.stock · detail.gtin | Exact available quantity and GTIN/EAN barcode (deep mode) |
detail.warranty · detail.returnPolicy | Warranty period/type and return terms (deep mode) |
detail.description · detail.parameterGroups | Full description and grouped spec table (deep mode) |
The dataset schema (.actor/dataset_schema.json) defines two output views: Overview (price/competitor quick view) and Full details (deep-mode fields: stock, GTIN, warranty, returns).
Input Configuration
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
searchQueries | array | no | ["laptop gaming"] | Keywords to search; each runs its own paginated crawl |
startUrls | array | no | — | Direct offer / search / category / seller URLs (paginated; offer URLs are always full detail) |
maxItemsPerQuery | integer | no | 100 | Max products per query/URL (1–6000; search/category capped by Allegro at ~6000, storefronts uncapped) |
maxPagesPerQuery | integer | no | — | Optional hard cap on pages per query/URL |
minPrice / maxPrice | integer | no | — | Price range filter in PLN (price_from / price_to; search & category URLs only) |
condition | select | no | all | all, new (nowe), used (używane) |
sortBy | select | no | relevance | relevance, price-asc, price-desc, newest |
scrapeProductDetails | boolean | no | false | Visit each offer page for deep data (1 extra request/product) |
includeRawData | boolean | no | false | Attach raw Allegro payloads to detailed records (deep mode only) |
barcodeQuickLookup | boolean | no | true | Skip detail fetch for pure EAN/GTIN single-item queries and echo the barcode into gtin |
geoCode | select | no | pl | Proxy exit country (keep pl for allegro.pl pricing; also de, cz, sk, hu) |
concurrency | integer | no | 25 | Parallel requests (1–50; 50 for large/deep runs) |
warmup | boolean | no | true | Solve DataDome once per query in a patched browser, reuse the cookie for all pages (~1–2 s/page) |
warmConcurrency | integer | no | 3 | Parallel warm solves (1–6) |
proxyConfiguration | object | no | — | Apify Proxy groups (sticky RESIDENTIAL first + UNBLOCKER fallback recommended) or custom proxyUrls |
scrapeDoApiKey | string (secret) | no | — | Managed DataDome bypass via api.scrape.do (premium super=true routing) |
Anti-bot / proxy setup (verified)
Allegro sits behind DataDome — plain fetch returns HTTP 403. Fastest path: enable Proxy, keep warmup on and put a sticky group first ("apifyProxyGroups": ["RESIDENTIAL", "UNBLOCKER"]) — the actor solves DataDome once per query and reuses the cookie. For a pure-managed run set "warmup": false with the UNBLOCKER group. Alternatively supply a scrapeDoApiKey (premium, super=true) or custom Polish residential proxies. Without a working bypass the run fails loudly with BLOCKED: Allegro returned HTTP 403 (DataDome bot wall).
Cost & speed
Platform compute (allocated memory × wall-clock) plus proxy units. In warmup mode the proxy bill is tiny — one DataDome solve per query, pages at ~1–2 s. With UNBLOCKER each page is a separate pooled-browser render (~55–65 s, 25–50 concurrent). Keep maxItemsPerQuery tight (100 = 2 pages vs 6,000 = 100 pages).
Example input
{"searchQueries": ["laptop gaming", "iphone 15"],"minPrice": 500,"maxPrice": 5000,"condition": "new","sortBy": "price-asc","maxItemsPerQuery": 200,"scrapeProductDetails": true,"scrapeDoApiKey": "…"}
Build a Price-Monitoring Feed With the Apify API
Every run pushes results to an Apify dataset you can download as JSON, CSV, XML or Excel, or stream via the Apify REST API. Integrate with your stack through:
- Apify API — trigger runs, poll status, pull dataset items programmatically (
POST /v2/acts/{actorId}/runs,GET /v2/datasets/{datasetId}/items). - Schedules — run daily/weekly for recurring price monitoring and competitor tracking; each run's dataset becomes a time-series slice.
- Webhooks — notify your app the moment a run finishes.
- Zapier / Make — via Apify's official Zapier and Make integrations, connect scraped Allegro data to Google Sheets, Slack, Airtable and hundreds of other apps without code.
Recommended schedule: daily for price monitoring, weekly for market research and seller assortment snapshots.
Related Allegro Scrapers and Alternative Data Sources
- e-commerce/allegro-fast-product-scraper — the most-used Allegro actor on the store: quick listing-level data across 3 markets (pl/de/cz).
- e-commerce/allegro-product-detail-scraper — dedicated deep product-detail page scraper (descriptions, parameters, images).
- e-commerce/allegro-reviews-scraper — collect product reviews from Allegro listings.
- memo23/allegro-scraper — similar keyword/category/seller coverage (compare per-result pricing).
- liveclaude/allegro-ean-price-tracker — price tracking driven by EAN/GTIN lists.
This actor differentiates on price per full result row ($0.0014/result, the lowest in the category) while bundling deep-mode fields (stock, GTIN, warranty, returns) that listing-only actors charge extra requests for.
FAQ: Allegro Scraping Questions
Can I scrape Allegro without an API key? Yes — this scraper needs no OAuth, no Allegro seller account and no API key. The official Allegro REST API is seller-scoped and OAuth-gated; it can't be used for general market research. The actor reads the JSON Allegro embeds in public pages (through a managed anti-bot bypass).
Is it legal to scrape Allegro.pl? This actor extracts only publicly available product data — no login, no paywall bypass, no private or personal data. You are responsible for complying with Allegro's Terms of Service and applicable law; the actor is intended for legitimate price monitoring, market research and competitive analysis. See the disclaimer below.
How do I monitor competitor prices on Allegro / jak monitorować ceny konkurencji na Allegro? Run this actor on a daily schedule on your competitor's category or seller storefront URLs. price + originalPrice + priceWithDelivery give you the full picture; store each run's dataset to build a price history. This replaces paid tools like Allegro Analytics (subscription) for price-history monitoring.
Why are some fields (rating, GTIN, stock, condition) empty in listing mode? Allegro only embeds part of the data in search results. Enable Scrape full product details to fill rating, reviews, stock, GTIN, warranty, return policy and the full description (one extra request per product).
How many products can I scrape per query? ~60 products/page. Search and category views are capped by Allegro at 100 pages (~6,000 per query/URL) — slice a bigger category with minPrice/maxPrice. Seller storefronts have no 100-page cap.
Can I get stock and availability data? Yes — in deep mode detail.stock.available returns the exact available quantity to the unit.
How do I look up a product by EAN/GTIN? Set searchQueries: ["<barcode>"] with maxItemsPerQuery: 1 and keep barcodeQuickLookup: true (default) — the barcode is echoed into gtin without an extra request, making large barcode runs dramatically cheaper and faster.
Is the scraped text in Polish? Yes — titles, conditions, parameter names and descriptions are Allegro's original Polish. Prices are in PLN.
What are the alternatives to this scraper? See the related-actors list above (fast-product-scraper, product-detail-scraper, reviews-scraper, seller-scraper and EAN price tracker) — plus any non-Apify API services you already evaluate.
For AI Agents & LLM Apps
Purpose: returns structured product data from Allegro.pl — one dataset row per offer, combining listing-level fields (price, seller, condition, popularity) and optionally deep offer-page fields (stock, GTIN, warranty, rating distribution, full description).
Minimal input:
{ "searchQueries": ["iphone 15"] }
Variant inputs:
{ "startUrls": ["https://allegro.pl/uzytkownik/Kong"], "maxItemsPerQuery": 6000 }{ "searchQueries": ["5907494722515"], "maxItemsPerQuery": 1 }
Output fields: offerId, productId, url, title, brand, price, originalPrice, priceWithDelivery, condition, delivery, seller, sponsored, promoted, smart, productOffersCount, popularity, rating, parameters, images, categoryId, searchQuery, sourceUrl, scrapedAt, and detail (deep mode: stock, gtin, rating, returnPolicy, warranty, breadcrumbs, parameterGroups, description, images, raw).
Behaviors an agent should know:
- Text and prices are Polish / PLN.
searchQuery/sourceUrltag which query/URL each row came from. searchQueriesandstartUrlsboth run in the same crawl; rows are deduped byofferId.minPrice,maxPrice,conditionandsortByapply only to search and category URLs — seller and offer URLs ignore them.detailis populated only whenscrapeProductDetails: trueor the input is a direct offer URL; listing-level fields are always present.includeRawDatarequires deep mode.barcodeQuickLookuponly triggers for a pure EAN/GTIN query withmaxItemsPerQuery: 1— for 8–14 digit barcodes this skips the per-offer fetch and echoes the barcode intogtin. SetmaxItemsPerQuery> 1 for keyword searches.- If
maxItemsPerQueryis left unset the default is 100 (≈2 pages). Bare keyword queries withoutscrapeProductDetailsare cheap; deep mode adds one billed request per product. - DataDome: enable Apify Proxy, keep
warmup: truewith a sticky group first (RESIDENTIAL) andUNBLOCKERas fallback, or providescrapeDoApiKey. Without any bypass every request returns 403 and the run fails. - Billing (pay-per-event): $0.005 per run start + $0.0014 per result — budget roughly
0.005 + 0.0014 × items.
SEO Keywords
allegro scraper, allegro.pl scraper, scrape allegro products, allegro price monitoring, allegro price tracker, monitorowanie cen allegro, analiza konkurencji allegro, ceny konkurencji allegro, allegro api alternative, allegro product data, dane produktowe allegro, allegro sellers, sprzedawcy allegro, allegro gtin, ean lookup allegro, allegro stock, dostępność allegro, allegro dropshipping, poland marketplace data, allegro price history, historia cen allegro, allegro oferty, allegro smart, badanie rynku allegro
Legal & Compliance Disclaimer
This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Allegro.pl or Allegro sp. z o.o. It extracts only publicly available product information displayed on Allegro.pl — it does not log in, bypass paywalls, solve CAPTCHAs itself (it routes through managed anti-bot proxy services to retrieve public pages), or collect personal or private data. Users are responsible for their own compliance with Allegro's Terms of Service and applicable law, including the GDPR for any personal data contained in seller profiles. The data is intended for legitimate purposes such as price monitoring, market research and competitive analysis.
Development
npm installnpm test # unit tests for the parsersnpm run lint # syntax-check the sources
The parsers are tested against realistic fixtures in test/fixtures/ (a listing page, an offer page, and a DataDome challenge page).