Allegro Scraper - Products, Prices and Sellers
Pricing
from $2.20 / 1,000 results
Allegro Scraper - Products, Prices and Sellers
Extract Allegro offers, prices, sellers and product details from Poland, Czechia, Slovakia and Hungary. Search keywords, categories or barcodes and pay per delivered row plus a start fee.
Pricing
from $2.20 / 1,000 results
Rating
0.0
(0)
Developer
kane liu
Maintained by CommunityActor stats
1
Bookmarked
24
Total users
8
Monthly active users
10 hours ago
Last modified
Categories
Security
Limited permissionsShare
Allegro Scraper
Extract Allegro listings, prices and seller information from Poland, Czechia, Slovakia and Hungary as rows you can export.
- Search offers, browse categories and compare sellers for a product.
- Look up EAN barcodes and collect optional product details.
- Collect Polish Allegro Lokalnie listings and available Wakacje travel listings.
- Export rows or use them through the Apify API and MCP server.
- Pay $3.00 per 1,000 rows on the Free plan, plus a small start fee.
What does Allegro Scraper do?
Allegro Scraper collects publicly accessible marketplace data from allegro.pl, allegro.cz, allegro.sk and allegro.hu. It is unofficial, is not affiliated with Allegro, and does not place orders or access private accounts.
- Find offers: keyword, category, department, seller, barcode and image searches.
- Compare products: single offers, product pages and multi-seller offers.
- Explore: category nodes, Polish Strefa Okazji deals, Lokalnie and Wakacje.
- Optional details:
enrichDetailsis off by default. It adds available attributes to existing rows. Inlokalnie_crawl, it can also add related offers when room remains; each additional offer is a separate billed row.
What data can you extract from Allegro?
Fields vary by mode and source availability. recordType distinguishes rows; detail enrichment can add fields without changing the original row type.
Offer rows: recordType=offer
| Field | Description | Example |
|---|---|---|
offerId | Offer identifier | 12345678901 |
productId | Catalog product identifier, when present | 00000000-0000-0000-0000-000000000000 |
title | Listing title | Mysz bezprzewodowa |
price | Listed price | 149.99 |
currency | Price currency | PLN |
url | Offer link | https://allegro.pl/oferta/example-12345678901 |
country | Market code | pl |
seller | Available seller information | {"login":"example-shop"} |
promoted | Promotion flag | false |
sellingMode | Sale format | BUY_NOW |
searchEan | Barcode used for the search, not proof of a match | 5901234123457 |
ean | Barcode reported by the offer itself | null |
scrapedAt | Collection timestamp | 2026-10-24T10:00:00Z |
Detail rows: recordType=offer_detail
| Field | Description | Example |
|---|---|---|
offerId | Offer identifier | 12345678901 |
title | Product or offer title | Mysz bezprzewodowa |
price | Current price | 149.99 |
brand | Brand shown on the page | Logitech |
gtin | Source-reported barcode | null |
parameters | Named product attributes | {"Kolor":"czarny"} |
images | Available image links | [] |
rating | Published rating | 4.8 |
reviewCount | Published review count, not review text | 24 |
categoryPath | Available category names | ["Elektronika"] |
location | Lokalnie location, when shown | {"city":"Warszawa"} |
Category rows: recordType=category
| Field | Description | Example |
|---|---|---|
nodeType | Department or leaf category | leaf |
categoryId | Numeric category identifier | 257228 |
departmentCode | Department identifier | elektronika |
name | Category name | Smartfony i telefony komórkowe |
slug | Category URL text | smartfony-i-telefony-komorkowe |
path | Category path names | ["Elektronika"] |
url | Category link | https://allegro.pl/kategoria/smartfony-i-telefony-komorkowe-257228 |
Travel rows: recordType=travel
| Field | Description | Example |
|---|---|---|
title | Travel listing title | Weekend nad morzem |
url | Listing link | https://wakacje.allegro.pl/example |
price | Displayed price, if available | 499 |
currency | Displayed currency | PLN |
country | Market code | pl |
domain | Source domain | wakacje.allegro.pl |
How to scrape Allegro
- Open Allegro Scraper in Apify Console.
- Fill one target field, such as
query, and choose yourcountry. - Set
maxResultsto3for a small first run. - Click Start and wait for completion.
- Open the dataset and download the rows.
Empty input runs the form's example: query=iphone, country=pl, at most 3 rows. Normal start and row charges apply. With mode=auto, one target field selects the matching mode. URLs take priority over IDs, then keywords, then city; inspect INPUT_REPORT when mixing targets.
Automatic selection
Use startUrls for existing listing or detail links. A URL's market overrides the country selection.
Keyword search
Use query or searchQueries with mode=search.
Category listing
Use categoryId or categoryIds with mode=category; supply categorySlug when known.
Category tree
Choose mode=categories without a target to collect category nodes, not offers.
Department
Use departmentCode with mode=department.
Deals
Choose mode=deals for Polish Strefa Okazji offers; no target is required.
Product page
Use productId with mode=product for a catalog product page.
Product offers
Use productId with mode=product_offers to compare available seller offers.
Single offer
Use offerId with mode=offer for an individual offer.
Seller storefront
Use sellerLogin with mode=seller; optionally restrict it with categoryId.
Lokalnie search
Choose mode=lokalnie with query or city. This uses the Polish marketplace.
Lokalnie discovery
Choose mode=lokalnie_crawl to discover local offers. A target is optional; the row limit still applies.
Allegro API search
mode=allegro_api accepts a keyword, but requires publisher-enabled Allegro API access. Availability is not guaranteed; prefer search for ordinary runs.
EAN lookup
Use eans or ean with mode=ean; codes must contain 8–14 digits. Search results can include near matches.
Image search
Use a public imageUrl with mode=image_search. It can fail when image upload is unavailable.
Wakacje
Choose mode=wakacje, optionally with query, for available Polish travel listings. Coverage depends on accessible listings.
What to fill in
| Field | What to enter | Default |
|---|---|---|
mode | A mode described above | auto |
query | One search keyword | Empty; form prefill iphone |
searchQueries | Several keywords | Empty |
startUrls | URLs, or objects with a url field | Empty |
country | pl, cz, sk, hu | pl |
domain | Matching Allegro domain | allegro.pl |
maxResults | Maximum rows per input, from 1 to 500 | 70; form prefill 3 |
categoryId, categoryIds | One category ID or several | Empty |
categorySlug | Category URL slug | Empty |
departmentCode | Department, such as elektronika | Empty |
productId | Catalog product UUID | Empty |
offerId | Numeric offer ID | Empty |
sellerLogin | Storefront login | Empty |
ean, eans | One barcode or a list | Empty |
imageUrl | Public image URL | Empty |
city | Lokalnie city, such as warszawa | Empty |
order | m relevance, p price ascending, pd descending, d price with delivery, n newest, qd popularity | m |
p | Starting category page | 1 |
priceFrom, priceTo | Price bounds in the market's currency | Unset |
condition | Site condition filter | Empty |
buyNow | Restrict to buy-now offers | Unset |
freeShipping | Restrict to free shipping | Unset |
offerType | Site offer-type filter | Empty |
seller | Seller login filter for listings | Empty |
enrichDetails | Add available details | false |
scrapeProductDetails | Alternative switch for detail enrichment | false |
Examples below request three rows at most per input. Replace example IDs, seller logins and image URLs with real targets.
Automatic URL selection:
{"mode":"auto","startUrls":["https://allegro.pl/listing?string=rower"],"maxResults":3}
Keyword search:
{"mode":"search","query":"rower","country":"pl","maxResults":3}
Category listing:
{"mode":"category","categoryId":"257228","categorySlug":"smartfony-i-telefony-komorkowe","maxResults":3}
Category tree:
{"mode":"categories","country":"pl","maxResults":3}
Department:
{"mode":"department","departmentCode":"elektronika","maxResults":3}
Deals:
{"mode":"deals","country":"pl","maxResults":3}
Product page:
{"mode":"product","productId":"00000000-0000-0000-0000-000000000000","maxResults":3}
Product offers:
{"mode":"product_offers","productId":"00000000-0000-0000-0000-000000000000","maxResults":3}
Single offer:
{"mode":"offer","offerId":"12345678901","maxResults":3}
Seller storefront:
{"mode":"seller","sellerLogin":"example-shop","maxResults":3}
Lokalnie search:
{"mode":"lokalnie","query":"rower","maxResults":3}
Lokalnie discovery:
{"mode":"lokalnie_crawl","maxResults":3}
Allegro API search, when available:
{"mode":"allegro_api","query":"rower","maxResults":3}
EAN lookup:
{"mode":"ean","eans":["5901234123457"],"enrichDetails":true,"maxResults":3}
Image search:
{"mode":"image_search","imageUrl":"https://example.com/product.jpg","maxResults":3}
Wakacje:
{"mode":"wakacje","query":"morze","maxResults":3}
maxItems and limit are accepted as aliases for maxResults. Close field-name misspellings are corrected; other unknown fields are ignored with a note. Every run writes the interpretation to INPUT_REPORT in its default key-value store. Invalid filters can fall back to defaults. Unresolvable input produces INVALID_INPUT: <field> — <how to fix> before rows are charged; later field validation may use a different error message.
Output example
Illustrative offer row; fields are not guaranteed on every listing:
{"recordType": "offer","offerId": "12345678901","title": "Mysz bezprzewodowa","price": 149.99,"currency": "PLN","url": "https://allegro.pl/oferta/example-12345678901","domain": "allegro.pl","country": "pl","seller": {"login": "example-shop"},"promoted": false,"sellingMode": "BUY_NOW","scrapedAt": "2026-10-24T10:00:00Z"}
Export the dataset as JSON, CSV, Excel, XML, RSS or an HTML table. Nested attributes are easiest to inspect in JSON.
Why use this Allegro scraper?
- Row-based billing: row charges apply to delivered rows, not unsuccessful page attempts.
- Retained output: rows already written remain available after a stop. Delivery of unfinished collection is not guaranteed.
- Understandable failures: inspect
ERROR_SUMMARYfor failures andRUN_SUMMARYfor completed runs. - Source-based fields: unavailable attributes stay empty rather than being guessed.
- Several inputs: submit keyword, category, barcode or URL lists in one run.
- No proxy setup: you do not need to set up proxies.
How much does it cost to scrape Allegro?
The Actor uses pay-per-event pricing. Platform usage is included in these prices.
| Apify plan | Start event | Price per row | Price per 1,000 rows |
|---|---|---|---|
| Free | $0.005 | $0.003 | $3.00 |
| Starter | $0.005 | $0.003 | $3.00 |
| Scale | $0.005 | $0.0026 | $2.60 |
| Business | $0.005 | $0.0022 | $2.20 |
| Platinum | $0.005 | $0.0020 | $2.00 |
| Diamond | $0.005 | $0.0016 | $1.60 |
Start events are charged per GB of allocated memory, with a minimum of one event. The default 512 MB run therefore incurs one $0.005 start event.
maxResults applies to each input, defaults to 70 and accepts up to 500. Larger requests are collected in parts. All row types count together. Free Apify plan runs are capped at 200 rows, with 10 runs of this Actor. The whole run is constrained by Maximum cost per run (maxTotalChargeUsd in the API).
Example: three keywords delivering five rows each produce 15 rows. On the Free plan at 512 MB, one start plus those rows costs $0.005 + 15 × $0.003 = $0.050. Fewer delivered rows mean fewer row charges; the start event still applies.
What happens when the run timeout is too short
When automatic resumption is accepted, a run that cannot wait long enough can pause rather than fail. Its status message says "Queued on the collection backend; this run will resume automatically when results are ready (about N s)." It temporarily appears as ABORTED.
When results are ready, the same run resumes, reports "Resumed: delivering N rows.", writes to the same dataset and finishes as SUCCEEDED if delivery succeeds. Saved delivery progress prevents rows being delivered or charged twice. No manual restart is needed for this pause.
- Automatic pausing is limited to 3 attempts per run. Keep the default timeout of 3600 seconds to reduce pauses.
- Resumption is not a guarantee against collection failures or every timeout.
- Synchronous API endpoints (
run-sync,run-sync-get-dataset-items) wait at most 300 seconds and can return an empty dataset during a pause. For larger requests, start asynchronously and read rows afterSUCCEEDED, or use a succeeded-event webhook.
Use with AI agents and the API
Apify MCP server
Add this remote server to Claude, ChatGPT, Cursor, VS Code or another compatible MCP client:
https://mcp.apify.com?tools=lentic_clockss/allegro-scraper
Sign in with Apify using OAuth, or send Authorization: Bearer <YOUR_APIFY_TOKEN>. The tool starts a run and returns run and dataset IDs; read rows with get-dataset-items. Clients without remote support can use npx @apify/actors-mcp-server --tools lentic_clockss/allegro-scraper with APIFY_TOKEN set.
Example prompt: "Find three bicycle offers on Allegro Poland using query=rower and maxResults=3, then show their titles, prices and links."
Apify API
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("lentic_clockss/allegro-scraper").call(run_input={"query": "rower", "country": "pl", "maxResults": 3})for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('lentic_clockss/allegro-scraper').call({query: 'rower', country: 'pl', maxResults: 3});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
For asynchronous HTTP calls, send input JSON to POST https://api.apify.com/v2/acts/lentic_clockss~allegro-scraper/runs with an Authorization: Bearer header. Read the output using GET https://api.apify.com/v2/datasets/<datasetId>/items?format=json after completion.
Integrations
Use the Integrations tab for Google Sheets, Make, Zapier, n8n, Slack, Airtable or webhooks. Apify Schedules can repeat saved inputs for price monitoring.
Po polsku
Allegro Scraper zbiera publicznie dostępne oferty, ceny, waluty i informacje o sprzedawcach. Obsługuje rynki polski, czeski, słowacki i węgierski. Aby zacząć, wpisz frazę w query, wybierz country i ustaw maxResults na 3. Gotowe adresy stron możesz podać w startUrls, a kody kreskowe w eans. Wyniki pobierzesz jako JSON, CSV lub Excel. Opłata obejmuje uruchomienie oraz każdy dostarczony wiersz; brakujące dane nie są uzupełniane domysłami. Opcja enrichDetails dodaje dostępne szczegóły produktu, ale może wydłużyć pracę. Wyszukiwanie po kodzie EAN może zwrócić podobne produkty, dlatego porównuj searchEan z odczytanym ean. Narzędzie nie składa zamówień i nie udostępnia prywatnych danych kontaktowych z Allegro Lokalnie.
FAQ
Is it legal to scrape Allegro?
Use public data responsibly. You are responsible for complying with Allegro's terms and applicable data-protection law; processing personal data requires a lawful basis.
Why did my run end as ABORTED?
An automatic pause can temporarily show ABORTED; read the status message before restarting. Manual cancellation is different and does not promise automatic completion.
How many results can I get?
Request 1–500 rows per input. Actual output depends on available matches, the run's charge ceiling and free-plan limits. This is not a full-market export guarantee.
Why are some fields empty?
The page may omit them, or detail collection may not finish. Lokalnie contact fields remain null; login-only phone numbers and emails are not provided.
Is this an official Allegro API?
No. This is an independent Actor, not an Allegro product or an endorsed service.
Which countries are supported?
The main marketplaces support pl, cz, sk and hu. Lokalnie and Wakacje use Polish domains; Strefa Okazji deals are Poland-specific.
Does EAN lookup guarantee an exact barcode match?
No. searchEan is the searched code. Enable enrichDetails and compare it with the source-reported ean when available; ads and near matches can appear.
What does detail enrichment change?
It adds available brand, barcode, attributes, images and other details. Main-market listing enrichment is limited to up to 20 offers per collection part; Lokalnie details follow the requested row budget. Neither guarantees every field.
Limitations
- Only the listed marketplaces and modes are supported; private accounts and checkout are outside scope.
- Site restrictions can prevent collection. No success rate or complete catalog coverage is promised.
- Image search, Wakacje and Allegro API search depend on feature availability.
- Filters vary by page and market; a supplied filter is not proof every returned offer matches it.
- Category output includes department entries and discovered categories, not a guaranteed complete hierarchy.
- Review counts do not include review text. Related offers share the row limit and are billed separately.
Related scrapers
More e-commerce and marketplace scrapers from the same publisher:
- Walmart Product Scraper
- Temu Product Scraper
- TikTok Shop Product Scraper
- Amazon Search, Category & Best Sellers Scraper
- Coupang Product Scraper
- MercadoLibre Scraper
- Rakuten Japan Scraper
- SHEIN Product Scraper
Browse all of our scrapers at apify.com/lentic_clockss.
Support
Report a problem or request a field through the Issues tab of this Actor's page. Include the run ID and the input you used.