What Shopify's Inventory API Won't Tell You

Jordan Lewis · 26 July 2026

Shopify API data limitations

It would be easy to build an inventory tool that confidently tells you exactly what went wrong and when. It would also, quite often, be lying to you.

Here's a limitation we run into constantly, and why it shapes how carefully Ghost Stock makes claims about your stock.

The gap in the data

Shopify's Admin API gives you a current inventory snapshot. What it doesn't give any app is a retroactive history of every manual adjustment made to that number. If someone corrected a stock count three times last month, there's no clean trail showing that happened, not unless an app was already watching in real time when it did.

That means a single scan of your store, on its own, can only ever tell you what things look like right now. It can't tell you the story of how they got that way.

Why this makes us more careful, not less

It would be tempting to paper over that gap with confident-sounding language. "Repeated manual corrections detected." "Unusual adjustment pattern." Except on a single snapshot, we'd have no actual evidence for either of those claims. We'd just be dressing up a guess.

So instead, findings that rely on this kind of pattern over time are held back until there's genuinely enough observed history to support them, built from webhook events captured going forward, not invented from a single look.

What this means for you day to day

  • Findings you do see are backed by something we can point to directly, like a SKU, a quantity, or a location.
  • Confidence levels exist because a single scan genuinely knows less than a week of observed history does, and we'd rather say that plainly than pretend otherwise.
  • As Ghost Stock watches a store for longer, its picture of that store gets more complete, not because the maths changes, but because there's more real evidence behind it.

The trade-off is that we'll sometimes stay quiet on something a flashier tool might confidently call out. We're fine with that. An honest "we don't have enough evidence yet" is more useful long term than a confident guess dressed up as a fact.

Jordan Lewis

Founder