+Refill Scout Watch a drug

Provenance

Data and provenance

Every snapshot we have taken of the FDA feed, with its content hash, and a measurement of how complete that feed actually is. The raw files and the full change history live in a repository, so the record can be audited rather than taken on trust.

Stacked translucent glass plates etched with a fingerprint pattern — the mark used for snapshot hashes
1,623
listings tracked
132
manufacturers reporting
1,575
package codes carried
3.6yrs
median time a listing has been listed
24h
maximum data age

How complete the source is

Every listing is reduced to these twelve fields. This is what share of the 1,623 listings actually carry each one, measured from the snapshot this page was built from.

12
fields kept per listing
10
populated on every listing
2
with gaps
28%
report no availability
FieldPopulatedWhat it is
availability
72.5%
The supply position in free text. Blank whenever the FDA stops reporting one.
company_name
100%
The manufacturer. What you name on the phone.
contact_info
100%
The manufacturer's own shortage line.
dosage_form
99.0%
Tablet, capsule, injection and so on.
generic_name
100%
The substance, not the brand. Our routing starts here.
initial_posting_date
100%
When the FDA first posted this shortage.
package_ndc
100%
The code on your bottle. The only identifier a patient can read off a label.
presentation
100%
Free text holding the strength, which we parse and never guess at.
status
100%
Current, To Be Discontinued or Resolved — a separate axis from availability.
therapeutic_category
100%
One or more clinical categories; drives the category hubs.
update_date
100%
When the FDA last touched the record. Not when anything changed.
update_type
100%
Reverified, Revised or New. Only two of those can mean a real change.

The gap that matters is the first one. 447 listings carry no availability text, and 444 of those are products the FDA has marked To Be Discontinued. We leave the field blank rather than inferring a status from the absence of one. The full breakdown is on the methodology page.

Snapshots

FetchedListingsSHA-256
2026-08-251,6282b841cfe5b06288e25e8c638…
2026-08-261,623021d4dfd5d742d955f926998…

2 snapshots and 3 comparison files recorded so far. A snapshot is stored only when its content hash differs from the previous one, so identical days do not create duplicates.

How a snapshot is stored

We take the full feed, reduce each listing to the twelve fields above, sort them, and hash the result. If the hash matches the previous snapshot nothing is written, so a quiet weekend does not create four identical files. If it differs, the whole snapshot is stored compressed and the hash is recorded above.

That hash is what makes any page on this site checkable. A page names the snapshot it was built from; the snapshot is in the repository; the repository history says when it arrived and has not been rewritten since.

What a comparison file holds

Alongside each snapshot we store the comparison that produced it: which listings appeared, which disappeared, which changed and in what field, and whether each change was worth alerting anyone about. The comparison also records whether the run was marked suspect, and why.

Keeping the comparison rather than recomputing it matters, because the rules for what counts as a change can improve over time. The record of what we actually said on a given day should not silently change when the code does.

Source and licence

Everything here derives from the openFDA drug shortage endpoint, used under the openFDA license. We add no availability data of our own. Our only contribution is the comparison between days and the way it is presented.

The FDA’s own terms are worth repeating: do not rely on openFDA to make decisions regarding medical care. We reproduce the data faithfully; that is a different thing from the data being sufficient for a decision about your treatment.

25
distinct dosage forms in the feed
24
therapeutic categories
1,575
distinct package codes
48
codes on more than one listing

Built from the FDA drug shortage database, fetched 2026-08-26; the feed’s own last update was 2026-08-25. Snapshot 021d4dfd5d742d95. You can check us against the FDA source, and read what we get wrong.