Competitor prices, refreshed every few minutes
Track SKU-level prices, stock status and promotions across Amazon, eBay, Shopify, marketplaces and 40,000+ retailers. One REST endpoint, matched products, normalised currencies.
Covering 1.2B SKUs across 92 countries with sub-5-minute refresh on priority catalogues.
{
"sku": "SKU-00841",
"gtin": "5012345678900",
"title": "Bose QuietComfort 45",
"currency": "GBP",
"matches": [
{
"retailer": "amazon.co.uk",
"price": 249.00,
"rrp": 329.95,
"in_stock": true,
"promo": "Lightning Deal -24%",
"observed_at": "2026-04-24T09:14:22Z"
},
{
"retailer": "johnlewis.com",
"price": 279.00,
"in_stock": true,
"observed_at": "2026-04-24T09:12:08Z"
}
]
} Built for the jobs data teams actually do.
Sub-5-minute refresh
Priority SKUs repoll every 3-5 minutes. Long-tail catalogues refresh hourly. No stale nightly dumps.
Matched, not scraped
Products are matched on GTIN, MPN, title and image hash. You get a clean competitor set, not a keyword search dump.
Stock + promo signals
Every response includes availability, shipping cost, coupon text and strike-through RRP so your repricer has full context.
Priced per call, not per SKU
Flat per-request pricing. No surprise charges when you add variants or expand to a new marketplace.
Integrate in an afternoon.
Send us your catalogue
Upload a CSV or POST SKUs with GTIN, title and optional competitor URLs. We match in under an hour.
Poll the API
Query by SKU, ASIN or internal ID. Responses include every matched competitor with price, stock and promo fields.
Stream changes
Subscribe to a webhook for price-drop, stock-out and new-seller events. Route straight into your repricing logic.
Endpoints at a glance
Three problems it solves best.
Problem. Third-party scrapers miss marketplace variants and return stale prices overnight.
Outcome. A matched competitor graph per SKU with 5-minute freshness feeds the pricing engine directly.
Problem. MAP violations go unnoticed across hundreds of resellers.
Outcome. Daily MAP reports flag every retailer breaching policy with evidence URLs and timestamps.
Problem. BI dashboards depend on manual competitor spot-checks.
Outcome. A nightly Parquet export lands in S3 with prices, promos and stock across the full category.
Why teams pick FreshGeo.
- ✓ 5-minute refresh on tracked SKUs, not 24-hour batch updates
- ✓ Flat per-call pricing, not per-SKU fees that punish catalogue growth
- ✓ GTIN + image-hash matching, not fuzzy keyword guesses
- ✓ Marketplace variant support (ASIN, buy-box seller, third-party offers) out of the box
- ✓ Webhooks for price and stock changes — no polling loop required
- ✓ Raw HTML evidence URL on every datapoint for MAP disputes
- ✓ UK-hosted infrastructure with a signed DPA, no data leaves the EEA
"We replaced two scraping vendors with FreshGeo and cut our pricing engine latency from four hours to under ten minutes. Matching quality on marketplace variants is the real unlock."
- ✓ Everything in Growth
- ✓ Batch queries
- ✓ Priority support
- ✓ 99.9% SLA
- ✓ Everything in Scale
- ✓ Dedicated endpoints
- ✓ Custom integrations
- ✓ Account manager
Questions, answered.
How often is competitor pricing refreshed? +
Priority SKUs you flag are refreshed every 3-5 minutes. The rest of your catalogue refreshes hourly by default, with nightly full sweeps. You can upgrade individual SKUs to priority via the API at any time — no contract change needed.
Which retailers and marketplaces are covered? +
Over 40,000 retailers across 92 countries, including Amazon, eBay, Walmart, Shopify stores, Google Shopping, Idealo, Bol, Allegro, Cdiscount and Tmall. Marketplace coverage includes third-party sellers and buy-box state, not just the default offer.
How accurate is product matching? +
Matches use GTIN or MPN where available, then fall back to a combined title, brand and image-hash model. Accuracy on branded goods is above 98%. You can review and override matches in the dashboard; overrides persist across refreshes.
Is it priced per SKU or per API call? +
Per API call, with a fixed monthly allowance. Adding SKUs, variants or new marketplaces does not increase cost unless your call volume rises. This differs from most competitor tools that charge per tracked product.
Can I get historical price data? +
Yes. Every SKU has full history from the day you added it, queryable via the /history endpoint with daily, hourly or per-change granularity. Exports to S3, GCS or Snowflake are included on the Growth plan and above.
Is scraping this data legal in the UK and EU? +
FreshGeo collects publicly displayed pricing under settled UK and EU case law and complies with GDPR for any personal data. We provide a signed DPA, UK-hosted infrastructure and indemnify customers against data-source claims up to contract value.
Ship your first request in 4 minutes.
Free tier. No card required. UK-hosted, UK-supported.