Planeo.cz Scraper: Prices, Discount Codes & EAN avatar

Planeo.cz Scraper: Prices, Discount Codes & EAN

Pricing

from $0.85 / 1,000 products

Go to Apify Store
Planeo.cz Scraper: Prices, Discount Codes & EAN

Planeo.cz Scraper: Prices, Discount Codes & EAN

Scrape Planeo.cz (Czech electronics & appliances chain) by category, search, product code, EAN or URL: price, price before discount, discount codes, stock per store in 100+ stores, delivery date, energy class, EAN and parameters. Site filters, monitoring mode. Unofficial.

Pricing

from $0.85 / 1,000 products

Rating

0.0

(0)

Developer

Tomáš Buchta

Tomáš Buchta

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Scrape products and prices from Planeo.cz, a Czech electronics and home appliances chain with more than 100 stores. Start from a category URL, product URLs, the website's search (search terms or search URLs) or your own list of Planeo product codes or EANs. For each product you get the name, brand, current price (with and without VAT), price before discount and savings, public discount codes and the price with the code, stock in the warehouse, pickup in stores (number of stores), estimated delivery date, rating and labels. Optionally you also get the EAN (barcode), the technical parameters, a description of up to 1 000 characters and the stock in each PLANEO store (pieces, address, region, pickup time). The energy class comes with every product that has an energy label.

Built for price monitoring: schedule it daily in monitoring mode and you get, and pay for, only products whose price or availability changed, plus (optionally) the products that disappeared and the ones that came back.

What's new

  • October 2026: search, lookups, stock per store and fast mode. All optional; runs with your current input return the same products with the same values as before. The new fields are added at the end of each row; energyClass is filled whenever the product has an energy label, the others only when you use the new options:
    • Search terms and search URLs with the website's own search (relevance or price order, Max pages per search).
    • Product codes and EANs: look up your own product list; the product page confirms each EAN.
    • Add stock per store: pieces in each of the ~100 PLANEO stores, with address, region and pickup time.
    • Energy class (energyClass) from the energy label, with an Energy classes filter; promoLabel and cashback fields when the website shows a campaign price tag or a cashback price box.
    • Monitoring: include removed products: rows for products that disappeared (changeType: "removed") and came back ("reappeared").
    • Fast mode: about 4× faster (at most 120 requests per minute) with automatic slow-down, for $0.01 per 1 000 products.
    • Description length: the description excerpt can be up to 1 000 characters (default stays ~200).
  • October 2026: Planeo.sk Scraper. The same scraper for the Slovak shop, with EUR prices, search, EAN/code lookups, cashback and stock in 69 stores: Planeo.sk Scraper.
  • Second attempt for rejected pages: a page the site rejects is asked once more 30 seconds later from the same IP, so short-lived blocks no longer leave gaps.
  • Discount codes with the price after the code, savings, store pickup and delivery dates as separate fields.

Why use this Planeo scraper?

  • 🎟️ Discount codes. Many products are cheaper with a code ("Koupit s kuponem"). You get couponCode and couponPrice, next to the regular price, so you see the real lowest price.
  • 🏷️ Real prices, clearly separated. Current price, crossed-out price, savings in CZK and %, and the price with a code, each in its own field.
  • 🎛️ The website's own filters and sorting: brand, availability (ready for shipment / in a store), specific stores, labels and any category parameter (screen type, resolution, operating system…). Sorting by price, best sellers or rating is done by the shop, so it's free and fast. Or just paste a URL with filters set on the website.
  • 🏬 Stores and delivery as data: storeCount, stockText ("více než 5 ks") and deliveryDate as an ISO date.
  • 🔢 EAN (optional) for matching products with other shops, and lookups by EAN or product code for your own product list.
  • 🔎 The website's own search: search terms or pasted search URLs, sorted by relevance or price.
  • 🏬 Stock in each PLANEO store (optional): Praha, Brno, Ostrava, Plzeň…, with pieces, address, region and pickup time.
  • 📉 Monitoring mode and price drop alerts. Only new or changed products, with previousPrice, priceChange and priceChangePercent.
  • ⚡ Fast and light. No browser and no proxy needed: one listing page gives 24 products. Optional fast mode about 4× faster for a tiny extra charge.

What data can you get?

FieldExample
Name, brand, product IDSamsung QE55QN72H + Dárek balíček aplikací, Samsung, 35063830
Price incl. / without VAT16 655 CZK, 13 764 CZK
Price before discount, savings16 990 CZK, 335 CZK (2 %)
Discount code, price with codeplaneo10%, 14 990 CZK
Availabilityin_stock (Ihned k odeslání, skladem více než 5 ks)
Stores with stock, delivery date108 stores, 2026-10-14
Rating, ratings5.0, 1
Category pathTV, foto a audio video › Televize › QLED televize
Energy classE
EAN (optional)8806099038533
Parameters (optional)Úhlopříčka v cm: 138 cm, …
Stock per store (optional)PLANEO Benešov: Skladem 2 ks, K vyzvednutí do 15 min
Search term / lookup (searches and lookups)searchQuery: "samsung televize", matchedBy: "ean"

