Method
Food Additive Index exists to answer one question well: where is a food additive legal, and where is it not. Everything else on a page supports that answer or cites it.
What we do not do
We do not rate additives. There is no score, no traffic light, no “safe” or “avoid”. Sites that lead with a rating are answering a different question, and a rating would misrepresent the underlying data, which is regulatory rather than evaluative.
We do not give health or dietary advice, and we do not resolve scientific disagreement. Where two bodies read the same evidence differently, both readings appear with their attribution and the site draws no conclusion of its own.
“Not listed” is not “prohibited”
This is the distinction the whole project turns on, and the one most often got wrong. A substance that is prohibited has been explicitly forbidden by a named instrument — 21 CFR 189, say. A substance that is not listed simply does not appear on that jurisdiction's permitted list. That is a statement about the list, not a finding against the substance.
The two are separate values in our database, they are rendered differently, and the constraint is enforced at the database level so that no ingest job can quietly collapse one into the other. Every jurisdiction appears on every additive page, including those with no entry at all, because omitting them would invite exactly the wrong inference.
Where the data comes from
Four primary sources, listed with their licences and retrieval dates onSources: the US Electronic Code of Federal Regulations, the Codex General Standard for Food Additives, EFSA's OpenFoodTox chemical hazards database, and PubChem for chemical identity. We read regulators directly rather than secondary compilations.
Every fact row in the database carries a foreign key to the source it came from, with a resolvable URL and the date we retrieved it. If a fact cannot be cited, it does not ship. There are currently 10,901 regulatory provisions across764 additives on this basis, last retrieved 2026-09-08.
How the data is built
Each source is ingested by a separate job that archives the raw payload before parsing it, so a parse can be corrected without re-fetching a source that has since changed. Each job is idempotent: run twice against unchanged input, the second run changes nothing. Each run reports what it added, what it changed, what it dropped and why, and which near-matches it refused to merge automatically.
Deciding when a record from one source is the same substance as a record from another is the hardest part. We merge only on exact identifiers — CAS number, then E or INS number, then an exact normalised name. Anything less certain goes to a review queue for a person to decide. A wrongly merged additive would publish one substance's legal status under another's name, which is the worst failure this site could have.
What is missing, deliberately
- Prose. Plain-English summaries and derivation descriptions are hand-written and cited. Most pages do not have them yet and say so rather than generating filler.
- Studies and interpretations. Curated by hand, not machine-read. None are published yet.
- The change feed. Amendments published but not yet in force are detected and reported by our ingest, but classifying one as a phase-out rather than a technical correction means reading the document. We would rather show nothing than guess.
- More jurisdictions. Two today. The data model is built for many, and the Codex food category tree is in place as the spine that EU and other category systems map onto.
Corrections
Every page names its sources and the date. If a page disagrees with the regulation it cites, the regulation is right and we are wrong — check the retrieval date first, since regulations change and ours may be stale.
Reuse
There is a stable JSON document for every additive under /api/v1/, and a dataset description at /llms.txt. Please carry through the retrieval date when you quote a status: a regulatory status without a date is not a fact. Source licences differ and are listed on Sources — some of the underlying data is not ours to sublicense.