CHROME EXTENSION · 2026

SALESBAR
FOR EBAY

INSTALL FREE →
SalesBar for eBay extension icon

WORKS ON ALL CHROMIUM BROWSERS

Chrome
Edge
Brave
Opera
Vivaldi

THE PROBLEM

eBay resellers need sales velocity data to decide whether a product is worth listing. That data — how many units sold in the last 7, 15, or 30 days — exists inside eBay's purchase history endpoint. But accessing it means navigating away from the listing, running a manual lookup, and copying numbers into a spreadsheet.

Multiply that by hundreds of listings per sourcing session and it becomes the bottleneck that slows every reseller's workflow.

THE SOLUTION

SalesBar injects a compact, always-visible analytics bar at the top of every eBay listing page. No setup, no account, no redirect. Open a listing, the data is there.

One sync pulls and caches the purchase history. Every subsequent visit is instant — the extension reads from cache, not the network.

WHAT THE BAR SHOWS

SALES VELOCITY

7 · 15 · 30 day units sold

Three rolling windows pulled from eBay's purchase history. Updated on demand, cached locally.

ALL-TIME SALES

Total units ever sold

Full lifetime sales count — useful for gauging whether demand is recent or historically deep.

CURRENT PRICE

Buy It Now or auction

Live price extracted from the listing — no extra request needed.

CATEGORY

eBay item classification

Item category pulled from listing metadata — helps spot miscategorised listings instantly.

SELLER LOCATION

Ship-from country

Visible at a glance — critical for resellers calculating delivery costs and lead times.

WATCHERS

Live watcher count

Demand signal. High watchers on a slow-selling item often indicates price sensitivity.

ALSO SHOWS

Delivery time estimates — extracted from the listing's shipping section. No separate lookup. No calculator. The bar shows estimated delivery range alongside everything else.

HOW IT WORKS

Three phases: inject, sync, cache. Most users only see the first and last.

01

INJECT

When you open an eBay listing, the content script fires. It detects the listing ID from the URL, checks localStorage for a cached entry, and renders the bar immediately if a cache hit exists. Cold-path render time: under 50 ms.

02

SYNC

On first visit or manual refresh, the extension hits eBay's purchase history endpoint. This requires the user to be logged into eBay in the same browser — the request is made with the existing session cookie, so no credentials are stored or handled by the extension. The MV3 service worker manages the request lifecycle from the background.

03

CACHE

Sales data is written to localStorage keyed by listing ID. Subsequent visits to the same listing skip the network entirely. The sync button is always visible if the user wants fresher data — but the default behaviour is instant from cache.

TECHNICAL DECISIONS

Every choice was made to keep the extension small, fast, and reliable on a dynamic single-page app.

MV3 SERVICE WORKERS

Chrome's Manifest V3 replaces persistent background pages with service workers that spin up on demand. This forced a stateless architecture for background tasks — which turned out to be the right constraint. The extension doesn't need persistent state in the background; it needs fast per-request processing.

Side effect: smaller memory footprint. The service worker sleeps when not needed.

MUTATION­OBSERVER

eBay is a React SPA. Navigating between listings doesn't trigger a full page reload — the URL changes but the DOM is patched in place. A standard DOMContentLoaded listener would miss 90% of navigations.

The content script attaches a MutationObserver to the document body and watches for URL changes. When a new listing ID is detected, the bar re-renders with the new data. No polling, no timers — just reactive DOM observation.

ZERO LIBRARIES

The extension is 50 KB including all assets. That's the full package — no React, no Vue, no utility libraries. The UI is built with vanilla DOM APIs, the data layer is plain fetch and localStorage.

Dependencies in browser extensions are a liability — they increase review surface, add to bundle size, and introduce maintenance overhead for something that doesn't benefit from a full component model.

PRIVACY BY DESIGN

The extension collects no personal data. It stores only anonymous session IDs and item-specific sales snapshots in localStorage — nothing is sent to an external server except the eBay API request made with the user's own session.

No eBay credentials are handled, stored, or transmitted by the extension. The purchase history request uses the cookie already in the browser — the same one eBay's own pages use.

READ FULL PRIVACY POLICY →

OUTCOME

INSTALL SIZE

50 KB

Full extension — no CDN dependencies

RENDER TIME

<50ms

Cache-hit bar render on listing open

DATA WINDOWS

7d · 15d · 30d · all-time in one bar

Live on the Chrome Web Store. Built for eBay resellers who need sourcing decisions in seconds, not minutes. The extension ships no tracking, requires no account, and adds zero overhead to listing pages that don't trigger a sync.