Allegro Scraper — Search Prices & Sellers
Pricing
from $1.99 / 1,000 product listings
Allegro Scraper — Search Prices & Sellers
Scrape Allegro search results for price monitoring and seller comps. Each row includes current and original price, seller, Smart!, condition, and listing parameters. Export JSON from Python, Node.js, or MCP.
Pricing
from $1.99 / 1,000 product listings
Rating
0.0
(0)
Developer
Andrej Kiva
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
1
Monthly active users
19 days ago
Last modified
Categories
Share
Allegro Scraper
Allegro Scraper pulls search cards from Allegro into JSON. It is not affiliated with Allegro.
Use it for price monitoring and seller comps on Poland, Czechia, and Slovakia. Each row is one offer from the search page: current price, original price, seller, Smart! badge, condition, and the parameters shown on the card. Run it from Python, Node.js, cURL, or an AI assistant over MCP.
Allegro Scraper ◄── you are here
| Actor | What it collects |
|---|---|
| Allegro Scraper ◄── you are here | Allegro search cards: price, seller, Smart! |
| Trendyol Scraper | Turkey retail search: price, brand, seller |
| Kleinanzeigen Scraper | Germany classifieds |
| Marktplaats Scraper | Netherlands classifieds |
| Leboncoin Scraper | France classifieds |
| eBay Sold Listings Scraper | Completed eBay sales for comps |
| eBay Active Listings Scraper | Live eBay listings |
| Vinted Monitor | New Vinted listings |
When to use this Actor
- Track a keyword’s prices, discounts, and Smart! badges.
- Compare sellers on the same search without opening every offer.
- Export a search URL you already filtered in the browser.
- Feed a sheet, warehouse, or MCP agent with one JSON row per offer.
When not to use this Actor
- You need the full offer description, stock count, warranty, or review text. This Actor reads the search page only.
- You need a seller’s phone or email.
- You need every seller of one catalog SKU from a product page.
Key features
- One search page. Keywords and
/listingURLs. The next page is the same document. - Search-card fields. Price, original price, seller login, Smart!, promoted flag, condition, images, and parameters.
- Poland, Czechia, Slovakia. Keywords use the marketplace you pick. A search URL’s host overrides it.
- HTTP. No browser. Residential proxy in the marketplace country.
- Empty searches stay empty. A blocked or zero-result page finishes with no rows.
Input
| Field | Type | Default | What it does |
|---|---|---|---|
searchQueries | string[] | iphone 15 | Keywords. Each one opens a search page. |
startUrls | URL[] | — | Allegro search URLs (/listing?string=). Other URL types are skipped. |
marketplace | select | pl | pl, cz, or sk for keywords. |
sortBy | select | relevance | Relevance, price, newest, or popularity. |
minPrice / maxPrice | number | — | Price filter in PLN, CZK, or EUR. |
condition | select | all | All, new, or used. |
includePromoted | boolean | true | Keep promoted and sponsored cards, flagged on the row. |
maxItems | integer | 50 | Cap across all keywords and URLs. |
maxPagesPerQuery | integer | 1 | Search pages per keyword or URL. |
proxyConfiguration | object | Residential PL | Residential proxy. Match the country to the storefront. |
{"searchQueries": ["iphone 15"],"marketplace": "pl","maxItems": 30,"maxPagesPerQuery": 1,"sortBy": "price-asc","condition": "new","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "PL"}}
A pasted search URL:
{"startUrls": [{ "url": "https://allegro.pl/listing?string=lego%20technic" }],"maxItems": 20,"maxPagesPerQuery": 1}
Output
One dataset row per offer.
| Field | Meaning |
|---|---|
offerId | Allegro offer id |
title | Card title |
price | Current amount |
originalPrice | Struck-through price when the card shows one |
currency | PLN, CZK, or EUR |
sellerLogin | Public seller login |
seller | Login, Super Seller, and feedback shown on the card |
smart | Smart! badge |
promoted / sponsored | Paid placement flags |
condition | New or used when the card shows it |
parameters / specs | Name/value pairs from the card |
productOffersCount | Other sellers of the same catalog product, when shown |
popularity | Recent-buyer label from the card |
url | Offer URL |
image | Main image |
page / position | Where the card sat on the search page |
searchQuery | Keyword that produced the row |
{"offerId": "18529923195","title": "Smartfon Motorola","price": 424.0,"originalPrice": 499.0,"currency": "PLN","sellerLogin": "Elektromaniak_","smart": true,"promoted": false,"condition": "Nowy","url": "https://allegro.pl/oferta/18529923195","searchQuery": "motorola","page": 1,"position": 3}
Use cases
| Job | What you run | What you keep |
|---|---|---|
| Price watch | One keyword, price sort, a few pages | price, originalPrice, sellerLogin, scrapedAt |
| Seller comps | The same keyword, promoted cards on | Who is paying for the top of search |
| Assortment check | A filtered search URL | Only the slice you already narrowed |
| Cross-market | Same keyword on pl, then cz or sk | Currency and price side by side |
Integration examples
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('crawloop/allegro-scraper').call({searchQueries: ['iphone 15'],marketplace: 'pl',maxItems: 30,maxPagesPerQuery: 1});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.slice(0, 5));
Python
from apify_client import ApifyClientclient = ApifyClient(token)run = client.actor("crawloop/allegro-scraper").call(run_input={"searchQueries": ["iphone 15"],"marketplace": "pl","maxItems": 30,"maxPagesPerQuery": 1,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item.get("offerId"), item.get("title"), item.get("price"), item.get("sellerLogin"))
cURL
curl "https://api.apify.com/v2/acts/crawloop~allegro-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQueries":["iphone 15"],"marketplace":"pl","maxItems":30,"maxPagesPerQuery":1}'
MCP and AI assistants
Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call this Actor by Store ID crawloop/allegro-scraper.
Example prompts:
- "Run Allegro Scraper for iphone 15 on the Poland marketplace, one page, and return title, price, currency, and sellerLogin."
- "Scrape Allegro search for lego technic, new items only, sorted by price, and list the cheapest 20 offers."
- "After Allegro prices, run eBay Sold Listings Scraper on the same product name and compare the ranges."
Next step
For Germany classifieds, run Kleinanzeigen Scraper. For the Netherlands, run Marktplaats Scraper. For France, run Leboncoin Scraper. For completed-sale comps outside Allegro, run eBay Sold Listings Scraper. For live eBay asks, use eBay Active Listings Scraper.
FAQ
What do I need to start?
A keyword in searchQueries, or an Allegro search URL in startUrls.
Which countries work?
pl (PLN), cz (CZK), and sk (EUR). Use a residential proxy in that country.
Does a zero-result search fail the run?
No. The run finishes and the dataset stays empty.
Can I paste an offer or seller URL?
Those URLs are skipped. Use a search URL (/listing?string=).
How many cards are on a page?
About 60. maxItems stops early. maxPagesPerQuery caps how many search pages open.
Related Actors
- Kleinanzeigen Scraper — Germany classifieds
- Marktplaats Scraper — Netherlands classifieds
- Leboncoin Scraper — France classifieds
- eBay Sold Listings Scraper
- eBay Active Listings Scraper
- Vinted Monitor