See the Output tab for all fields.

How to scrape Planeo.cz

  1. Open Planeo.cz, go to a category, e.g. https://www.planeo.cz/televize, and paste the URL into Category or product URLs. Product URLs (e.g. https://www.planeo.cz/samsung-qe55qn72h) and search URLs (e.g. https://www.planeo.cz/vyhledavani?q=samsung) work too. Or type Search terms, Product codes or EANs.
  2. Optionally choose Sort by (e.g. Cheapest first), Site filters (brand, availability, stores, parameters) and Filters, and set Max products. Turn on Add EAN and parameters if you need them.
  3. Click Start and download the results as JSON, CSV or Excel, or use the API.

Tip: set filters and sorting on the website and paste the URL, e.g. https://www.planeo.cz/televize?znacka=samsung&sort=PRICE_ASC. The actor keeps them.

Use cases

Daily price monitoring of a category:

{
"startUrls": [{ "url": "https://www.planeo.cz/televize" }],
"maxItems": 0,
"onlyNewOrChanged": true,
"monitoringKey": "tv-daily"
}

Price drop alerts of at least 10 %: add "minPriceDropPercent": 10.

The 10 cheapest Samsung OLED TVs ready for shipment:

{
"startUrls": [{ "url": "https://www.planeo.cz/televize" }],
"sortBy": "cheapest",
"brands": ["Samsung"],
"parameterFilters": { "Typ obrazovky": "OLED" },
"siteAvailability": ["in_stock_online"],
"maxItems": 10
}

Products you can pick up in Brno today: "stores": ["Brno"].

Search, sorted by price:

{
"searchQueries": ["samsung televize"],
"sortBy": "cheapest",
"maxItems": 50
}

Your own product list by EAN or Planeo code (each EAN is confirmed on the product page):

{
"eans": ["8806096685983"],
"productCodes": ["35063830"],
"maxItems": 0
}

Stock in each store for the 10 cheapest OLED TVs: add "includeStoreAvailability": true to a category input.

Daily monitoring with removed products: add "includeRemovedProducts": true next to "onlyNewOrChanged": true.

A big category quickly: add "fastMode": true (see the pricing below).

Discount codes overview: "onlyWithCoupon": true and compare price with couponPrice.

Site filters (applied by the shop)

InputWhat it does
Sort byRecommended, Best sellers, Cheapest first, Most expensive first, Best rated.
BrandsOnly these brands, e.g. Samsung, LG.
AvailableReady for shipment and/or available in a store.
Available in storeSpecific stores, e.g. Brno (all Brno stores), PLANEO Plzeň.
LabelsThe category's "Štítky" filter, e.g. Sleva na další produkt.
Parameter filtersAny parameter of the category's filter: {"Name": "value"} or {"Name": ["value 1", "value 2"]}.

Names are matched without case and diacritics; a unique beginning is enough (operacni → Operační systém). If a name or value doesn't exist in a category, the log lists the available ones, and the category is skipped when nothing in it can match. Numeric ranges (e.g. screen size in inches) are not available as site filters; use Name must contain or the parameter values instead.

