Datart.cz Scraper: Prices, EAN & Price Monitoring avatar

Datart.cz Scraper: Prices, EAN & Price Monitoring

Pricing

from $0.85 / 1,000 products

Go to Apify Store
Datart.cz Scraper: Prices, EAN & Price Monitoring

Datart.cz Scraper: Prices, EAN & Price Monitoring

Scrape Datart.cz (Czech electronics e-shop) by category (with the website's filters), search, product code or EAN: price, real discount vs. 30-day low, discount codes, stock per store, EAN and specifications. Monitoring returns only changed or removed products. 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 Datart.cz, one of the largest electronics e-shops in the Czech Republic. Use a category URL (also with the website's own filters and sorting), a category overview, product URLs, a search term, or your own list of Datart product codes or EANs. For each product you get the name, brand, current price, lowest price in the last 30 days and the real discount, availability online and in stores, delivery date, rating, labels and the bazaar condition. Optionally you also get the EAN (barcode), full technical specifications, the discount code and the price with it ("Cena s kódem"), the promotion end, energy class, warranty, description and documents, and the stock in each Datart store with the home delivery options.

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: the website's filters, lookups, store stock, removed products and fast mode. All of it is optional; without the new inputs a run returns exactly what it did before (new fields are added at the end of each row, empty when not used).
    • Website filters and sorting: paste a URL with filters set on Datart.cz (…/filter/…), or use Sort by, Condition, Bazaar state, In stock in these stores and Parameter filters (any parameter of the filter panel). Datart.cz applies them itself, so pages contain only matching products.
    • Category overviews such as https://www.datart.cz/tv-audio-video: their categories are read one after another.
    • Product codes and EANs: look up your own product list (matchedBy); each EAN is confirmed on the product page.
    • More from the product page: discount code and the price with it, promotion label and end, energy class, warranty, description and documents (energy label sheet, manuals); filters Only with EAN, Energy classes, Min warranty (months) and Only with a discount code.
    • Stock per store: every Datart store with pieces and pickup time, plus home delivery options with dates and prices.
    • Monitoring: include removed products: products that disappeared since the previous run (changeType: "removed") and the ones that came back ("reappeared").
    • Fast mode for a small extra charge ($0.01 per 1 000 products): about 2x faster, back to the normal speed as soon as the website pushes back.
    • Lighter next pages: the next listing pages come as the small JSON answer the website's own "next page" button gets (about 4x less data, the same products).
  • October 2026: NAY.sk Scraper. Datart's Slovak sister shop (NAY) has its own scraper with the same output, EUR prices, stock in 54 stores and EAN/code lookups: NAY.sk Scraper.
  • Correct decimal prices and large counts: prices with cents ("299,90") and product counts with a thousands space ("1 218") are read correctly.
  • Steadier long runs: memory stays flat on runs with thousands of products (proxy connections are now closed when idle).
  • 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.

Why use this Datart scraper?

  • 🏷️ Real discounts, not marketing. isDiscounted and discountPercent compare the price with the lowest price of the last 30 days, the way EU law (Omnibus) requires shops to show discounts.
  • 🔢 EAN for every product (optional). Match Datart products with other shops or your own catalogue.
  • 📉 Monitoring mode and price drop alerts. Only new or changed products, with previousPrice, priceChange and priceChangePercent. You can also ask for drops of at least X %.
  • 🏬 Store availability as numbers. storeCount (stores with stock) and deliveryDate as an ISO date, not just text.
  • 🎛️ The website's own filters and sorting. Any parameter of the filter panel (display technology, screen size… also ranges), condition (new or bazaar) and bazaar state, in stock in a given store, brands, price range and stock, applied by Datart.cz itself. Or just paste a URL with filters set on the website.
  • 🏬 Stock in each Datart store (Praha, Brno, Ostrava…): pieces, unpacked pieces, pickup time, and the home delivery options with dates and prices.
  • 🔢 Your own product list: Datart product codes or EANs, found with the website's search; the product page confirms each EAN.
  • 🧮 Filters you don't pay for. In stock, discounted, price range, brands, name keywords, rating, labels, energy class, warranty, discount code.
  • ⚡ Fast and light. No browser: one category page gives 22 products, and the next pages come as a small JSON answer. Optional fast mode about 2x faster for a tiny extra charge. Works out of the box with the default proxy setting.

What data can you get?

