iSTYLE.cz Scraper ($1.75/1K): Apple Prices, EAN & Stock
Pricing
from $1.65 / 1,000 products
iSTYLE.cz Scraper ($1.75/1K): Apple Prices, EAN & Stock
Scrape iSTYLE.cz (Apple Premium Reseller, Czech Republic) by collection, search, EAN, part number or product URL: price, discount, stock, EAN, Apple part number, open-box and refurbished offers. Filters, monitoring. Unofficial.
Pricing
from $1.65 / 1,000 products
Rating
0.0
(0)
Developer
Tsutsei Software
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
Features
Share
iSTYLE.cz Scraper: Apple Prices, Stock, EAN & Part Numbers
The only iSTYLE.cz scraper in Apify Store. Scrape Apple prices from iSTYLE.cz, an Apple Premium Reseller in the Czech Republic (iPhone, Mac, iPad, Apple Watch, AirPods and about 2 500 accessories from Epico, Spigen, Peak Design, JBL and others), from a collection, the whole catalogue, search terms, product URLs, or your own list of EANs or Apple part numbers (MPNs). Built for price monitoring and price comparison: one row per colour and capacity, part numbers on every Apple product, and a monitoring mode that returns (and charges) only products whose price or availability changed. To compare one product across 9 Czech shops in one run, see the Czech E-shop Price Comparison.
Česky: Scraper a hlídač cen pro iSTYLE.cz (Apple Premium Reseller): cena, sleva, skladem, EAN, partnumber Apple, rozbalené a renovované kusy. Kolekce, celý katalog, vyhledávání, EAN, partnumber, filtry a monitoring změn cen. Výstup do Excelu, CSV nebo JSON. Podporu poskytujeme i česky.
Why use this iSTYLE.cz scraper?
- 🍏 Apple part numbers on every Apple product (
MJRR4SX/A, configure-to-orderZ1LA000CD), without the shop's open-box prefixes, so you can match iSTYLE with Alza, Datart, Mironet and other shops. EAN on request or by lookup. - 🏷️ Prices as the shop shows them: current price incl. VAT in whole crowns, the crossed-out price and the discount in their own fields, from $1.75 per 1 000 products, residential proxy included.
- ♻️ Open-box ("otevřený") and refurbished ("renovovaný") offers flagged in
conditionandisUsedOrOpenBox, with their own filters: only new, or only the cheaper second-hand offers. - 🧩 Specifications from the name: storage, memory, chip, CPU and GPU cores, keyboard layout and display size of Macs; storage and colour of iPhones and iPads; case size, band size and connectivity of Apple Watch.
- 📉 Monitoring and price alerts to Slack, Discord, Telegram or a webhook: only new or changed products, with
previousPrice,priceChangeandpriceChangePercent; removed and reappeared products on request. - ⚡ Fast and reliable: the whole catalogue (about 5 500 products) in about 80 seconds, no browser; with the default settings every run in our tests completed.
What data can you get?
Share of products with a value, measured on the whole catalogue (5 499 products) on 2026-11-09.
| Field | Example | Filled |
|---|---|---|
| Name, brand, SKU, category (product type) | Apple iPhone 18 Pro 256 GB burgundská červená, Apple, MJRR4SX/A, iPhone 18 Pro | 100 % |
| Price, currency | 34 990 CZK | 100 % |
| Crossed-out price, discount | 32 990 → 28 990 CZK, 12 % | discounted products (~21 % in November) |
| Availability, text | in_stock, "Skladem" | 100 % (~93 % in stock) |
| MPN (part number) | MJRR4SX/A | 100 % of Apple products except configure-to-order Macs with the shop's own code (CTO-…); ~40 % of accessories |
| Condition | new, open_box, refurbished | 100 % (~2 % open-box or refurbished) |
| Colour, capacity | burgundská červená, 256 GB | iPhones, iPads and Macs ~100 %; colour of ~70 % of all products |
| Specifications | {"storage": "2 TB", "memory": "48 GB", "chip": "M5 Pro", "cpuCores": 18, …} | devices (from the name) |
| Description | short plain text (up to 500 characters); the whole description as text, HTML or Markdown with Description | ~85 % |
| Updated | 2026-11-09T14:27:47+01:00 (when the shop last changed the product) | products from lists and searches |
| Image, tags, published date | image URL, ["BASE-PRODUCT", "NPI"] | ~100 % |
| EAN (Add EAN, lookups, product URLs) | 195951415680 | every product read with these options |
See the Output tab for all fields.
How to scrape iSTYLE.cz
- Paste an iSTYLE.cz collection URL, e.g.
https://istyle.cz/collections/apl-ps-iphone-17-pro, into Collection, search or product URLs.https://istyle.cz/collections/allis the whole catalogue,https://istyle.cz/collections/rozbaleny-iphonethe open-box iPhones. Product URLs and search URLs work too. Or type Search terms, or paste EANs or MPNs. - Optionally set the Filters and Max products. Turn on Add EAN (barcode) if you need the EAN of listed products.
- Retry rejected requests from a new IP address is on by default, so runs finish reliably ($0.003 per new address used, see below). You can turn it off.
- Click Start and download the results as JSON, CSV or Excel, or use the API.
Tip: the shop's menu leads to landing pages (/pages/iphone), which are not product lists. Use a collection URL or a search term instead, e.g. Search terms ["iphone 17 pro"].
Use cases
Copy an input into the JSON tab of the input and adjust it.
Track iPhone 17 Pro prices daily, only changes (schedule it):
{"startUrls": [{ "url": "https://istyle.cz/collections/apl-ps-iphone-17-pro" }],"maxItems": 0,"onlyNewOrChanged": true,"includeRemovedProducts": true,"monitoringKey": "iphone-17-pro"}
Compare prices with other shops by Apple part number:
{"mpns": ["MJRR4SX/A", "MG8G4ZD/A", "MFHP4ZM/A"],"excludeUsedOrOpenBox": true}
Open-box and refurbished bargains with at least 10 % off:
{"startUrls": [{ "url": "https://istyle.cz/collections/all" }],"onlyUsedOrOpenBox": true,"minDiscountPercent": 10,"onlyInStock": true,"maxItems": 0}
Apple discounts of 5 % or more straight to Telegram (schedule it daily):
{"startUrls": [{ "url": "https://istyle.cz/collections/all" }],"brands": ["Apple"],"maxItems": 0,"onlyNewOrChanged": true,"minPriceDropPercent": 5,"monitoringKey": "apple-drops","telegramBotToken": "<YOUR_BOT_TOKEN>","telegramChatId": "-1001234567890"}
Your assortment by EAN:
{"eans": ["195951415680", "195950051216"]}
MacBook Air 13" M5 under 35 000 CZK, new only:
{"searchQueries": ["macbook air 13 m5"],"maxPrice": 35000,"excludeUsedOrOpenBox": true,"maxItems": 50}
The whole catalogue with EANs (slow, about 50 minutes per 1 000 products):
{"startUrls": [{ "url": "https://istyle.cz/collections/all" }],"includeDetails": true,"maxItems": 0}
The shop's verification page and "Retry from a new IP address"
iSTYLE.cz sometimes answers with a verification page instead of data, even to the Czech residential proxy that is set by default and included in the price. Retry rejected requests from a new IP address handles this:
- On (default): a rejected request is repeated from a new proxy address, $0.003 per new address used, nothing when the shop answers normally; it never solves the verification and keeps the same pace. With it on, every run in our tests completed. A short run usually costs $0–0.003 extra, the whole catalogue or a search $0.003–0.015; the most we measured was $0.054. Your maximum cost per run is respected: when it does not allow another new address, the run goes on as with the option off, and the status message says so.
- Off: a few cents cheaper, but the run may stop early (about 1 run in 5 in our tests failed or returned only a part, which also breaks scheduled runs). The log and the status message say so from the start of the run.
- It needs a proxy (the default one is fine); without Apify Proxy or your own proxies the option switches itself off and the log says so.
Search terms
Search terms search the whole catalogue (name, type, brand or SKU, accents ignored, about a minute for any number of terms); devices come first, then accessories, new products before open-box ones. Use Name must not contain (e.g. kryt) to drop accessories. Max catalogue pages for searches can limit the search to the newest products.
EANs and MPNs
Each EAN or part number returns only an exact match, with the EAN. When a new and an open-box offer share the EAN, the new one is returned (with Only new the open-box offers are never returned). A part number with another region suffix (MJRR4CZ/A) or the model alone (MJRR4) finds the same model.
Filters (you don't pay for filtered-out products)
Only in stock, Only discounted, Min discount (%), Min/Max price (CZK), Brands, Exclude brands, Name must (not) contain, Categories (product types) (e.g. "MacBook", "iPhone 17 Pro"), Added in the last N days (the shop's new products), Tags (the shop's tags, e.g. "NPI"), Updated since (a date or "24 hours", "7 days": products the shop changed), Only new (no open-box or refurbished) and Only open-box or refurbished are free: you don't pay for filtered-out products.
Description
Description chooses how the product description is saved: a short plain text (up to 500 characters, the default), the whole description as plain text, as clean HTML, or as Markdown (headings, paragraphs, lists and bold kept; scripts, images and styles dropped). No format costs more or slows the run.
Notifications (price alerts)
Fill in at least one channel and after each run the actor sends the saved products there: name, price, the price change (was 14 990 CZK, -13.3 %), availability and link, at most Notifications: max products per message (10 by default), then "…and N more". With Monitoring: only new or changed products (and Monitoring: min price drop (%), include removed products) that is a ready price-drop, new-product or delisting alert: schedule the run and only the changes arrive; a run that saved nothing sends nothing. The webhook addresses are stored encrypted and never logged.
| Input | What to paste |
|---|---|
| Notifications: Slack webhook URL | an incoming webhook of your channel (https://hooks.slack.com/services/…) |
| Notifications: Discord webhook URL | a channel webhook (https://discord.com/api/webhooks/…) |
| Notifications: Telegram bot token + Telegram chat ID | the token from @BotFather and the chat, group or channel ID |
| Notifications: webhook URL | any HTTPS URL (Zapier, Make, n8n, your server): a POST with JSON {title, summary, totalSaved, runUrl, datasetUrl, items} |
A delivered notification costs $0.001 per run (not per channel). Nothing is charged when no channel is filled in, when the run saved nothing or failed, or when no channel accepted the message; a channel that fails never fails the run.
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, crossed-out price or availability changed. previousPrice, priceChange and priceChangePercent are filled when the price 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"withremovedAtand 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 (not when Max products or a page limit cut it short; the status message then says why). Use one Monitoring key per input.
How much does it cost to scrape iSTYLE.cz?
You pay per saved product, plus small flat fees for what the run reads. Platform usage and the residential proxy are included. Filtered-out and unchanged products (in monitoring mode) are free.
| Plan | Price per 1 000 products |
|---|---|
| FREE | $1.75 |
| BRONZE | $1.73 |
| SILVER | $1.70 |
| GOLD and higher | $1.65 |
| Flat fee (the same on every plan) | Price | When |
|---|---|---|
| Run start | $0.01 | once per run |
List page (list-page) | $0.0025 | each list page of a collection, the catalogue or a search that the shop answered (up to 250 products), so $0.01 per 1 000 products read, whether they are saved, filtered out or unchanged. A search term costs about $0.06 in list pages |
Lookup without a saved product (empty-lookup) | $0.001 | an EAN, MPN or product URL that gave no row: not found, filtered out, already saved or unchanged in monitoring mode |
Notification (notification) | $0.001 | only with a notification channel filled in: once per run whose notification was delivered |
New IP address (new-ip-retry) | $0.003 | with Retry rejected requests from a new IP address (on by default): each new proxy address used for a request the shop rejected; nothing when the shop answers normally |
The EAN (Add EAN), found lookups and removed-product rows don't change the price per product. The flat fees cover runs that save little (a narrow filter, a monitoring run without changes, a search without results).
Typical runs (measured on Apify on 2026-11-10):
| Scenario | Price (FREE plan) | Typical time |
|---|---|---|
| 20 products from a collection (the prefilled input) | $0.0475 | ~5 s |
| The whole catalogue, 5 499 products | $9.69 | ~80 s |
| 1 000 products with the EAN | $1.77 | ~50 min |
| 1 search term, 10 products | $0.085 | ~80 s |
| 10 EANs or MPNs, all found | $0.0275 | ~1 min |
| Daily monitoring of the whole catalogue, nothing changed | $0.0675 | ~80 s |
| Daily monitoring of one collection, nothing changed | $0.0125 | ~5 s |
The prices above are without new IP addresses. With Retry rejected requests from a new IP address (on by default) add $0.003 for each new address used (see above). Turn the option off to never pay it, at the risk of a failed or partial run.
Input example
{"startUrls": [{ "url": "https://istyle.cz/collections/apl-ps-iphone-17-pro" }],"maxItems": 100,"onlyInStock": true}
Output example
An iPhone found by its EAN:
{"id": "istyle:58676340850952","source": "istyle.cz","url": "https://istyle.cz/products/iphone-18-pro-256-gb-burgundska-cervena-mjrr4sx-a","productId": "12235545411848","variantId": "58676340850952","productCode": "MJRR4SX/A","name": "Apple iPhone 18 Pro 256 GB burgundská červená","brand": "Apple","ean": "195951415680","mpn": "MJRR4SX/A","category": "iPhone 18 Pro","categoryPath": ["iPhone 18 Pro"],"price": 34990,"currency": "CZK","priceBeforeDiscount": null,"discountPercent": null,"isDiscounted": false,"availability": "in_stock","availabilityText": "Skladem","condition": "new","isUsedOrOpenBox": false,"imageUrl": "https://cdn.shopify.com/s/files/1/0780/2113/2322/files/iPhone_18_Pro_Burgundy_PDP_Image_Position_1_Transparent__sk-SK.png?v=1789038689","variantTitle": null,"color": "burgundská červená","capacity": "256 GB","specifications": { "storage": "256 GB" },"description": "iPhone 18 Pro. 6,3palcový displej s ProMotion, 48Mpx hlavní Fusion fotoaparát s variabilní clonou, pořádný skok ve výdrži baterie a čip A20 Pro. …","tags": ["BASE-PRODUCT", "NPI"],"publishedAt": "2026-09-09T22:16:58+02:00","detailScraped": true,"matchedBy": "ean","searchQuery": "195951415680","position": null,"sourceUrl": "https://istyle.cz/search?q=195951415680&type=product","scrapedAt": "2026-11-09T14:00:00Z","changeType": null,"firstSeenAt": null,"previousPrice": null,"priceChange": null,"priceChangePercent": null,"removedAt": null}
Limitations
- One row per variant. At iSTYLE every colour and capacity is a product of its own with one variant, so a row is one sellable configuration with its own SKU, EAN and price.
- EAN needs Add EAN (slower: about 50 minutes per 1 000 products) or a lookup by EAN. Lookups and product URLs always include it.
- Part numbers: Apple products carry the Apple part number as their SKU. Configure-to-order Macs with the shop's own code (
CTO-MBP-14-…) and accessories with the shop's code (K-…) havempn: null;productCodealways has the SKU. - Availability is what the shop marks for the variant ("Skladem" or "Není skladem"). Stock per store, pieces and delivery dates are not returned.
- Related products are not returned.
- Price is in whole crowns, as the page shows it.
- Category is the shop's product type ("iPhone 17 Pro", "Obaly a kryty pro iPhone"), not a category tree.
- Not sold separately: insurance, services and spare parts that the shop sells only with another product are left out.
- Landing pages (
/pages/…) are not product lists. Collection URL parameters for sorting and filtering are ignored (use the input filters). - Ratings and reviews are not returned. Photos are returned as URLs; product photos and texts are copyrighted, so check the rights before you republish them.
- Rejected requests: see the verification page. If rejections continue, the run stops with what it has saved and says so. Products whose EAN couldn't be read are returned without it (
detailScraped: false).
For AI agents and API users
- Minimal input:
{"startUrls": [{"url": "https://istyle.cz/collections/apl-ps-iphone-17-pro"}], "maxItems": 20}, or{"searchQueries": ["airpods pro 3"], "maxItems": 10}, or{"eans": ["195951415680"]}, or{"mpns": ["MJRR4SX/A"]}. - One row = one product variant = one charge. The EAN, found lookups and removed rows don't change the price. Flat events: run start $0.01,
list-page$0.0025 per list page answered,empty-lookup$0.001 per EAN, MPN or product URL without a saved row,new-ip-retry$0.003 per new address. descriptionFormat:short(default),text,htmlormarkdown(same price and speed); filterstags,updatedSince("7 days"or a date),categories,publishedWithinDays; price alerts withslackWebhookUrl/discordWebhookUrl/telegramBotToken+telegramChatId/webhookUrl($0.001 per delivered run).- Reliability:
retryFromNewIpistrueby default ($0.003 per new proxy address used). Withfalsea run may stop early; the status message then says to turn it on. Keep the defaultproxyConfiguration(Apify Proxy,RESIDENTIAL, countryCZ). maxItemscounts saved products,maxItemsPerStartUrllimits each URL, search term or the code list.- Prices are in CZK incl. VAT, whole crowns.
availabilityisin_stock,out_of_stockorunknown.conditionisnew,open_boxorrefurbished. - Monitoring state is kept per
monitoringKeybetween runs of the same user.
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("tsutseisoftware/istyle-scraper").call(run_input={"startUrls": [{"url": "https://istyle.cz/collections/apl-ps-iphone-17-pro"}],"maxItems": 100,})for product in client.dataset(run.default_dataset_id).iterate_items():print(product["name"], product["price"], product["mpn"], product["availability"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('tsutseisoftware/istyle-scraper').call({searchQueries: ['airpods pro 3'], maxItems: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.map((p) => `${p.name}: ${p.price} CZK`));
cURL
curl -X POST "https://api.apify.com/v2/acts/tsutseisoftware~istyle-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \-H "Content-Type: application/json" \-d '{"eans": ["195951415680"], "mpns": ["MG8G4ZD/A"]}'
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 (log) | Use an iSTYLE.cz collection (/collections/…), search or product URL; landing pages (/pages/…) are not product lists. |
Ignored URL parameters … (log) | Sorting and filter parameters of collection URLs are not used; use the input filters. |
no products: … | The collection or search has no products (with these filters). |
not found: … | The shop has no product with exactly this EAN or part number. |
… lookups found a product already saved in this run | Two of your codes belong to the same product; it is saved once. |
… could not be loaded | The collection or product doesn't exist (anymore); open the URL in your browser. |
… not read: listing data without the EAN returned instead | The shop didn't answer some product data; run it again later for the EANs. |
searched only part of the catalogue | Raise Max catalogue pages for searches. |
stopped at the page limit … | Raise Max pages per collection. |
removed products were not checked because … | The run didn't read everything (e.g. Max products reached); removed products are checked in a complete run. |
"Retry rejected requests from a new IP address" is off, so this run may fail … (start of the run) | You turned the option off (it is on by default), or the run has no proxy. Nothing is wrong yet; turn it back on for reliable results. |
iSTYLE.cz is rejecting requests with a verification page, nothing was saved / the site started rejecting requests, so the run stopped early | Keep Retry rejected requests from a new IP address on (the default, $0.003 per new address) and keep the default proxy. If it was on (… new IP addresses were tried and charged), the shop kept rejecting requests: try again later. your maximum cost per run did not allow another new IP address: raise the maximum cost per run. |
… requests were read from a new IP address | Expected with the option on: these requests were rejected first and read from another address. |
… lookups without a saved product charged | These EANs, MPNs or product URLs gave no row (not found, filtered out, already saved, unchanged); each costs $0.001. |
iSTYLE.cz is not answering or answers too slowly / the shop answered too slowly, so the run stopped early | The shop (or your own proxy) did not answer in time, so the run stopped instead of waiting; what it had read is saved. Try again later with the default proxy. |
… 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. |
Custom scrapers and changes
Need a custom version of this actor, another field or filter, or a scraper for a different website? Write to info@tsutsei-software.com with the website, the data you need and how often, and we will reply with a fixed quote. We work mainly with clients from the Czech Republic and from outside the EU.
More about us and all our actors: tsutsei-software.com.
More Czech & Slovak e-shop scrapers
Compare prices across Czech and Slovak shops with the same output format (EAN for matching, monitoring mode):
- Czech E-shop Price Comparison: one product compared across 9 Czech e-shops in one run: lowest price and its shop, price per shop, monitoring
- Datart.cz Scraper: electronics: prices, 30-day low, EAN, store availability
- TSBOHEMIA.CZ Scraper: IT & electronics: prices, discount codes, EAN, site filters
- Planeo.cz Scraper: electronics & appliances: prices, discount codes, store pickup, EAN
- 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
- OnlineShop.cz Scraper: electronics & appliances: prices, 30-day low, discount codes, EAN, stock
- Mobil Pohotovost Scraper: phones, tablets and watches, new, like new and used: prices, EAN, MPN, condition, stock, monitoring
FAQ
Is it legal to scrape iSTYLE.cz?
The actor reads only publicly available product data (names, prices, availability, part numbers, EANs), without logging in, at most 20 requests per minute. It slows down when the website asks and never solves captchas or other challenges; with Retry rejected requests from a new IP address on (the default) it repeats a rejected request from another proxy address at the same pace. It returns no personal data. The website's terms of use may limit automated access, and you are responsible for how you use the data, e.g. that you don't republish copyrighted photos and texts. If in doubt, consult a lawyer.
Do I need a proxy?
Yes, iSTYLE.cz needs a residential proxy. It is set by default (Czech Republic) and its cost is included in the price. Retry rejected requests from a new IP address is on by default too ($0.003 per new address used).
Why did my run fail with "rejecting requests"?
The shop answered with a verification page. If you turned Retry rejected requests from a new IP address off (or removed the proxy), turn it back on: the actor then asks again from another address ($0.003 per new address used) instead of stopping. With the option on this happens only when the shop keeps rejecting new addresses, or when your maximum cost per run does not allow another address; try again later or raise the limit.
Why is the EAN empty?
Listed products come without the EAN by default. Turn on Add EAN (barcode), or look products up by EANs; product URLs include it too.
Why is the MPN empty for some Macs?
Configure-to-order Macs that the shop lists under its own code (CTO-…) have no Apple part number on iSTYLE.cz. Their SKU is in productCode, and the configuration is in specifications.
Is this for iSTYLE.sk too?
No, only for istyle.cz (Czech Republic, prices in CZK).
Can I use it through the API?
Yes. See the Python, JavaScript and cURL examples above, or the API tab.
Something doesn't work
Open an issue in the Issues tab and include the input you used.
Unofficial, not affiliated with or endorsed by iSTYLE CZ, s.r.o., the operator of iSTYLE.cz, or by Apple. This tool is also known as an iSTYLE.cz API, iSTYLE price tracker or "hlídač cen iSTYLE".