To get Allegro.pl price data, use Scavio's Allegro API. POST /api/v1/allegro/search returns 60 offers a page with price, condition, seller, Allegro Smart! and, on discounted offers, lowest_price_30d; /product-offers takes a catalog product id and returns every seller's offer for it with price and price with delivery; /offer adds stock, sold count, delivery methods and the GTIN. Every call costs 2 credits, $2.00 per 1,000 requests on the Growth plan, and works on allegro.pl, allegro.cz, allegro.sk and allegro.hu.
Allegro's own REST API only serves the offers of the seller account you authorize, and Allegro no longer grants access to its public offer search, GET /offers/listing. The calls below return the public offers instead. The responses are trimmed captures from November 12, 2026, and values come back in Polish, as Allegro.pl writes them.
Offer ids and product ids
Allegro.pl has two kinds of id, and price monitoring needs both. An offer (/oferta/..., a number such as 18590027176) is one seller's listing with its own price, stock and delivery. A catalog product (/produkt/..., a uuid such as 7a0992b6-5926-4686-a83d-51c60148662d) groups every offer for the same item. Search results carry both offer_id and product_id, so a search is usually the first call, then product-offers for all the sellers of one product or offer for one listing.
Step 1: Search with sorts and filters
curl -s https://api.scavio.dev/api/v1/allegro/search \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "monitor 27", "sort": "popularity"}'The top of the response, then one item:
{
"query": "monitor 27",
"sort": "popularity",
"applied_filters": {},
"total": 40938,
"total_pages": 94,
"page": 1,
"page_size": 60,
"count": 73,
"country": "pl",
"language": "pl",
"currency": "PLN",
"items": [
{
"offer_id": "18006835995",
"product_id": "7a0992b6-5926-4686-a83d-51c60148662d",
"title": "Monitor LED 27\" Samsung Odyssey G55C LS27CG552EUXEN",
"price": 648.51,
"currency": "PLN",
"price_with_delivery": null,
"free_delivery": false,
"delivery_text": "dostawa jutro",
"is_auction": false,
"discount_percent": null,
"lowest_price_30d": null,
"seller": {
"id": "108149433",
"login": "Rozetka_PL",
"super_seller": true,
"positive_feedback_percent": 98.8,
"is_business": true
},
"rating": 4.87,
"rating_count": 217,
"sold_count": 175,
"sold_label": "175 osób kupiło ostatnio",
"smart": true,
"offers_count": 133,
"placement": "promoted",
"is_sponsored": false,
"source": "allegro"
}
]
}sort takes relevance (the default), price_low_to_high, price_high_to_low, price_with_delivery_low_to_high, price_with_delivery_high_to_low, popularity, ending_soonest or newest. Filters: min_price and max_price in the site's currency, condition (new or used), smart: true, category_id, and on allegro.pl only buying_format (buy_now or auction) and deals. page goes up to 100. offers_count is how many offers the catalog product has, which tells you whether a product-offers call is worth making. The response also carries facets, every filter on the page with its values and offer counts. price_with_delivery is filled only when the results page shows it, so for delivered prices use product-offers or offer.
Step 2: Get every seller's offer for one product
This is the price comparison call. Pass the product_id from a search:
curl -s https://api.scavio.dev/api/v1/allegro/product-offers \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"product_id": "7a0992b6-5926-4686-a83d-51c60148662d", "condition": "new", "sort": "price_with_delivery_low_to_high"}'Trimmed to two offers: the featured one, and the cheapest offer for this exact model:
{
"product_id": "7a0992b6-5926-4686-a83d-51c60148662d",
"title": "Monitor LED 27\" Samsung Odyssey G55C LS27CG552EUXEN",
"sort": "price_with_delivery_low_to_high",
"applied_filters": { "condition": "new" },
"total": 101,
"total_pages": 2,
"page": 1,
"count": 62,
"currency": "PLN",
"offers": [
{
"offer_id": "18006835995",
"product_id": "7a0992b6-5926-4686-a83d-51c60148662d",
"title": "Monitor 27\" Samsung Odyssey G5 G55C",
"price": 648.51,
"price_with_delivery": 663.5,
"free_delivery": false,
"delivery_text": "dostawa jutro",
"condition": "Nowy",
"seller": {
"id": "108149433",
"login": "Rozetka_PL",
"super_seller": true,
"positive_feedback_percent": 98.8,
"positive_feedback_count": 8768,
"is_business": true
},
"smart": true,
"placement": "featured",
"is_featured": true,
"stock": 38
},
{
"offer_id": "18257275900",
"product_id": "7a0992b6-5926-4686-a83d-51c60148662d",
"title": "Monitor LED 27\" Samsung Odyssey G5 S27CG552EUX",
"price": 649,
"price_with_delivery": 649,
"free_delivery": true,
"delivery_text": "dostawa jutro – kup do 13:00",
"condition": "Nowy",
"seller": {
"id": "5674352",
"login": "Neonet",
"super_seller": true,
"positive_feedback_percent": 95,
"positive_feedback_count": 29777,
"is_business": true
},
"smart": false,
"placement": "regular",
"is_featured": false,
"stock": 18
}
]
}Each page holds up to 60 offers plus sponsored slots, so walk page up to total_pages and de-duplicate by offer_id. sort takes the six sorts Allegro.pl offers on this page (relevance, price, price with delivery, popularity), and condition, min_price, max_price and smart filter it. Two things to handle in code. Allegro.pl sometimes lists a sibling model on the same offers page: here 36 of the 90 offers on two pages were for the LS27CG554EUXEN, and each offer's own product_id says which is which. And the featured offer is not always the cheapest: across seven products we priced on November 12, it was the cheapest in three. The best Allegro price monitoring APIs post charts all 469 offers.
Step 3: Read one offer, with the 30-day lowest price
curl -s https://api.scavio.dev/api/v1/allegro/offer \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"offer_id": "18590027176"}'Trimmed (the offer listed 26 delivery methods; two shown):
{
"offer_id": "18590027176",
"product_id": "ff696e03-40d1-434a-96d6-4e98d979f649",
"title": "SŁUCHAWKI PRZEWODOWE SONY IER-EX15C USB-C CZARNE 4548736170544",
"status": "active",
"condition": "Nowy",
"price": 59,
"currency": "PLN",
"buy_now": true,
"original_price": 66,
"lowest_price_30d": 66,
"lowest_price_30d_note": "Najniższa cena oferty z 30 dni przed obniżką",
"discount_percent": 10,
"discount_amount": 7,
"price_with_delivery": 69.49,
"stock": 18,
"stock_label": "z 18 sztuk",
"sold_count": 6,
"sold_label": "6 osób kupiło 6 sztuk",
"gtin": "4548736170544",
"brand": "Sony",
"delivery": [
{
"method": "InPost Paczkomat, InPost",
"group": "Odbiór w punkcie",
"price": 10.95,
"currency": "PLN",
"eta_text": "kup do 14:00 - jutro w punkcie"
},
{
"method": "Kurier, InPost",
"group": "Na adres",
"price": 12.49,
"currency": "PLN",
"eta_text": "kup do 14:00 - jutro u Ciebie"
}
],
"handling_time": "24 godziny",
"returns": { "days": 14, "label": "Masz 14 dni na odstąpienie od umowy." },
"seller": {
"id": "27737025",
"login": "alleloombard277",
"super_seller": true,
"positive_feedback_percent": 99.4,
"positive_count": 4165,
"negative_count": 24,
"is_business": true
},
"product_offers_count": 67,
"smart": true
}offer_id comes from any search, category, seller or product-offers answer; you can pass the offer url instead. The response also has every parameter (parameters), the seller's description as plain text, images, the breadcrumb, warranty and, for business sellers, company_name. gtin is the key to matching the same item on other stores.
The 30-day lowest price
Since May 28, 2022, EU rules (Article 6a of the Price Indication Directive) require a shop that announces a price reduction to show the lowest price of the previous 30 days. Allegro.pl shows it under every discount as "Najniższa cena oferty z 30 dni przed obniżką", and Scavio returns it as lowest_price_30d, with discount_percent, on search items and offers. On an offer, original_price is the same number: the price the discount is measured from. Undiscounted offers return null. It is one reference price, not a history: to track how an offer's price moves, store each call's price with a timestamp. During Black Weeks (November 2 to 30, 2026 on all four sites), Allegro's seller rules require a cut of at least 5% against "najniższej ceny w tej ofercie z ostatnich 30 dni", the same reference price.
Discounted offers with the deals filter (allegro.pl)
curl -s https://api.scavio.dev/api/v1/allegro/search \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "słuchawki sony", "deals": true, "condition": "new", "sort": "price_low_to_high"}'deals: true keeps only offers in Allegro's deals and promotions zone, which includes Black Weeks while it runs. This search returned 112 matches; all 63 offers on the first page had a discount_percent and a lowest_price_30d above the current price, for example "price": 59 against "lowest_price_30d": 66. The filter is allegro.pl only; on the other sites the request is refused before it is charged.
Sold counts are not sales data
Allegro.pl shows recent-purchase counts, and Scavio returns them as sold_count with the original sold_label. Read them for what they are. On a search item and on a product, the label counts buyers of the product across offers ("175 osób kupiło ostatnio", 175 people bought recently); on an offer, it counts that offer ("6 osób kupiło 6 sztuk", 6 people bought 6 units). The search item for the Sony earphones above said 38 while its offer said 6. Neither is revenue, and Allegro does not say over which period "recently" runs. On allegro.cz, allegro.sk and allegro.hu offer pages there is no sold count, so sold_count is null.
Auctions
curl -s https://api.scavio.dev/api/v1/allegro/search \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "lego star wars", "buying_format": "auction", "sort": "ending_soonest"}'This returned 66 auctions, the first ending "1 godzina" (in one hour) per auction_ends_in. The offer call on one of them returns the auction state:
{
"offer_id": "19109057134",
"title": "Klocki LEGO Star Wars 75415 Hełm Kylo Rena",
"price": 216,
"buy_now": false,
"is_auction": true,
"auction": {
"current_price": 216,
"min_next_bid": 216,
"bid_step": 5,
"ends_at": "2026-11-12T11:08:01.000Z",
"has_bids": false,
"bids_label": "nikt nie licytuje"
},
"price_with_delivery": 226.49
}An auction's price is the current bid, not a final price: here nobody had bid yet ("nikt nie licytuje"). Keep auctions out of a buy-now price comparison, or filter with buying_format: "buy_now". This is monitoring data; the API does not bid.
Sponsored and promoted placements
Every listing item carries placement: sponsored (paid ads at the top, also flagged is_sponsored), promoted (offers Allegro.pl shows in its promoted block), featured (the offer Allegro features on a product's offers page, also is_featured) or regular. Sponsored slots ignore the sort, and where Allegro.pl shows a promoted block first, each block is sorted on its own. A price monitor should de-duplicate by offer_id (a sponsored offer often appears again lower down) and sort by price itself before taking a minimum.
Step 4: Get the catalog product
curl -s https://api.scavio.dev/api/v1/allegro/product \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"product_id": "7a0992b6-5926-4686-a83d-51c60148662d"}'Trimmed:
{
"product_id": "7a0992b6-5926-4686-a83d-51c60148662d",
"title": "Monitor LED 27\" Samsung Odyssey G55C LS27CG552EUXEN",
"brand": "Samsung",
"gtin": "8806095337210",
"category": { "id": "260041", "name": "Monitory" },
"lowest_price": 628.06,
"offer_count": 84,
"offer_highlights": [
{ "label": "NAJTANIEJ", "subtitle": "Stan: Nowy", "price": 628.06, "currency": "PLN", "kind": "cheapest" },
{ "label": "NAJSZYBCIEJ", "subtitle": "dostawa jutro – kup do 13:00", "price": 649, "currency": "PLN", "kind": "fastest" }
],
"sold_count": 175,
"sold_label": "175 osób kupiło ostatnio",
"rating": {
"average": 4.87,
"count": 217,
"distribution": [
{ "stars": 5, "count": 205, "percent": 94 },
{ "stars": 4, "count": 5, "percent": 2 },
{ "stars": 3, "count": 1, "percent": 0 },
{ "stars": 2, "count": 3, "percent": 1 },
{ "stars": 1, "count": 3, "percent": 1 }
]
},
"review_count": 45,
"reviews_note": "first 20 reviews as shown on the product page"
}The full response adds featured_offer (price, 30-day lowest, stock and seller of the offer Allegro features), parameters, images, the description, review aspects with sentiment counts and the first 20 reviews (rating, text, pros, cons, author as published, such as "g...6", date and helpful votes). lowest_price and offer_count are the quickest daily check on one product: one call, the cheapest price and how many sellers there are.
Step 5: Sellers and seller feedback
curl -s https://api.scavio.dev/api/v1/allegro/seller \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"login": "MoreleGrupa", "query": "monitor", "sort": "popularity"}'login comes from seller.login in any offer. The response lists the seller's offers with the search sorts and filters (664 matched "monitor" for MoreleGrupa), whether the seller is active, and the categories it sells in with a slug you can pass as category. Then the ratings:
curl -s https://api.scavio.dev/api/v1/allegro/seller-feedback \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"login": "MoreleGrupa"}'{
"login": "MoreleGrupa",
"summary": {
"recommended": 47871,
"recommended_unique": 47260,
"not_recommended": 544,
"not_recommended_unique": 466,
"positive_percent": 99,
"received": 48628,
"excluded": 689,
"removed": 213,
"member_since": "2018-11-08",
"super_seller": true
},
"total": 48415,
"total_pages": 2421,
"page_size": 20,
"ratings": [
{
"recommended": true,
"comment": null,
"justifications": ["Miła obsługa", "Dostawa na czas", "Ekologiczna przesyłka", "Sprzedający szybko odpisuje", "Dobrze zabezpieczony produkt"],
"created_at": "2026-11-12T09:58:04.169Z",
"offers": [{ "offer_id": "15046683052", "title": "Żwirek dla kota Cats Best Nature Gold Naturalny 20 l" }],
"excluded": false,
"exclusion_reason": null
}
]
}Ratings come 20 a page, newest first, with the reasons the buyer ticked and the offers rated. No buyer identity is returned, and seller addresses and tax ids are not part of any response.
Step 6: Browse a category
curl -s https://api.scavio.dev/api/v1/allegro/category \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"category_id": "260041", "sort": "popularity", "condition": "new"}'category_id is category.id or any breadcrumb[].id from an offer or product (260041 is "Monitory"); a category link works too. The response has the same grid as search (68,289 new monitors matched) plus the category's name, URL, breadcrumb and its subcategories or sibling categories with offer counts. Add query to search inside the category.
Other markets: allegro.cz, allegro.sk and allegro.hu
Every endpoint takes country: pl (the default), cz, sk or hu. Each answer comes in that site's language and currency: a search for "notebook" with "country": "cz" returned 330,315 matches priced in CZK with labels such as "14 lidí nedávno koupilo"; on sk the same search returned 296,153 matches in EUR; "laptop" on hu returned 244,161 in HUF. buying_format and deals exist on allegro.pl only, and offers on the other three sites have no sold count.
Every Allegro endpoint and what it costs
| Endpoint | What it returns | Credits |
|---|---|---|
/api/v1/allegro/search | 60 offers a page with price, seller, Smart!, 30-day lowest on discounts, facets | 2 |
/api/v1/allegro/product-offers | Every seller's offer for one catalog product, price and price with delivery | 2 |
/api/v1/allegro/offer | One offer: price, 30-day lowest, stock, sold count, delivery methods, GTIN, auction state | 2 |
/api/v1/allegro/product | Catalog product: GTIN, lowest price, offer count, featured offer, rating, first 20 reviews | 2 |
/api/v1/allegro/seller | One seller's offers and categories | 2 |
/api/v1/allegro/seller-feedback | Rating summary and 20 ratings a page | 2 |
/api/v1/allegro/category | One category's offers, breadcrumb and subcategories | 2 |
Every call is 2 credits on every market, $2.00 per 1,000 requests on the Growth plan ($1 per 1,000 credits). An unknown offer, product, seller or category is a charged not-found; a request the API rejects as invalid, such as deals on allegro.cz, is not charged. Calls can take from a few seconds to about a minute, so run monitoring on a schedule.
Getting started
- Create a Scavio account and copy your API key; 50 free credits, no card, no Allegro developer account.
- Search for the products you care about and store each
product_id, or keep a list of offer links. - Call
product-offersfor each product on a schedule and storeprice,price_with_delivery,seller.login,smartand a timestamp. That table is your price history. - Call
offerfor the listings where you need stock, delivery methods or the 30-day lowest price. - Try the calls first in the playground, or give an agent the MCP server.
Try the Allegro API free. Reference: Allegro API · best Allegro price monitoring APIs · Allegro vs Amazon.de prices · how to get eBay price data · how to get Vinted listing data · jak monitorować ceny na Amazon.pl przez API
Frequently asked questions
Does Allegro have a public API for offer data?
Only for your own offers. Allegro's REST API at developer.allegro.pl is built for sellers: it reads and manages the offers and orders of the account you authorize. Of the public offer search, GET /offers/listing, Allegro's own method list says "dostęp do zasobu nie jest już możliwy. Weryfikacja została wstrzymana ze względów biznesowych" (access to the resource is no longer possible; verification has been suspended for business reasons), and Allegro staff wrote on GitHub in October 2026 that access "is no longer granted". There is no API for Allegro Analytics either. Scavio's Allegro API returns public offer, product, seller and category data from allegro.pl, allegro.cz, allegro.sk and allegro.hu with one key.
What do Allegro's terms say about using its data?
Allegro's Terms & Conditions (section 10.10, English version valid from April 21, 2026) say that "downloading or using materials available on Allegro in any way (including data and other types of information) shall each time require the consent of the Company", and prohibit "aggregating and processing data and any other information available on Allegro for the purpose of using it within the activity pursued", including "extracting (scraping) such data". Section 10.10 a also covers logos, images and descriptions. This is not legal advice; check the terms for your use case, and do not republish offer photos.
Is lowest_price_30d a price history?
No. lowest_price_30d is the single reference price Allegro.pl shows next to a discount: the lowest price that offer had in the 30 days before the price cut, which EU rules (Article 6a of the Price Indication Directive) require. It appears only on discounted offers, and on an offer response original_price equals it. To build a price history, call the API on a schedule and store each result.
Is the Allegro data in Polish?
Yes, on allegro.pl. Titles, condition labels ("Nowy", "Używany"), delivery estimates, sold labels and review text come back as Allegro writes them, in Polish, and in Czech, Slovak or Hungarian on the other three sites. Field names are English, prices are numbers in PLN, CZK, EUR or HUF, and dates are ISO 8601. Translate on your side if your users need English.
How much does Allegro data cost with Scavio?
Every Allegro call costs 2 credits on every endpoint and market, which is $2.00 per 1,000 requests on the Growth plan of $1 per 1,000 credits. A not-found, such as an unknown offer, product or seller, is charged; a request rejected as invalid is not. New accounts get 50 free credits with no card, enough for 25 calls.