Skip to main content

How it works

Scan. Match. See where you stand.

Price Gap reads your competitors’ public product catalogs, matches each product to yours by GTIN barcode or SKU, and shows you the exact price gap - so you know where you’re underpriced, overpriced, or exactly at market. No spreadsheets, no manual copying.

Four steps from URL to insight

  1. Paste your shop and competitor URLs

    Enter your own shop URL and up to 5 competitor URLs. No API keys, no OAuth, no browser extension. The URL is all we need. We auto-detect the platform (Shopify, WooCommerce, OpenCart, Magento, PrestaShop, Shopware) and pick the right extraction path automatically.

  2. We extract the full catalog

    For Shopify and WooCommerce we use the shop’s native API - this is a Fast scan, takes seconds, and captures every product including GTIN barcodes. For Magento, PrestaShop, Shopware, and custom shops we walk the sitemap and parse each product page - this is a Deep scan, takes minutes, and reads Schema.org Product markup embedded in the page.

    Results are cached until midnight UTC, so re-running an analysis later that day reuses the same extraction instantly - no second scan of the same shop.

  3. Products are matched across shops

    The matching engine runs a three-tier cascade on every product in your catalog:

    • GTIN 99% confidence - exact barcode match, GS1 check-digit validated. Same product, zero ambiguity.
    • SKU 85% confidence - normalized SKU match (case-folded, punctuation stripped). Reliable when both shops share the manufacturer part number.
    • Fuzzy 70% confidence - title similarity ≥ 75% AND price within ±20%. Used only when GTIN and SKU both fail. Every match shows which rule fired.
  4. See the price gaps - and act

    Every matched product pair shows the price delta, direction, and confidence score. Action signals call out the cases that matter: where you’re significantly more expensive (risk), where you’re leaving margin on the table (opportunity), and where you’re in line with the market.

Full extraction transparency

Every analysis shows an Extraction quality panel per shop - not just "scan complete". You see the exact numbers:

Products extracted

How many products the extractor could read from the shop, and how many it skipped (e.g. variable-product parents with no prices).

GTIN coverage

What percentage of extracted products carry a valid GTIN barcode. Higher GTIN coverage means more exact matches and higher confidence scores.

Scan mode

Whether the shop was read via Fast scan (native API) or Deep scan (sitemap + product pages), and whether the result came from the live scan or the shared cache.

Extraction status

Success, partial (some pages failed), or failed - with the exact HTTP error or reason so you know whether to retry, try Deep scan instead, or move on.

What we can - and cannot - scan

We want you to know exactly what to expect before you run your first scan. Most public e-commerce shops work. Some don’t, and we say so clearly instead of returning empty results.

Works well

  • Shopify - all public shops, 100% catalog via native API
  • WooCommerce - shops with Store API enabled (most installs)
  • Magento - shops with sitemap + Schema.org Product markup
  • PrestaShop - same sitemap + ld+json path
  • Shopware - detected via meta tag, same extraction path
  • Any server-rendered shop with a sitemap and Product schema

Currently not supported

  • Cloudflare Enterprise / Akamai / DataDome

    Enterprise bot-management layers block all cloud IP ranges - including Vercel's. The shop never receives our request. Residential proxy support is on the roadmap.

  • JavaScript-rendered single-page apps

    React / Vue / Angular shops without server-side rendering ship empty HTML. Product data only loads client-side - our extractor sees nothing. Headless-browser fallback (Puppeteer) is on the roadmap for Pro tier.

  • B2B "price on request" shops

    The catalog extracts fine but every price is 0. Matching runs but produces no actionable gaps. Customer-supplied price feeds (Google Shopping XML, CSV) are planned for Enterprise tier.

  • Login-protected or password-gated catalogs

    Wholesale portals, dealer-only sites, invite-only previews. Fundamentally requires credentials from the shop owner - not a scraping problem.

  • WooCommerce with Store API disabled

    ~30–40% of WC shops lock down the REST API for security. These fall through to the HTML extractor - if the shop has ld+json Product markup, extraction still works.

Full per-platform extraction details and success rates are on the Platform coverage page.

See it in action on a real shop

Sign in, paste your shop URL and one competitor, and run your first analysis. The extraction QA panel and match table are visible immediately - no payment required to see whether your competitors’ shops extract correctly.