Price-Comparison Crawler avatar

Price-Comparison Crawler

Pricing

Pay per usage

Go to Apify Store
Price-Comparison Crawler

Price-Comparison Crawler

Crawls marketplaces (eBay + best-effort Google Shopping) and any product URL (via JSON-LD / OpenGraph) and returns normalized, deduped competitor listings for price comparison.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Khidayotullo Salakhitdinov

Khidayotullo Salakhitdinov

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

6 days ago

Last modified

Share

Price Comparison Crawler

Price-check any product across marketplaces in one run. Give it product keywords (or product URLs) and it returns normalized, deduped competitor listingstitle, price, currency, seller, rating, url, marketplace — ready to sort, compare, or feed into a pricing model.

  • 🔎 Search eBay and Google Shopping by keyword
  • 🔗 Or extract a price straight off any product URL (schema.org JSON-LD → OpenGraph → price meta)
  • 🧹 One clean, deduped schema across every source — prices parsed to both major units and integer minor units, currency detected
  • 🆓 Free to use — you pay Apify only for the platform compute/proxy you consume

Input

{
"queries": ["the ordinary niacinamide 10% serum"],
"marketplaces": ["ebay", "google_shopping"],
"startUrls": [{ "url": "https://example-shop.com/product/123" }],
"country": "sg",
"maxItemsPerQuery": 20,
"proxyConfiguration": { "useApifyProxy": false }
}
  • queries + marketplaces — runs each query through each search adapter.
  • startUrls — pulls a price straight off any product page via schema.org JSON-LD → OpenGraph → price meta tags (no per-site adapter needed).
  • country — region hint (eBay TLD, Google gl/hl).

Sources

AdapterEngineReliability
ebayHTTP (server-rendered)Solid from datacenter IPs — the default.
google_shoppingHTTPBest-effort — Google often serves a consent/bot wall to datacenter IPs; use a residential proxy. Returns [] cleanly when blocked.
product URLs (JSON-LD)HTTPWorks on most e-commerce product pages that emit schema.org Product.

Output

One dataset row per listing:

{
"title": "The Ordinary Niacinamide 10% + Zinc 1% 30ml",
"price": 12.9, "priceMinor": 1290, "priceText": "S$12.90", "currency": "SGD",
"seller": "beautystore_sg", "rating": 4.8, "reviewCount": 231,
"availability": "InStock", "image": "https://…",
"marketplace": "ebay", "query": "the ordinary niacinamide 10% serum",
"country": "sg", "url": "https://www.ebay.com/itm/…", "scrapedAt": "2026-…"
}

Field names follow tolerant families (title / price / url / rating / seller) so the output drops cleanly into a downstream price-comparison normalizer.

Run locally

npm install
apify run --input='{"queries":["airpods pro 2"],"marketplaces":["ebay"],"country":"us"}'

Extending

Add a marketplace by dropping a src/adapters/<name>.js that exports buildRequests(query, country) and parse($), then register it in src/adapters/index.js. JS-heavy marketplaces (Lazada/Shopee) need a PlaywrightCrawler + residential proxy — documented as the next adapter tier.