PriceRunner Competitor Price & Rating Monitor
Pricing
from $1.75 / 1,000 results
PriceRunner Competitor Price & Rating Monitor
Track what every merchant charges for a product. Search PriceRunner by keyword or monitor product IDs on a schedule, and get each seller's price, shipping, stock and delivery window, plus the min/max spread, rating, review count and full specs. UK, SE, DK and NO.
Pricing
from $1.75 / 1,000 results
Rating
0.0
(0)
Developer
Ibnu Adzim
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Track what every merchant charges for a product, not just the headline price. Search by keyword to discover competitors, or monitor product IDs on a schedule to watch prices move.
What you get
One row per product (recordType: PRODUCT):
| Group | Fields |
|---|---|
| Product | productId, productName, productUrl, brandName, categoryName, categoryRank, imageUrl, condition, outOfStock |
| Headline price | lowestPriceAmount, cheapestOfferAmount, cheapestOfferMerchantId, merchantCount |
| Competitor spread | offers[] — every merchant's priceAmount, shippingCostAmount, stockStatus, availability, deliveryMinDays/deliveryMaxDays, labels, gotoStoreUrl |
| Spread summary | offerCount, offerMinPriceValue, offerMaxPriceValue, offerSpreadValue, offerMinPriceInStockAmount |
| Merchants | merchants[] — id, name, PriceRunner profile URL, rating, verification labels |
| Reputation | ratingAverage, ratingCount, reviewAverage, reviewCount |
| Specs | specifications — the full attribute table, flattened to "Group / Attribute": value |
Plus a SEARCH_SUMMARY per query and an ERROR row per failed input, so
every input maps to at least one row.
Measured on a real run: iphone 15 in the UK returned 25 products carrying
49–107 merchant offers each, with price spreads from £20.99 to £925.55.
Two entry points, one row shape
{ "searchQueries": ["iphone 15"], "includeOffers": true, "country": "UK" }
{ "productIds": ["3208336570", "3472630395"], "country": "UK" }
They are not modes — they are two ways of naming the same thing, and both
produce identical PRODUCT rows. The normal workflow uses both: discover
competitors by keyword once, then track those IDs on a schedule. productIds
always fetches offers, since that is the whole point of tracking one.
Known limits — read before you buy
- ~1,100 products per query. Upstream rejects a paging offset above 1,000
with
offset must be less than 1000, so one query reaches at most 1,000 + one page.upstreamTotalHitsroutinely reports far more (7,942 forlaptop), and the summary carries both numbers side by side plus aresultWindowShorterThanTotalflag. Split into narrower queries to go further. - Review text is not available. PriceRunner's public endpoints expose
the rating average and count (
4.25from3,692ratings), not individual review bodies. This actor ships what exists rather than an empty column. - Four markets: UK, SE, DK, NO. Germany is deliberately absent —
pricerunner.deanswers 404 and redirects toklarna.comwith no product data. Prices, merchants and stock all differ by market. includeOfferscosts 2 requests per product. Off by default. 25 products with offers = 52 requests.
How it works
No API key, no login, no browser. Two internal REST endpoints:
GET /{locale}/api/search-edge-rest/public/search/v6/{COUNTRY}?q=…&facetsSize=10 → first 20 products + facetsGET /{locale}/api/search-edge-rest/public/search/v6/products/{COUNTRY}?q=…&size=100&offset=… → subsequent pagesGET /{locale}/api/product-detail-edge-rest/public/product-detail/v0/initial/{COUNTRY}/{cat}/{id}GET /{locale}/api/product-detail-edge-rest/public/product-detail/v0/offers/{COUNTRY}/{id}
The URL bar will not page this site. The search results page is
infinite-scroll, and every plausible parameter — offset, page, p,
from, start, skip, pageNumber, o — is silently ignored: HTTP 200
with the identical first 20 products every time. A scraper that trusted
?offset= would loop forever on page 1 and report success. The real endpoint
came out of the route bundle, which names both fetchers literally.
WAF and TLS
None enforced. chrome124, chrome131, chrome136, firefox133,
safari18_0 and chrome99_android all returned the full 1.6 MB document.
The page does reference a Klarna bot-challenge script
(__WAF_CHALLENGE_SCRIPT__ → owp.klarna.com/…/challenge.js), so the
capability exists and simply is not being served — block detection stays in
the client for the day that changes.
Datacenter proxy is the default, pinned to the selected country. That pin is a correctness setting, not an anti-blocking one: PriceRunner serves prices and merchant availability per market.
Policy
www.pricerunner.com/robots.txt names no AI crawler group at all — no
ClaudeBot, anthropic-ai, GPTBot or CCBot — and /search, /results, /pl/
and /ri/ are allowed for User-agent: *.
Only public product and price listings are read. No login, no user data, no personal profiles.