FieldExample
Name, brand, product codeTelevize TCL 98P8K, TCL, TCL98P8K
Price, lowest price in 30 days36 490 CZK, 39 990 CZK
Discounted, discounttrue, 8 %
Availabilityin_stock (Ihned k odeslání)
Stores with stock1 (Skladem v 1 prodejně)
Delivery date2026-10-10
Rating, reviews4.9, 298
Category pathTV, foto, audio, video › Televize
LabelsPRODLOUŽENÁ ZÁRUKA, + dárek
Condition, bazaar price fromnew / likeNew (zánovní), 24 990 CZK
EAN (optional)5901292525859
Specifications (optional)Technologie displeje: LED, …
Price with code, code, promotion end (optional)25 066 CZK, 2269DATN15H, 2026-10-30
Energy class, warranty, documents, description (optional)F, 24 months, energy label sheet and manual (PDF)
Stock per store, delivery options (optional)Praha 1 - Národní třída: 2 pieces, pickup 2026-10-20 09:30; Balíkovna na adresu: free, tomorrow
Search term or code that found itsearchQuery, matchedBy

See the Output tab for all fields.

How to scrape Datart.cz

  1. Category: open Datart.cz, go to a category, e.g. https://www.datart.cz/televize.html, and paste the URL into Category, product or search URLs. Category overviews (https://www.datart.cz/tv-audio-video) and product URLs work too.
  2. Or search: type what you're looking for into Search, e.g. lg oled or pračka bosch. Results come in the shop's relevance order. Or look up your own list in Product codes or EANs. You can combine all of these in one run.
  3. Set Max products (and optionally Max products per search or URL), turn on Add EAN and specifications or Add stock per store if you need them, and add filters.
  4. 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.datart.cz/televize.html/filter/v:-4:-835/o:3 (Samsung, cheapest first). The actor keeps them.

Use cases

Daily price monitoring of a category. Schedule it every morning:

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

Discount alerts: products that got at least 10 % cheaper since the last run.

{
"startUrls": [{ "url": "https://www.datart.cz/pracky.html" }],
"onlyNewOrChanged": true,
"minPriceDropPercent": 10
}

Current deals in a category: discounted products with at least 15 % off the 30-day low.

{
"startUrls": [{ "url": "https://www.datart.cz/notebooky.html" }],
"onlyDiscounted": true,
"minDiscountPercent": 15
}

Cheapest Samsung OLED TVs in stock, filtered by Datart.cz itself:

{
"startUrls": [{ "url": "https://www.datart.cz/televize.html" }],
"brands": ["Samsung"],
"parameterFilters": { "Technologie displeje": ["OLED"] },
"onlyInStock": true,
"sortBy": "cheapest",
"maxItems": 50
}

Price check of your own product list by EAN (each EAN is confirmed on the product page):

{
"eans": ["8806096768006", "8806096705766"],
"productCodes": ["LGG43QNED87B"]
}

Bazaar bargains: like new and unpacked products with the price of the new one:

{
"startUrls": [{ "url": "https://www.datart.cz/televize.html" }],
"productCondition": "bazaar",
"bazaarStates": ["likeNew", "unpacked"],
"maxItems": 100
}

Where to buy today: stock in Prague stores with discount codes:

{
"startUrls": [{ "url": "https://www.datart.cz/mobilni-telefony.html" }],
"availableInStores": ["Praha"],
"includeDetails": true,
"includeStoreAvailability": true,
"maxItems": 50
}

Assortment tracking: new, changed, removed and returning products of a category:

{
"startUrls": [{ "url": "https://www.datart.cz/tv-audio-video" }],
"maxItems": 0,
"onlyNewOrChanged": true,
"includeRemovedProducts": true,
"monitoringKey": "tv-audio-assortment"
}

Find products and their EAN by name:

{
"searchQueries": ["lg oled 55", "samsung qled 65"],
"maxItemsPerStartUrl": 10,
"includeDetails": true
}

Website filters (applied by the shop)

Sort by, Condition, Bazaar state, In stock in these stores and Parameter filters are taken from the filter panel of each listing, so Datart.cz sends only matching products. With any of them (or with Apply brand, price and stock filters on the website), Only these brands, Exclude brands, Min/Max price and Only products in stock go to the website too. Names that a listing doesn't have are reported in the log together with the options it has. The actor checks the products again. Without these inputs, the filters below work exactly as before, on every listing page.

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

