Skip to content
← All products
Real-Time Pricing API

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.

sample
GET /v1/pricing/sku/SKU-00841
{
  "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"
    }
  ]
}
Why E-Commerce Pricing

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.

How it works

Integrate in an afternoon.

01

Send us your catalogue

Upload a CSV or POST SKUs with GTIN, title and optional competitor URLs. We match in under an hour.

02

Poll the API

Query by SKU, ASIN or internal ID. Responses include every matched competitor with price, stock and promo fields.

03

Stream changes

Subscribe to a webhook for price-drop, stock-out and new-seller events. Route straight into your repricing logic.

API Reference

Endpoints at a glance

GET
/product-price?url=...
Current price for any product URL
GET
/price-history?product_id=...
Historical pricing with trends
GET
/price-change-alerts
Real-time price change notifications
Who uses it

Three problems it solves best.

Repricing platforms

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.

D2C brands

Problem. MAP violations go unnoticed across hundreds of resellers.

Outcome. Daily MAP reports flag every retailer breaching policy with evidence URLs and timestamps.

Retail analytics teams

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.

What's different

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."
Hannah Cole · Head of Pricing, mid-market electronics retailer
Pricing

Transparent plans, no per-record fees

Or see unified bundle pricing across all 7 APIs.

Free
£0/mo
100 req/mo
  • Basic lookup
  • JSON responses
  • Community support
Start free
Growth
£49/mo
10K req/mo
  • Price history
  • Change alerts
  • Webhooks
  • Email support
Get started
Popular
Scale
£149/mo
50K req/mo
  • Everything in Growth
  • Batch queries
  • Priority support
  • 99.9% SLA
Get started
Enterprise
£399/mo
200K+ req/mo
  • Everything in Scale
  • Dedicated endpoints
  • Custom integrations
  • Account manager
Get started
FAQ

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.