Filters (you don't pay for filtered-out products)

InputExample
Only products in stock, Availabilityin stock / store pickup only / on order / pre-order
Only discounted products, Min discount (%)crossed-out price, at least 15 % off
Only products with a discount codecouponCode is set
Min price (CZK), Max price (CZK)10 000 – 30 000
Exclude brands, Name must contain, Name must not containOLED, not držák
Min rating, Min number of reviews, Only products with EAN4.5, 10
Energy classesA, B (from the energy label or the parameters)

Safety limits in Advanced: Max pages per category and Max pages per search (24 products per page).

Search and lookups

Search terms use the website's own search form (at most 10 per run, Max pages per search, 24 products per page; sorting by price is done by the website, other orders give relevance). Product codes (the "ID" on the product page) must match exactly. EANs are confirmed on the product page, so each EAN costs one product page read and the row always has the EAN and parameters. Parameter filters work only with categories; Brands, Available, Available in store and Labels are checked by the actor for search results (with Available in store, the stock per store is read for each product).

Fast mode (small extra charge)

Normal speed: at most 30 requests per minute, 2 at a time. Fast mode: at most 120 per minute, 4 at a time; it switches back to the normal speed for the rest of the run as soon as the website answers "too many requests", "service unavailable", "forbidden", shows a challenge or slows down, and it waits when the website asks it to wait. It never changes IP address to get around a limit.

Monitoring mode explained

With Monitoring: only new or changed products each run compares products with the previous run that used the same Monitoring key. A product is returned as changeType: "new" or "updated" only if it is new or its price, availability, price before discount or price with a code changed. Monitoring: only price changes narrows it to price changes, Monitoring: min price drop (%) to price drops.

Monitoring: include removed products also returns products of the previous run that are no longer listed as changeType: "removed" with removedAt and the last known name, price and URL; when such a product comes back, it is "reappeared". It is checked only after a run that read everything it was asked for (not when Max products, a page limit or unread pages cut it short; the status message then says why). Use one Monitoring key per input.

How much does it cost to scrape Planeo.cz?

You pay per saved product; see the Pricing tab. Platform usage is included and no proxy is needed. Filtered-out and unchanged products (in monitoring mode) are free.

PlanPrice per 1 000 products+ Fast mode (only products saved in fast mode)
FREE$0.95+$0.01
BRONZE$0.93+$0.01
SILVER$0.90+$0.01
GOLD and higher$0.85+$0.01

Product pages, stock per store, searches, lookups and removed-product rows don't change the price per product. The actor makes at most 2 requests at a time and 30 per minute (fast mode: 4 and 120), to keep the load on the shop low. Typical runs:

ScenarioRequestsTime (normal / fast mode)
20 products from a category1a few seconds
1 000 products from a category~42~1.5 min / ~25 s
100 products with EAN and parameters~105~4 min / ~1 min
10 products with stock per store~11~25 s
1 search term, 50 results sorted by price3a few seconds
100 EANs~200~7 min / ~2 min

Input example

{
"startUrls": [{ "url": "https://www.planeo.cz/televize" }],
"maxItems": 100,
"sortBy": "cheapest",
"brands": ["Samsung", "LG"],
"includeDetails": false
}

Output example

{
"id": "planeo:35063830",
"source": "planeo.cz",
"url": "https://www.planeo.cz/samsung-qe55qn72h",
"productId": "35063830",
"ean": "8806099038533",
"name": "Samsung QE55QN72H + Dárek balíček aplikací",
"brand": "Samsung",
"category": "QLED televize",
"categoryPath": ["TV, foto a audio video", "Televize", "QLED televize"],
"price": 16655,
"priceWithoutVat": 13764,
"currency": "CZK",
"priceBeforeDiscount": 16990,
"savings": 335,
"discountPercent": 2,
"isDiscounted": true,
"couponCode": "planeo10%",
"couponPrice": 14990,
"availability": "in_stock",
"availabilityCode": "CENTRAL_WAREHOUSE_AND_STORE",
"availabilityText": "Ihned k odeslání, Skladem více než 5 ks. U Vás do 14.10.",
"stockText": "více než 5 ks",
"storeCount": 108,
"storePickupText": "Odběr do 15 minut",
"deliveryDate": "2026-10-14",
"rating": 5.0,
"reviewCount": 1,
"labels": [],
"shortDescription": "NEO QLED SMART televize, úhlopříčka 55\"/138 cm …",
"imageUrl": "https://mc-static.fast.eu/pics/35/35063830/35063830-onesixty.webp",
"position": 4,
"specifications": null,
"description": null,
"detailScraped": false,
"changeType": null,
"firstSeenAt": null,
"previousPrice": null,
"priceChange": null,
"priceChangePercent": null,
"sourceUrl": "https://www.planeo.cz/televize",
"scrapedAt": "2026-10-13T10:00:00Z",
"promoLabel": null,
"cashbackPrice": null,
"cashbackAmount": null,
"energyClass": "G",
"storeAvailability": null,
"storesInStock": null,
"searchQuery": null,
"matchedBy": null,
"removedAt": null
}

Limitations

  • Search uses the website's search form, which returns the same product tiles as categories. Results are in the website's relevance order (or by price), loosely matching products appear further down, and Max pages per search (default 5) limits each term. Search URLs from the address bar (/vyhledavani?q=…) are read through the same form.
  • Stock per store costs one request per product (none for products sold online only).
  • Cashback: Planeo.cz mostly writes cashback only in the product name ("+ Cashback 3 000 Kč"); cashbackPrice and cashbackAmount are filled only when the website shows a cashback price box.
  • EAN and parameters are on the product page only: turn on Add EAN and parameters (one extra request per product). For product URLs given as input they are always included.
  • Price before discount is the crossed-out price shown by the shop. The shop doesn't state a 30-day lowest price, so the actor doesn't return one.
  • Member prices (Planeo+) require login and are not returned.
  • Availability: products the shop marks as out of stock but orderable ("Zboží na objednávku") are returned as on_order.
  • Labels: the Labels input uses the names of the category's "Štítky" filter; the output field labels contains the badges shown on the product tile (e.g. "Kup spolu"), which can differ.
  • Brands: the shop lists only the most common brands in its filter. For other brands the actor filters the products itself, which reads more pages.
  • Descriptions: only an excerpt (Add a short description excerpt, ~200 characters by default, up to 1 000 with Description length). Images are returned as URLs; product photos and texts are copyrighted, so check the rights before you republish them.
  • If the site rejects a request, a rejected page is asked once more after 30 seconds from the same IP address and session (never from another IP), which recovers short-lived rejections. If it rejects a few requests in a row even so, the run stops and says so. Products whose page couldn't be read are returned with the listing data (detailScraped: false).

For AI agents and API users

  • Minimal input: {"startUrls": [{"url": "https://www.planeo.cz/televize"}], "maxItems": 20}.
  • Other sources: searchQueries (up to 10), productCodes and eans (up to 500 together); rows from lookups have matchedBy (productCode or ean) and searchQuery.
  • Options: includeStoreAvailability (storeAvailability, storesInStock), includeRemovedProducts (with onlyNewOrChanged), fastMode (+$0.01 per 1 000 products saved at the fast speed).
  • One row = one product = one charge. includeDetails: true adds 1 request per product, same price per product.
  • 24 products per listing page. maxItems counts saved products, maxItemsPerStartUrl limits each URL.
  • Prices are in CZK. availability is one of in_stock, in_store_only, on_order, preorder, out_of_stock, unknown.
  • Monitoring state is kept per monitoringKey between runs of the same user.

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("<username>/planeo-scraper").call(run_input={
"startUrls": [{"url": "https://www.planeo.cz/televize"}],
"sortBy": "cheapest",
"maxItems": 100,
})
for product in client.dataset(run["defaultDatasetId"]).iterate_items():
print(product["name"], product["price"], product["couponPrice"])

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('<username>/planeo-scraper').call({
startUrls: [{ url: 'https://www.planeo.cz/televize' }], maxItems: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.map((p) => `${p.name}: ${p.price} CZK`));

You can also connect the actor to Make, Zapier, n8n, Google Sheets, Slack or webhooks and schedule it in Apify Console.

Troubleshooting

Status messageWhat to do
Skipping unsupported URLUse a Planeo.cz category, product or search URL (cart and account pages are not supported).
not found: …The product code or EAN is not on Planeo.cz (or the search found a product with another EAN).
the search is turned offSearch and lookups are temporarily off; use category or product URLs.
Fast mode switched to the normal speed: …The website showed signs of load; the run continues at the normal speed without the fast-mode charge.
removed products were not checked …The run didn't read everything (see the reason); removed products are checked in the next complete run.
unknown brand / store / value … (log)Use one of the names listed in the log for that category.
… skipped because the site filters match nothing thereNo product in that category has the requested value.
… could not be loadedThe category or product doesn't exist anymore; open the URL in your browser.
Planeo.cz is rejecting requestsTry again later.
… listing pages could not be read, so the results may be incompleteThe site didn't answer some pages; run it again later for complete results.
Saved 0 products (new or changed since last run)Nothing changed since the previous monitoring run; that's expected.

More Czech & Slovak e-shop scrapers

Compare prices across Czech and Slovak shops with the same output format (EAN for matching, monitoring mode):

FAQ

The actor collects only publicly available product data (prices, availability, codes, parameters) and no personal data: no reviews or contacts. It does not log in, makes at most 30 requests per minute (120 in the optional fast mode, which slows down at the first sign of load) and never solves captchas or other challenges. The site's robots.txt asks crawlers not to use its filter and sorting parameters; the actor uses them (gently) when you set site filters or sorting. How you use the data is your responsibility. Use it for price monitoring and analysis, and don't republish the catalogue, texts or photos. If unsure, consult a lawyer.

Can I look up products by EAN?

Yes. Put the EANs into EANs (or Planeo codes into Product codes). The actor uses the website's search and confirms each EAN on the product page; EANs that aren't on Planeo.cz are listed in the status message.

What does fast mode cost?

$0.01 per 1 000 products, only for products saved while the fast speed was on. If the website shows any sign of load, the run switches back to the normal speed and stops charging it.

Do I need a proxy?

No. Planeo.cz works without a proxy, including from Apify's servers. You can still use Apify Proxy or your own proxies if you prefer.

Can I use it through the API?

Yes. See the Python and JavaScript examples above, or the API tab.

Something doesn't work

Open an issue in the Issues tab and include the input you used.

This is an unofficial tool, not affiliated with or endorsed by FAST ČR, a.s. (PLANEO), the operator of Planeo.cz. It is also known as a Planeo API, Planeo price tracker or "hlídač cen Planeo".