FilterExample
Only products in stockonly products that ship now
Only discounted products, Min discount (%)price below the 30-day low, at least 15 % off
Min price (CZK), Max price (CZK)10 000 – 30 000
Only these brands, Exclude brandsLG, Samsung / Hisense
Name must contain, Name must not containOLED / rozbaleno
Min rating, Min number of reviews4.5, 10
Only with labelsdoprava zdarma
Exclude second-hand and opened productsskip "bazar" products
Only with EAN, Energy classes, Min warranty (months), Only with a discount codeneed the product page, so they turn on Add EAN and specifications; places freed by filtered-out products are filled with the next products

Product codes and EANs

Product codes (the end of the id field, e.g. LGGOLED55B65) and EANs are looked up with the website's search, one at a time with a short pause (up to 500 per run). A code must match exactly. An EAN is confirmed on the product page, so each EAN costs one product page read and the row always has the details. Codes that aren't found are listed in the status message.

Fast mode (small extra charge)

Normal speed: up to 120 requests per minute, 3 at a time (the speed the actor always had). Fast mode: up to 240 per minute, 6 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. It waits when the website asks it to wait and never changes the IP address to get around a limit.

Safety limits in Advanced: Max pages per category (22 products per page) and Max pages per search. Description length limits the description. Proxy configuration defaults to Apify residential proxy in the Czech Republic (see the FAQ).

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, 30-day lowest price or discount status changed. New reviews, labels or delivery estimates don't count as a change. Monitoring: only price changes narrows it to price changes. Monitoring: min price drop (%) returns only price drops. For monitoring, use category URLs rather than search terms: categories have no search limits and give stable results.

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". Removed products are checked only after a run that read everything it was asked for (not when Max products, Max products per search or URL, 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 Datart.cz?

You pay per saved product. Platform usage and the residential proxy are included. Filtered-out and unchanged products (in monitoring mode) are free.

PlanPer 1 000 products+ with the product page (details, lookups)+ Fast mode
FREE$0.95+$0.95+$0.01
BRONZE$0.93+$0.93+$0.01
SILVER$0.90+$0.90+$0.01
GOLD and higher$0.85+$0.85+$0.01

A product saved with its product page (Add product page details, lookups by code or EAN) costs a little more, because the page goes through the residential proxy. Stock per store and removed-product rows don't change the price. See the Pricing tab for the current prices.

Typical runs:

ScenarioRequests to Datart.czTypical time (normal / fast mode)
100 products from a category5 listing pagesa few seconds
1 000 products from categories~46 listing pagesunder a minute
100 products with EAN and specifications5 listing pages + 100 product pages~1 minute / ~30 s
100 products with details and stock per store5 listing pages + 200~2 minutes / ~1 minute
100 EANs~200 (search + product page each)~6 minutes (lookups run one at a time)
5 search terms, 2 pages each10 search pages~1 minute (searches are deliberately paced)

Input example

{
"searchQueries": ["lg oled"],
"startUrls": [{ "url": "https://www.datart.cz/televize.html" }],
"maxItems": 100,
"includeDetails": false,
"onlyInStock": false,
"onlyNewOrChanged": false
}

Output example

Real output (specifications and the specification summary shortened):

{
"id": "datart:TCL98P8K",
"source": "datart.cz",
"url": "https://www.datart.cz/televize-tcl-98p8k",
"productCode": "TCL98P8K",
"internalId": "1908197",
"name": "Televize TCL 98P8K",
"brand": "TCL",
"category": "Televize",
"categoryPath": [
"TV, foto, audio, video",
"Televize"
],
"price": 36490.0,
"currency": "CZK",
"lowestPrice30Days": 39990.0,
"isDiscounted": true,
"isRefurbished": false,
"newProductPrice": null,
"discountPercent": 8.0,
"availability": "in_stock",
"availabilityText": "Ihned k odeslání",
"storeAvailabilityText": "Skladem v 1 prodejně",
"storeCount": 1,
"deliveryText": "u vás již 10. 10. 2026",
"deliveryDate": "2026-10-10",
"rating": null,
"reviewCount": null,
"labels": [
"+ dárek"
],
"specSummary": "248 cm (98\") úhlopříčka • rozlišení: 4K Ultra HD • DVB-C, DVB-S2, DVB-T2 (H.265) • QLED • …",
"imageUrl": "https://image.datart.cz/foto/500/3/5/5/product_7264553.jpg",
"ean": "5901292525859",
"specifications": {
"Technologie displeje": "LED",
"Úhlopříčka obrazovky": "248 cm (98\")",
"Rozlišení displeje": "4K Ultra HD"
},
"detailScraped": true,
"sourceUrl": "https://www.datart.cz/televize.html",
"scrapedAt": "2026-10-09T12:41:58Z",
"position": 7,
"changeType": null,
"firstSeenAt": null,
"previousPrice": null,
"priceChange": null,
"priceChangePercent": null
}

