Recall data, and proof you checked it.

Normalised product recall and safety alerts from 7 official government sources — with complete amendment history and verifiable evidence that your catalogue was checked on a given date.

177,613Recalls
251,802Product identifiers
241,698Recorded amendments
53 yrsOf history
2026-09-11Data as of
Read from the live corpus, not a hard-coded claim
European Commission (Safety Gate) EUDGCCRF (RappelConso) FRCPSC USFDA USNHTSA US

The difference

Anyone can list recalls. Almost nobody can prove you looked.

Under GPSR the obligation is continuous diligence, and the thing a market surveillance authority asks for is evidence — not a feed you happened to subscribe to.

Amendment history

Agencies quietly widen recalls after publication, adding lot codes, models and date ranges without announcing it. Every observed change is stored with a field-level delta and the date we saw it. 241,698 recorded so far.

Receipts, not just results

Every check returns an immutable record of what was checked, when, against a corpus current to which date, and what was found. Your catalogue is never stored — only a digest you can reproduce yourself.

Identifiers that actually match

GTINs are check-digit validated and normalised to 14 digits, VINs upper-cased. A barcode matches regardless of the encoding it arrives in — and invalid ones are rejected rather than silently returning "no recall".

Provenance you can audit

Every record names its source; every source names its licence and required attribution. All open licences permitting commercial reuse, none share-alike, no personal data anywhere.

How it works

Three calls, one audit trail.

Look up an identifier

Check a single barcode, VIN or model number against every source at once.

Check a catalogue

Submit up to 1,000 identifiers and get matches plus a receipt of the check.

Produce the evidence

Retrieve any past receipt, frozen as it stood — later amendments never rewrite it.

GET Look up one barcode
POST Check a catalogue
# One barcode, every source
GET /v1/identifiers/gtin/00012345678905
Authorization: Bearer $KEY
# Up to 1,000 identifiers per check
POST /v1/checks
Authorization: Bearer $KEY
Response
Receipt
{
  "data": [{
    "title": "novaloa sachet 10gr past…",
    "jurisdiction": "FR",
    "match": { "confidence": "exact" },
    "revision": 2
  }],
  "meta": { "data_as_of": "2026-09-11" }
}
{
  "check_id": "186948a03f7c4eec…",
  "submitted_count": 1,
  "submitted_digest": "644639bfbbd0…",
  "match_count": 1,
  "corpus_as_of": "2026-09-11",
  "corpus_size": 177613
}

An invalid barcode is rejected outright, never returned as “no recall found”.

Re-hash your own list to reproduce submitted_digest — verifiable without trusting us.

Live from the corpus

Most recent records.

Read from the database when this page was rendered — not a screenshot.

othernovaloa sachet 10gr pastilles fruit rouge 3% cbd 2%cbn full spectre 0,05% thc shanty candy
FR · 2026-09-11
othernovaloa sachet 10gr pastilles menthe 6% cbd full spectre 0,05% thc shanty candy
FR · 2026-09-11
othernovaloa sachet 10gr pastilles fraise 6% cbd full spectre 0,05% thc shanty candy
FR · 2026-09-11
chemicalTesori d’ Oriente, fior di Loto - Lotus Flower, PROFUMO AROMATICO
EU · 2026-09-11
chemicalNecklace
EU · 2026-09-11

Pricing

Priced against building it yourself.

Seven source integrations, identifier extraction and a twenty-year backfill is roughly eighty engineer-hours. The middle tier costs about what one of them does.

free
Free
500 requests / month
5,000 checked identifiers / month
  • Full corpus access
  • Check receipts included
  • No card required
starter
$29/mo
10,000 requests / month
100,000 checked identifiers / month
  • Everything in Free
  • Amendment history
  • Email support
Most popular
growth
$99/mo
100,000 requests / month
1,000,000 checked identifiers / month
  • Everything in Starter
  • Bulk catalogue checks
  • Priority support
scale
$299/mo
1,000,000 requests / month
10,000,000 checked identifiers / month
  • Everything in Growth
  • 1,000 requests / minute
  • Corpus licence available

One-time corpus licence

Need the archive rather than a live feed? The complete corpus — 177,613 recalls, 251,802 identifiers and full amendment history — is available as a dated, checksummed export with all attribution obligations documented. Enquire.

Questions

Before you ask.

How fresh is the data?

Every source is checked daily, and the response tells you exactly how fresh it is — data_as_of on every payload is the oldest upstream freshness stamp among the sources backing it, so the claim is conservative rather than flattering. We poll once a day by design: these are public services run on public money, and hammering them for a latency figure nobody needs would be rude. What matters for compliance is that you checked and can prove it, not that you checked within fifteen minutes.

Why not just use the free government APIs?

You can, and for one source it may be the right call. The work here is the other 6: reconciling incompatible schemas, extracting and validating product identifiers from prose, backfilling 53 years of history past pagination limits that cap at a few thousand records, and detecting the amendments agencies make without announcing them. None of the upstream APIs offer any of that.

What exactly is a check receipt?

An immutable record that a given catalogue was checked on a given date against a corpus of known freshness, with the matches frozen at that moment. We do not store your catalogue — the receipt carries a SHA-256 over your normalised identifiers, so you can reproduce it independently and neither side can forge it alone.

Which jurisdictions are covered?

The EU (Safety Gate) and France (RappelConso) in depth, plus United States federal sources — CPSC, NHTSA and three openFDA datasets. Coverage is EU-first because that is where GPSR obligations bite and where product identifiers actually link across sources.

Can I redistribute the data?

Yes. Every source is under an open licence permitting commercial reuse and none is share-alike, so your product can be licensed on your own terms. Each source does require attribution, and those obligations pass to you — they are published at /v1/sources and included with every corpus export.

Is there personal data in this?

No. Contact names published by some agencies are dropped at normalisation time and never stored. There is no column anywhere in the corpus holding a natural person.