Store research on the storefront you're looking at: best sellers, pricing, app and theme detection, changes since your last visit.
Users
4
−1 in 30 days
Rating
5.0 / 5
unchanged in 30 days
Ratings
2
0 in 30 days
Store rank
#263K
#219K among extensions
Version
0.6.3
updated 12 Oct 2026
Users
monthly, 3 months
Latest, 16 Oct 2026:4 usersMove the mouse over the chart for any month
Ratings count
monthly, 3 months
Latest, 16 Oct 2026:2 ratingsMove the mouse over the chart for any month
The Chrome Web Store rounds user counts down to the leading digit, so the user line moves in steps. The ratings count is exact and is the better signal of real adoption.
About MurmSpy — Shopify Store Spy
MurmSpy reads the public pages a storefront already served to your browser
and turns them into a scoreboard about how each thing is known. No account,
no login, no scraping service, and nothing about you leaves your machine.
A FIGURE LOOKS DIFFERENT DEPENDING ON HOW IT WAS ARRIVED AT
Four fills, and they separate from a metre away before a word is read.
A solid ink fill means counted: the catalog size, the price the merchant
published, exact arithmetic on those.
An outline that refuses to fill means computed — a model, with a chosen
constant inside it, and the rule is printed underneath in plain words.
A dashed outline holding an em-dash means no such value exists and none can
be had. Not "we could not fetch it" — no source publishes it at all.
A 45-degree hatch means the value does exist, and the paid tier is holding
it back.
There is a fifth mark for a bound. Where a platform publishes a floor or a
ceiling instead of a figure, the box wears a notch down the edge the bound
is open on, so "2,000 or more" can never be misread as 2,000.
Blue is the one thing on the surface that is never a value about the shop.
It marks a control you can operate, and nothing else.
NO COLOUR CARRIES ANY OF THAT
Fill, outline, dash, hatch and notch are shapes. The second channel is the
typeface: the display face is reserved for counted figures, and a computed
one is set in the body face instead. Both channels survive a greyscale
screenshot, every colour-vision deficiency and a black-and-white printout,
because no hue is doing any of the work — including the blue, which says
"you can press this" and never says anything about a shop.
That was learned the hard way. An earlier version marked modelled numbers
in a bronze, and against ink in dark mode that bronze measured 1.68:1 in
greyscale — in a monochrome render it was the same shade as the thing it
claimed to distinguish itself from. It has been removed entirely rather
than adjusted, and no hue replaced it.
WHAT IT REFUSES TO PRINT
Revenue and units sold are the two headline figures this whole category runs
on, and the platform publishes neither of them. So the tile grid above the
fold carries two counted values and two refusals at exactly the same size.
The revenue tile reads: no sales figures are published, a number here would
be modelled, and modelled money is what this tool exists not to print. The
units tile reads: rank order is published, units are not.
Both are permanent. They appear on every storefront that will ever exist,
and they are drawn at the scale of a finding rather than tucked into a
footnote, because deciding not to print a value is a result.
THE DEMAND INDEX IS A RANK, NOT MONEY
Best sellers come back in the merchant's own best-selling order — the one
ordering the platform actually publishes. Beside each row sits a demand
index derived from that rank, and the row says so on the row: the published
price is set in the display face, the index in the body one, and its note
states the derivation and that it is neither units nor money.
WHAT THIS READ COULD NOT SEE
When a read is incomplete you get a disclosure you can open, written in full
sentences instead of a warning triangle — which source was blocked, what
that removes, and where the shortfall lands. It closes with "Numbers stay
partial rather than guessed." A complete read says nothing at all. There is
no green tick, because silence is what a full read looks like.
The same rule runs through the smaller states. A value the read failed to
fetch is a quiet dash, not a dramatic one. A missing tracking pixel is a
hollow ring and the literal words "not found". An empty section is a
sentence explaining why it is empty, never a confident zero over a catalog
that was blocked.
ON A STOREFRONT
Best sellers in the merchant's own order, with the published price and the
rank-derived demand index on each row.
A watchlist that remembers: save a store and the next visit shows what
moved — new items, price moves old to new, apps added or removed, a theme
swap. Counted against a snapshot on your own machine. No account.
Pricing: share of the catalog discounted, average and median markdown depth,
a distribution chart with the median marked, and the deepest markdowns.
A catalog map plotting every item by price, discounted ones ringed, so the
shape of the price architecture is one glance.
Launch cadence: items added per month, 24 months back, with a crosshair,
exact values on hover and arrow-key support.
The store's own advertiser handles, parsed off the page, with pre-filtered
links into the ad libraries they belong to.
App detection across 137 maintained fingerprints — email and SMS, reviews,
subscriptions, upsell, loyalty, support — where each tile carries the
literal string that identified it, visible on the tile and not hidden
behind a hover.
Theme and advertising-pixel detection, each with the same visible evidence.
A designed report card as a 1200x1500 image, rendered entirely in your
browser, built to be dropped into a team channel or a deck.
Two export flavours: an analysis file, and a product-import file that loads
straight back into a store's own import screen.
Side-by-side comparison of two or three saved stores. Across mixed
currencies it declines to pick a winner at all, because 3,200 of one
currency is not larger than 45 of another.
Sourcing links on every row. No affiliate codes, ever.
A command palette and a "/" filter, for speed.
ON TIKTOK SHOP
The public sold counter, surfaced as what it is: a count the platform itself
put on the page.
One modelled money figure, and it is the only one in the product — sold
times current price, set in the body face inside an outlined box that refuses
to fill, with the formula printed under it, sitting beneath the count rather
than above it, labelled a ballpark and not accounting. When TikTok's counter is
truncated the estimate is a floor, and the box says so with a dashed notch down
its open edge. When either input is missing, the s…
Growth
Window
Users
Change
Ratings
Rating
7 days
+1
+33.3%
0
0.00
30 days
−1
−20.0%
0
0.00
Chrome Web Store search rankings
Where MurmSpy — Shopify Store Spy appears when people search the store, with the 30 day change