Media Expert APImediaexpert.pl ↗
Fetch up to 50 featured TOP deals from mediaexpert.pl. Get promo prices, previous prices, 30-day lows, discount codes, stock status, and energy labels in PLN.
What is the Media Expert API?
The mediaexpert.pl API exposes a single endpoint, get_top_deals, that returns up to 50 featured promotional offers from Poland's Media Expert electronics retailer. Each deal row includes 11 structured fields: current promo price in PLN, the discount code required to reach it, the product's rating, stock availability, EU energy class, and its ranked position within the site's TOP deals group.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/5f34443d-0c90-4d01-9ff1-0c5f713ba027/get_top_deals' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns up to 50 featured deals from the Media Expert deals page (the site's own 'TOP' offers group), in the order the site presents them. Each row is one product with its promotional price (the price after applying the shown promo code, when one applies), the price before the promotion, the lowest price of the last 30 days (Omnibus), computed discount amount and percent, the promo code and its end time (site local time, Europe/Warsaw), rating, stock flag and product URL. Takes no parameters. One page load plus one small detail request per product; products whose details could not be loaded are listed in failed_products instead of being silently dropped. total_top_deals_on_site is how many products the site currently features in the group, which may exceed the 50 returned. rating and energy_class are null when the product has no ratings / no energy label.
No input parameters required.
{
"type": "object",
"fields": {
"count": "number of deals returned (max 50)",
"deals": "array of deal rows, one per product, in site order",
"deals[].price": "current promotional price in PLN (number)",
"deals[].rating": "average rating 0-5, null when no ratings",
"failed_products": "array of {product_id, status_code} for products whose details could not be fetched",
"deals[].in_stock": "boolean availability flag",
"deals[].position": "1-based position in the site's TOP deals group",
"deals[].product_id": "Media Expert product id (string)",
"deals[].promo_code": "discount code required to get the price, null when none",
"deals[].energy_class": "EU energy label letter, null when not applicable",
"deals[].price_before": "price before the promotion in PLN, null when the site does not show one",
"deals[].rating_count": "number of ratings (integer)",
"deals[].promo_ends_at": "promotion end, 'YYYY-MM-DD HH:MM:SS' in Europe/Warsaw local time, null when absent",
"deals[].discount_amount": "price_before minus price, PLN; null when price_before is missing",
"total_top_deals_on_site": "number of products the site currently features in the TOP deals group",
"deals[].discount_percent": "discount as percent of price_before, rounded to 0.1; null when price_before is missing",
"deals[].lowest_price_30_days": "lowest price in the previous 30 days in PLN (Omnibus), null when absent"
},
"sample": {
"data": {
"count": 50,
"deals": [
{
"url": "https://www.mediaexpert.pl/telewizory-i-rtv/telewizory/telewizor-samsung-qe55q6f-qled-4k-tizen-tv-hdmi-2-1",
"name": "Telewizor SAMSUNG QE55Q6F 55\" QLED 4K Tizen TV HDMI 2.1",
"brand": "SAMSUNG",
"price": 1699,
"rating": 4.9,
"category": "Telewizory",
"currency": "PLN",
"in_stock": true,
"position": 1,
"image_url": "https://sgimg.mediaexpert.pl/300/2099653.jpg",
"product_id": "2099653",
"promo_code": "WRZESIEN1809",
"energy_class": "G",
"price_before": 2199.99,
"rating_count": 42,
"promo_ends_at": "2026-09-21 23:59:00",
"discount_amount": 500.99,
"discount_percent": 22.8,
"lowest_price_30_days": 1790
}
],
"failed_products": [],
"total_top_deals_on_site": 52
},
"status": "success"
}
}About the Media Expert API
What get_top_deals returns
The get_top_deals endpoint returns the full set of featured deals from Media Expert's deals page, ordered exactly as the site presents them. The response includes a count field showing how many deals were returned (up to 50), and a deals array where each object represents one product. Key fields per product: price (the post-code promotional price in PLN as a number), promo_code (the discount code that must be applied, or null when the price is already reduced without a code), product_id (Media Expert's own identifier string), and position (1-based rank within the TOP group).
Product detail fields
Each deal also carries in_stock (boolean availability at time of fetch), rating (average score 0–5, null when no ratings exist), and energy_class (EU energy label letter such as A, B, C, or null for products where this label is not applicable). These fields make it straightforward to filter for in-stock items, surface rated products, or segment by energy efficiency category.
Error handling
When individual product detail fetches fail, the API does not silently drop them. Instead, failed items appear in a separate failed_products array, each entry containing the product_id and the status_code received. This allows callers to distinguish between a clean result set and one where some records could not be retrieved, and to retry specific IDs if needed.
Inputs and freshness
get_top_deals takes no input parameters — it always returns the current TOP deals group as the site presents it. Because Media Expert updates its promotional page regularly, repeated calls will reflect the current state of the deals listing, including price changes, new codes, and stock fluctuations.
The Media Expert API is a managed, monitored endpoint for mediaexpert.pl — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when mediaexpert.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 mediaexpert.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?+
- Monitor Polish electronics deals and alert when a product with a promo_code drops below a target price in PLN
- Build a price history log by polling get_top_deals on a schedule and storing each deal's price and promo_code over time
- Filter in_stock deals by energy_class to surface A-rated appliances currently on promotion
- Cross-reference product_id values against a catalog database to enrich deal listings with full specifications
- Rank featured deals by rating to surface the highest-reviewed products currently in the TOP group
- Track position changes across calls to identify which products are newly promoted or have moved up in the deals ranking
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.