What PubTrace does, and how

The problem, shown not told

Here's an illustrative example of a common pattern: a package launches, gets a burst of attention, then settles into a quieter, steady rhythm. pub.dev's UI only shows a rolling 30-day count. Once that launch spike ages out of the window, the number looks like it "dropped". It didn't; the historical downloads still happened. Same package, two ways:

What pub.dev shows you

234

downloads, last 30 days

What PubTrace shows you

6484

downloads, past 12 months

Illustrative example, not a real package's data.

What PubTrace does

PubTrace fetches pub.dev's own public API, live, and sums the 52 weeks of download data it already publishes but doesn't surface in its UI. It shows you the whole year pub.dev is already tracking, not a new metric it invented.

How it works: live, using dio

  1. You search a package, say dio, the ecosystem's most recognizable HTTP client.
  2. PubTrace calls pub.dev's public API live; no caching layer hides where the numbers came from beyond a 1-hour refresh.
  3. It sums the 52 weekly values and charts them. This is that chart, right now:

33,786,663 downloads

dio, past 12 months · 8,349 likes · 160/160 pub points

curl https://pub.dev/api/packages/dio/metrics

What it does NOT do

  • No database of record. Nothing is stored between visits.
  • No accounts, no signup, no tracking.
  • No numbers older than 12 months. pub.dev's public API only exposes the trailing 52 weeks; anything before that genuinely isn't retrievable, by anyone, from this API.

FAQ

Why did my pub.dev download count suddenly drop?
It almost certainly didn't. pub.dev's UI shows a rolling 30-day count. If you had a launch spike, it eventually ages out of that 30-day window and the number falls back to your steady-state rate. The historical downloads still happened.
Is this my all-time total?
No. It's your total for the past 12 months. pub.dev's public API only exposes 52 trailing weeks of data, so that's the most PubTrace (or anyone) can honestly show. If your package is younger than 12 months, that total is also your lifetime total, and we say so.
How can I verify these numbers myself?
Every package page has a "Verify these numbers yourself" panel with the exact curl command, the raw JSON link, and the arithmetic. Run it yourself; you don't have to trust us.
Is this affiliated with Google?
No. PubTrace is an independent project and is not affiliated with Google or the Dart team. Flutter and Dart are trademarks of Google LLC.

Built by

Oluwaseyi Fatunmole

Built by a Dart package author who watched his own download count "vanish", and went digging.

Trace your package →

See your whole year, not just the last 30 days.

Or start from Home →