Price Battle Map
Pricing
Pay per usage
Price Battle Map
Shows where every brand sits on the shelf by price band: crowded bands, open bands, and the same model's price across shops. Reads retailer category pages or the results of other shop scrapers.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Easton Kim
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
17 days ago
Last modified
Categories
Share
See where every brand sits on the shelf, by price band. Find the bands that are crowded, the bands nobody sells in, and the models that cost more in one shop than in another.
What it does
Give it a retailer's category page, or the results of shop scrapers from Apify Store. It reduces every listing to one model, puts each model in a price band, and returns:
- A dataset: one row per shop and model, with brand, price, list price, coupon code and price band.
report.html: a price ladder chart. One row per price band, one coloured block per brand, open bands highlighted. Below it, the same model compared across shops, largest gaps first.SUMMARY: the same result as JSON, ready for an AI agent or a spreadsheet.
Set Your brand and the report also lists the bands where rivals sell and you don't.
Example
Czech phone shelf, 3 to 4 October 2026: 118 models from three shops. Each square is one model, at its lowest shop price.
🟦 Samsung · ⬛ Xiaomi · 🟧 Apple · 🟩 Google · ⬜ other brands
70–75k 🟧🟧 265–70k OPEN60–65k OPEN55–60k 🟦 150–55k OPEN45–50k 🟦🟦⬜ 340–45k 🟦🟦🟦🟧 435–40k 🟦🟧🟧⬜ 430–35k 🟦🟦🟦🟧🟧🟧🟩🟩⬜ 925–30k 🟦🟦🟦🟦🟦⬛🟧🟧🟧🟧🟩🟩 1220–25k 🟦🟦🟦🟦⬛⬛🟧🟧🟧🟧🟩🟩⬜⬜ 1415–20k 🟦🟦🟦🟦🟦🟦🟦🟦🟦⬛⬛🟧🟧🟩🟩🟩🟩⬜⬜⬜ 2010–15k 🟦🟦🟦🟦🟦🟦🟦⬛⬛⬛⬛⬛🟩🟩🟩⬜⬜⬜⬜⬜ 205–10k 🟦🟦🟦🟦🟦🟦🟦🟦🟦⬛⬛⬛⬛⬛⬛⬛⬛⬛⬜⬜⬜⬜ 220–5k 🟦⬛⬛⬛⬛⬛⬜ 7
Three bands are open, and most of the shelf sits below 20,000 CZK. In report.html the same ladder is drawn as a colour chart, followed by the shop comparison:
| Model | alza.cz | datart.cz | mironet.cz | Gap |
|---|---|---|---|---|
| Samsung Galaxy S26 Ultra 256GB | 34,011 | 37,790 | 27,990 | 26% |
| Samsung Galaxy A57 256GB | 13,990 | 15,990 | 11,990 | 25% |
| Apple iPhone 16 128GB | 22,990 | 20,990 | 9% |
Why
Sales and pricing teams ask two questions before every launch: where is the gap, and who is undercutting us? Answering them usually means a person copying prices into a spreadsheet. This Actor does it in a minute and can run every week.
Two ways to feed it
- Category pages it reads itself. It uses the structured product data (schema.org) that shops publish for search engines, and has a built-in preset for mironet.cz.
- Results from other Actors. Run an Alza, Datart or other shop scraper from Apify Store, then pick its dataset under Results from other Actors. Product name, price, brand and coupon price are picked up automatically.
Both can be combined in one run.
Input
| Field | What it is |
|---|---|
| Category pages | Category URLs the Actor reads itself |
| Results from other Actors | Datasets from shop scrapers |
| Price band size | Width of a band, default 5,000 |
| Ignore products cheaper than | Removes accessories, default 3,000 |
| Count colours as one model | Five colours count once, at the lowest price |
| Leave out unboxed and used items | New stock only, on by default |
| Your brand | Optional. Shows the bands you are missing from |
How models are matched
Shops name the same phone differently. "Mobilní telefon Samsung Galaxy S26 5G 12 GB / 256 GB (SM-S942B) černý" and "SAMSUNG Galaxy S26 5G 12+256GB černá" both become "Samsung Galaxy S26 256GB". Colour, RAM and network labels are dropped; brand, model and storage are kept.
Fair use
For category pages it identifies itself in the user agent, reads public pages only, waits between requests and does not use site search. If a shop refuses the request, the Actor reports it and moves on. Check the retailer's robots.txt and terms before you run it.
Limits
- Built and tested on Czech mobile phone categories. Other categories may need the CSS selectors under Advanced.
- Coupon prices are used when the source dataset provides them. Cashback and trade-in bonuses are not applied.
- Model matching is rule-based and can miss unusual names.
- One currency per run. No conversion.


