Cross-Store Product Radar avatar

Cross-Store Product Radar

Pricing

from $1.00 / 1,000 product results

Go to Apify Store
Cross-Store Product Radar

Cross-Store Product Radar

Pricing

from $1.00 / 1,000 product results

Rating

0.0

(0)

Developer

Diego Andrés Macedo

Diego Andrés Macedo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Turn public product pages into useful competitor intelligence. The Actor extracts normalized product data, identifies the same item across stores, compares prices by currency, and detects price or availability changes between runs.

Input

{
"urls": [
"https://store-a.example/products/headphones",
"https://store-b.example/products/headphones"
],
"monitorName": "weekly-headphones",
"alertOnNew": false,
"fullSnapshot": false
}

Each run accepts 1–50 public HTTP/HTTPS product URLs. Local, private-network and credential-bearing URLs are rejected.

  • monitorName: reuse the same name to compare the current run with its previous successful run.
  • alertOnNew: also emit an alert for newly seen URLs.
  • fullSnapshot: report missing URLs as removed. Enable it only when every monitored URL is included in every run.

Output

The default dataset contains four simple record types:

  • product: normalized product data from each URL.
  • comparison: matched offers, confidence, matching reasons, lowest price and price spread per currency.
  • alert: price, availability, new-product or removed-product changes.
  • run_summary: totals for the run.

Failed URLs become error rows so one bad page does not lose the batch. A failed run does not overwrite a saved monitor, and removals are not reported if any URL failed.

Matching rules

The matcher favors evidence that can be explained:

  1. Exact GTIN/UPC/EAN.
  2. Same brand and MPN.
  3. Same brand and SKU.
  4. Same brand plus a highly similar title.
  5. The same distinctive product name and compatible size/dosage, even when one store omits identifiers.

Conflicting GTINs, brands, sizes or dosages prevent a fuzzy match. Prices in different currencies are never compared as if they were equivalent. The input validator also catches two URLs accidentally pasted into a single line.

Pricing event

Only a valid extracted product emits the product-result event. Comparisons, alerts, summaries, errors, and pages without recognizable product data are included without another event charge. Recommended launch price: $0.00075 per product-result after cloud cost tests confirm the margin.

The Actor stops before the next URL when the run reaches the customer's maximum charge. A charge-limited run is treated as partial, so it cannot erase unseen monitor state or create false removal alerts.

Limits

  • Version 0.3 reads public server-rendered HTML; JavaScript-only product data may not be visible yet.
  • No login, CAPTCHA solving, residential proxy or retailer-specific bypasses.
  • Input is currently a list of product pages, not automatic whole-store discovery.
  • Extraction does not verify whether a merchant's claims are accurate or current.

Local check

npm install
npm test

To run locally, create storage/key_value_stores/default/INPUT.json, then run npm start.