Price-Comparison Crawler
Pricing
Pay per usage
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
6 days ago
Last modified
Categories
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
listings — title, 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
| Adapter | Engine | Reliability |
|---|---|---|
ebay | HTTP (server-rendered) | Solid from datacenter IPs — the default. |
google_shopping | HTTP | Best-effort — Google often serves a consent/bot wall to datacenter IPs; use a residential proxy. Returns [] cleanly when blocked. |
| product URLs (JSON-LD) | HTTP | Works 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 installapify 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.