Planeo.cz Scraper: Prices, Discount Codes & EAN
Pricing
from $0.85 / 1,000 products
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
Maintained by CommunityActor 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;
energyClassis 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;promoLabeland 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
couponCodeandcouponPrice, 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") anddeliveryDateas 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,priceChangeandpriceChangePercent. - ⚡ 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?
| Field | Example |
|---|---|
| Name, brand, product ID | Samsung QE55QN72H + Dárek balíček aplikací, Samsung, 35063830 |
| Price incl. / without VAT | 16 655 CZK, 13 764 CZK |
| Price before discount, savings | 16 990 CZK, 335 CZK (2 %) |
| Discount code, price with code | planeo10%, 14 990 CZK |
| Availability | in_stock (Ihned k odeslání, skladem více než 5 ks) |
| Stores with stock, delivery date | 108 stores, 2026-10-14 |
| Rating, ratings | 5.0, 1 |
| Category path | TV, foto a audio video › Televize › QLED televize |
| Energy class | E |
| 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
- 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. - 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.
- 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)
| Input | What it does |
|---|---|
| Sort by | Recommended, Best sellers, Cheapest first, Most expensive first, Best rated. |
| Brands | Only these brands, e.g. Samsung, LG. |
| Available | Ready for shipment and/or available in a store. |
| Available in store | Specific stores, e.g. Brno (all Brno stores), PLANEO Plzeň. |
| Labels | The category's "Štítky" filter, e.g. Sleva na další produkt. |
| Parameter filters | Any 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)
| Input | Example |
|---|---|
| Only products in stock, Availability | in 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 code | couponCode is set |
| Min price (CZK), Max price (CZK) | 10 000 – 30 000 |
| Exclude brands, Name must contain, Name must not contain | OLED, not držák |
| Min rating, Min number of reviews, Only products with EAN | 4.5, 10 |
| Energy classes | A, 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.
| Plan | Price 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:
| Scenario | Requests | Time (normal / fast mode) |
|---|---|---|
| 20 products from a category | 1 | a 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 price | 3 | a 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č");
cashbackPriceandcashbackAmountare 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
labelscontains 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),productCodesandeans(up to 500 together); rows from lookups havematchedBy(productCodeorean) andsearchQuery. - Options:
includeStoreAvailability(storeAvailability,storesInStock),includeRemovedProducts(withonlyNewOrChanged),fastMode(+$0.01 per 1 000 products saved at the fast speed). - One row = one product = one charge.
includeDetails: trueadds 1 request per product, same price per product. - 24 products per listing page.
maxItemscounts saved products,maxItemsPerStartUrllimits each URL. - Prices are in CZK.
availabilityis one ofin_stock,in_store_only,on_order,preorder,out_of_stock,unknown. - Monitoring state is kept per
monitoringKeybetween runs of the same user.
Python
from apify_client import ApifyClientclient = 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 message | What to do |
|---|---|
Skipping unsupported URL | Use 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 off | Search 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 there | No product in that category has the requested value. |
… could not be loaded | The category or product doesn't exist anymore; open the URL in your browser. |
Planeo.cz is rejecting requests | Try again later. |
… listing pages could not be read, so the results may be incomplete | The 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):
- Datart.cz Scraper: electronics: prices, 30-day low, EAN, store availability
- TSBOHEMIA.CZ Scraper: IT & electronics: prices, discount codes, EAN, site filters
- Smarty.cz Scraper: electronics: prices, coupons, cashback, EAN, price history, store stock
- BAUHAUS.cz Scraper: DIY & garden: prices, unit prices, stock in 9 stores, variants, EAN
- Mironet.cz Scraper: electronics: prices, store stock, delivery date, MPN, warranty, price history
- Alza Scraper (CZ, SK, HU, AT, DE): electronics: prices, coupons, ratings, reviews, pickup points, MPN
- NAY.sk Scraper (Slovakia): electronics: prices in EUR, discount codes, stock in 54 stores, EAN
- BAUHAUS.sk Scraper (Slovakia): DIY & garden: EUR prices, Bratislava store stock, variants, EAN
- Planeo.sk Scraper (Slovakia): electronics & appliances: EUR prices, discount codes, cashback, stock in 69 stores, EAN
- TSBOHEMIA.SK Scraper (Slovakia): IT & electronics: EUR prices, discount codes, EAN, lookups
- Smarty.sk Scraper (Slovakia): electronics: EUR prices, coupons, cashback, stock in Slovak stores, EAN
FAQ
Is it legal to scrape Planeo.cz?
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".