Limitations

  • Search reads at most 10 search terms per run and Max pages per search pages per term (24 products per page; default 2, at most 10). Searches run one after another with a short pause. For large or scheduled runs, use category URLs. Product codes and EANs use the search too, one at a time; if the site rejects the search, searches and lookups stop for the rest of the run.
  • Website filters need the filter panel of the listing's first page, so a filtered listing costs one extra page. A filter value that a listing doesn't offer is reported in the log (with the options it has) and checked by the actor instead.
  • A search for a brand only (e.g. samsung) leads to the brand's page, which has no product list. The actor tells you so; use a more specific term (samsung televize) or a category URL. A search that leads straight to a category (e.g. televize) continues with that category, limited by Max pages per search.
  • Search results have no category in the listing; turn on Add EAN and specifications to get it from the product page.
  • Reviews: only the average rating and the number of reviews, never review texts or reviewer names.
  • Images are returned as URLs only. Product photos are copyrighted, so check the rights before you republish them.
  • Second-hand and opened products ("bazar") show the price of a new product instead of the 30-day low: you get it as newProductPrice (lowestPrice30Days is null, isRefurbished is true).
  • deliveryDate is the estimated delivery date, or for products on order the expected restocking date ("očekáváme …").
  • 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: {"searchQueries": ["lg oled"], "maxItems": 20}, {"startUrls": [{"url": "https://www.datart.cz/televize.html"}], "maxItems": 20} or {"eans": ["8806096768006"]}.
  • One row = one product = one charge (+ the fast-mode event when fast mode is on). includeDetails: true adds 1 request per product (EAN, specifications, discount code, documents…), includeStoreAvailability: true another one; same price per product.
  • New fields are added after the original ones; a row always has every field (null or an empty list when not read).
  • Listing pages: 22 products (category), 24 (search). maxItems counts saved products, maxItemsPerStartUrl limits each search term or URL.
  • Prices are in CZK including VAT. availability is one of in_stock (ships now), in_store_only (not shippable, but some stores have it), 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>/datart-scraper").call(run_input={
"startUrls": [{"url": "https://www.datart.cz/televize.html"}],
"maxItems": 100,
})
for product in client.dataset(run["defaultDatasetId"]).iterate_items():
print(product["name"], product["price"], product["discountPercent"])

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('<username>/datart-scraper').call({ searchQueries: ['lg oled'], 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 Datart.cz category, category overview, product or search URL (filters and sorting set on the website are fine).
unknown … (options here: …)A website filter name or value that this listing doesn't have; pick one of the listed options.
not found: …The product code or EAN isn't on Datart.cz (codes must match exactly).
fast mode: N products, then the normal speed because …The website asked to slow down; the rest of the run used the normal speed (no fast-mode charge).
removed products were not checked because …The run didn't read everything (e.g. Max products was reached); raise the limits for monitoring runs.
… could not be loadedThe category or product doesn't exist anymore; open the URL in your browser.
… leads to the brand page …Use a more specific search term or a category URL.
Datart.cz is rejecting requests right nowTry again later.
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, stock per store, parameters, documents) and no personal data. It does not log in and never solves captchas or other challenges. Note that the site's robots.txt asks crawlers not to use its search pages; the Search field does use them (slowly and with limits), while category and product URLs don't. How you use the data is your responsibility. Use it for price monitoring and analysis, and don't republish the catalogue or photos. If unsure, consult a lawyer.

Do I need a proxy?

It's already set up. Datart.cz rejects requests from data-center IP addresses (including Apify's own servers), so the default Proxy configuration is Apify Proxy with residential IPs in the Czech Republic. The proxy is included in the price per product. Keep the default unless you have your own Czech proxies.

What does fast mode cost and when should I use it?

$0.01 per 1 000 products on top of the normal price, only for products saved at the fast speed. Use it for large categories, product page details, stock per store and long EAN lists, when the time matters. Without it the actor works as it always did.

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 HP TRONIC Zlín, spol. s r.o., the operator of Datart.cz. It is also known as a Datart API, Datart price tracker or "hlídač cen Datart".