Allegro APIallegro.pl ↗
Access Allegro.pl product search, listing details, category browsing, and autocomplete suggestions via a structured JSON API. Covers prices, sellers, and delivery info.
What is the Allegro API?
The Allegro.pl API provides 4 endpoints covering product search, individual listing details, category browsing, and search autocomplete for Poland's largest e-commerce marketplace. The search_products endpoint returns up to 60–70 items per page with price, seller, delivery, and sponsored-status fields. Product data includes structured technical parameters, full-resolution images, and offer identifiers usable across endpoints.
curl -X GET 'https://api.parse.bot/scraper/2741a3d6-d8f9-4e3f-b583-f6b0b22eba82/search_products?page=1&sort=relevance&query=laptop' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace allegro-pl-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.allegro_pl_marketplace_api import Allegro, Sort, Product, ProductDetail, Suggestion
allegro = Allegro()
# Search for laptops sorted by price ascending
for product in allegro.products.search(query="laptop", sort=Sort.PRICE_ASC, limit=5):
print(product.title, product.price, product.delivery)
# Get detailed info for a specific product
detail = allegro.products.search(query="dell laptop", sort=Sort.RELEVANCE, limit=1)
for item in detail:
full = item.details()
print(full.title, full.price_amount, full.price_currency)
print(full.parameters)
for img in full.images[:3]:
print(img)
# Browse products in the Laptopy category
for laptop in allegro.products.by_category(category_id="491", limit=3):
print(laptop.offer_id, laptop.title, laptop.seller.name)
# Get autocomplete suggestions
for suggestion in allegro.suggestions.search(query="smart", limit=10):
print(suggestion.query, suggestion.type, suggestion.url)
Search for products on Allegro.pl by keyword. Returns paginated product listings with price, seller, and delivery information. Results are extracted from server-rendered HTML containing embedded JSON. Each page contains up to ~60-70 items. The site enforces aggressive rate limiting; requests may occasionally be blocked by DataDome antibot requiring proxy rotation.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number to retrieve (1-based, max 100). |
| sort | string | Sorting order. Accepted values: relevance, price_asc, price_desc, popularity, newest. Defaults to relevance if omitted. |
| queryrequired | string | Search keyword. |
{
"type": "object",
"fields": {
"page": "integer current page number",
"items": "array of product objects with offer_id, title, price, price_amount, price_currency, url, images, seller, delivery, is_sponsored",
"total": "integer total number of matching offers",
"last_available_page": "integer last page available (max 100)"
},
"sample": {
"data": {
"page": 1,
"items": [
{
"url": "https://allegro.pl/oferta/laptop-dell-latitude-5400-i5-8-gb-256-gb-ssd-14-poleasingowy-18655306419",
"price": "709.00 PLN",
"title": "Laptop DELL Latitude 5400 | i5 | 8 GB | 256 GB SSD | 14\" | POLEASINGOWY",
"images": [
"https://a.allegroimg.com/s360/1164fc/2eadd7e842a8af6a0b722bf25d41/Laptop-DELL-Latitude-5400-i5-8-GB-256-GB-SSD-14-POLEASINGOWY"
],
"seller": {
"id": "141831597",
"name": "LaptopGuru_pl",
"super_seller": true
},
"delivery": "darmowa dostawa",
"offer_id": "18655306419",
"is_sponsored": true,
"price_amount": "709.00",
"price_currency": "PLN"
}
],
"total": 914623,
"last_available_page": 100
},
"status": "success"
}
}About the Allegro API
What the API Covers
The API exposes four endpoints against Allegro.pl: search_products, get_product_details, browse_category, and get_search_suggestions. All monetary values are in PLN (price_currency). Paginated endpoints (search_products, browse_category) support up to 100 pages and return a last_available_page field so you can detect the actual result ceiling before iterating.
Search and Category Browsing
search_products accepts a required query string plus optional page (1-based integer) and sort parameters. Valid sort values are relevance, price_asc, price_desc, popularity, and newest. Each item in the items array carries offer_id, title, price_amount, price_currency, url, images, seller, delivery, and an is_sponsored boolean. browse_category works identically but scopes results to a numeric category_id (e.g., 491 for Laptopy). You can optionally pass a category_slug; if omitted it defaults to kategoria.
Listing Details and Autocomplete
get_product_details accepts either a full url or a numeric offer_id string — one is required. The response includes parameters (a key-value object of technical specs), a description string, an images array, and structured seller info with both name and ID. get_search_suggestions takes a query prefix and returns an array of suggestion objects, each with a type field of either PHRASE or NAVIGATION_TILE, a url, and an optional completion_text. The suggestions endpoint operates independently of the pagination-heavy listing endpoints and returns results with lower latency.
The Allegro API is a managed, monitored endpoint for allegro.pl — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when allegro.pl changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official allegro.pl API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track price changes for specific Allegro offers using
offer_idwithget_product_details - Build a product comparison tool pulling
parametersandprice_amountacross multiple listings - Monitor sponsored vs. organic placement using the
is_sponsoredfield fromsearch_products - Seed an e-commerce catalog with structured category data via
browse_categoryand a knowncategory_id - Implement a search-as-you-type feature using
get_search_suggestionswith a query prefix - Aggregate seller activity by collecting
seller.idandseller.nameacross paginated search results - Analyze category depth and listing volume using
totalandlast_available_pagefrombrowse_category
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Allegro.pl have an official developer API?+
What does `get_product_details` return that `search_products` does not?+
get_product_details returns a parameters object with key-value technical specifications (e.g., processor model, RAM, screen size for electronics), a description string, and full-resolution images. The search and category endpoints return a lighter item shape: title, price, seller, delivery, and a thumbnail image array — sufficient for listing pages but without the spec-level detail.Are there pagination limits I should account for?+
search_products and browse_category cap results at page 100 regardless of the total count returned. Each page contains roughly 60–70 items, meaning the retrievable ceiling per query is around 6,000–7,000 listings. The last_available_page field in each response indicates the actual upper bound, which may be less than 100 for narrower queries.Does the API return buyer reviews or ratings for listings?+
Can I filter search results by price range or seller location?+
search_products and browse_category endpoints currently support only sort and page as optional parameters alongside the required query or category ID. Filtering by price range, condition (new/used), or seller location is not exposed. You can fork this API on Parse and revise it to pass additional filter parameters through those endpoints.