Eighteen thousand lots.

California (AB 899) compelled 39 baby-food brands to publish their heavy-metal test results. Most of them tried to hide it as best they could, but the data was left in such a precarious place that without breaking any laws, I was able to get all of it. 18,124 records from 32 brands, every bit of it public record. Here's what it says.

Lots tested
18,124
Failures
2,381
Brands
32
Any-metal fail rate
13.1%

2,381 individual metal-lot tests exceeded an action level, one lot can fail multiple metals.

The list is the food they already shipped. FluoroSpec is for the jar in your hand.

A failed lot tells you 1 lot was bad. It does not test the food in your kitchen. One drop of FluoroSpec on a spoonful, 30 seconds, glows green if there is lead. Works on baby food, dishes, the painted plate from grandma, tap-water residue on a glass.

Why it works: the reagent forms perovskite quantum dots only where there is lead, locked to that spot. No glow, no detectable lead. No lab, no swab fade, no waiting.

FluoroSpec reagent (3,600 tests, about 18 months for a family)$129
UV penlight, so the glow reads in daylight$22
Color reference card for borderline reads$9
Pantry walkaround guide (jars, dishes, toys, the order)$0, included
Email me a photo of a result you cannot read, I read it$0, included
$160

If all this did was tell you the jar in your pantry is the clean one, would $50 be worth it? It does that, and 3,599 more tests after that.

$50
Reagent + UV + card. 3,600 tests. Baby food, dishes, ceramics, toys.
$75
Drip + spray. Pantry plus paint and dust in the whole house. Saves $25 vs buying both.
Get the Drip Kit for $50 →

Or the Full Kit for $75. Reagent is consumable so the guarantee is simple. Email me, full refund, no return.

🎰 Pantry Lottery

Check your pantry

2,381 lots exceeded an action level across 32 brands. Filter by brand, spin a random failing lot, or type in your lot code to check it directly.

Ready to spin
Hit spin to check a random failing lot
, ·, · ,
SPIN BONUS , %
Or type in your lot code:

Four ways to count.

Four ways to count. Only one is scientific.

A heavy-metal number only means something once you know the serving size. Watch what happens to a real lot when we switch units, this is a lead example:

Ppb (concentration).
The raw lab number. Not an exposure measurement. Only useful for comparing two items with the same serving size. This is the number Lead Safe Mama emphasizes. A 5 g cracker at 100 ppb gives 20× less lead than a 100 g pasta bowl at 100 ppb. Same number, very different exposure.
µg per serving.
The actual mass of metal in one serving. This is how much your child gets every time they eat this food. Real exposure, real units.
µg per day (2 servings).
Daily exposure assuming a typical 2-serving day. The number that actually predicts blood lead. The FDA Interim Reference Level (IRL) for lead is 2.2 µg/day for a child and 8.8 µg/day for an adult. Hitting the child IRL daily is modeled to raise blood lead by about 0.16 µg/dL; the adult IRL adds about 0.04 µg/dL.
% FDA IRL (child).
Same daily exposure expressed as a percentage of the child IRL. 100% does not mean “safe”. It means hitting the FDA child threshold for the day. And the same number is only ~25% of the adult IRL, so the percentage is age-specific.

Three of these measure exposure. One (ppb) measures concentration. That’s why the headline says only one is the right answer to the question “is this dangerous for my kid?”

Babylife Organics · Raspberry & Fig Oat Bar

Lot 112026 · 25 g bar
84.0
parts per billion lead. Sounds alarming, but concentration alone doesn't tell you how much your child is actually getting.
Brand summary

Publishing the data doesn't mean you passed.

The brands that disclosed the most also had some of the worst records. Transparency and safety are not the same thing.

Highest dose per serving

When measured in micrograms delivered per serving, these brands top the list. Dose, not concentration, is what maps to blood lead.

  • Loading…

Clean records

Every lot below every action level. These brands tested, published, and didn't fail. Transparency ≠ contamination.

  • Loading…
Key findings

It's not the brand. It's the ingredient.

The same five crops show up across every brand that failed. This is a supply chain problem, you can't fix it by switching brands.

The five categories below account for the bulk of exceedances across 32 brands, tracing back to soil, irrigation water, and agricultural inputs.

    Lead specifically

    But what about lead?

    Arsenic dominates the counts because it's everywhere in grain crops. Lead is different, it shows up in concentrated pockets. Unlike arsenic and cadmium, which enter food almost entirely through soil and irrigation, lead exposure for most children comes primarily from the home environment: paint dust, tracked-in soil, cookware, glazed dishes, and renovation debris. That context matters enormously for risk prioritization. These are the ingredients where food-based lead shows up:

      Most lead exposure doesn't come from food.

      For children in the U.S., food is a minor source of total lead exposure. The dominant sources are paint dust and chips in homes built before 1978, contaminated soil tracked indoors, lead plumbing, old cookware, and ceramic glazes. The most impactful first step is an XRF scan of your home, not a dietary overhaul.

      Find out what's exposing your kids.

      Two quick audits scored against FDA reference levels. One for your home, one for your diet.

      § 01 · Home risk score

      Pre-1978 home risk quiz

      12 questions about your home's age, windows, paint, water, soil, and hobbies. Maps your answers to a µg/day exposure estimate compared to the FDA reference dose.

      § 02 · Dietary audit

      Dietary lead audit

      7 questions about what you and your child regularly eat. Estimates your daily dietary lead load from FDA Total Diet Study averages, in the same µg/day units.

      About serving sizes

      Serving sizes matched from product names: pouches 99–113 g, meals 170 g, teethers 4 g, puffs 7 g, rusks 11 g, cereals 15 g dry, bars 25 g, juices 120 g. Beech-Nut defaults to 113 g jar. Under 0.5% of records fall back to a 30 g generic.

      Prefer the data in raw form? Switch to Researcher view at the top of the page.

      📋 Request the raw dataset

      The underlying normalized CSV (18,124 records) and per-brand JSON files are available to researchers, journalists, and public health professionals on request. I review each request individually.

      My hope is that this data moves us closer to regulating the ingredients in baby foods, not just the finished product. If manufacturers can't source ingredients that test below action levels, those high-heavy-metal produce streams should flow into adult food markets where serving sizes and consumption patterns reduce dose exposure. Regulating precursor ingredients upstream is the tool AB 899 makes newly possible.

      A big shoutout to Consumer Reports, their directory of brand disclosure pages is what made this project possible. Without it, I wouldn't have had the idea to do this.

      Send a data request →

      Three ways to count, one actually means something

      The argument happening under the headlines is about units. A number like "15 ppb lead" means nothing in isolation. Dose is what maps to blood lead: ppb × serving mass → µg/day → blood-lead level. Concentration is the first term, not the last.

      % of ppb threshold, practically useless

      Treats 5 ppb lead as "100%." Comes from an early FDA proposed action level for infant rice cereals, never adopted as a final rule, only ever intended for that specific product category. Applying it to all baby food is a choice someone made. It has no regulatory force and ignores serving size entirely.

      Worse: the standard lab LOD for heavy metals in food is 5 ppb. Every non-detect gets reported as 5 ppb by convention. You are literally computing a percentage of the detection floor. The numerator and the denominator are the same number. This metric is not a measurement, it's noise formatted as a fraction.

      % of Prop 65 MADL, useful, but a little misleading

      Prop 65's Maximum Allowable Dose Level for lead is 0.5 µg/day, a real number, but calibrated to reproductive and developmental toxicity, not to the blood-lead relationship. It's ~4× more conservative than the FDA IRL for the same reason: different endpoint, different math. It overstates risk framing for most parents.

      The FDA Interim Reference Level of 2.2 µg/day for children is derived from a blood-lead target of ≤5 µg/dL.

      Ppb
      × serving size
      µg/day
      → blood-lead estimate
      Roughly a 0.35 µg/dL increase in blood lead, the benchmark pediatricians have tracked since the 1990s and the basis for the CDC's reference value.

      It's the only path that connects a product label to a pediatrician's chart.

      Top lots by dose, lead first

      The headline teether at 137 ppb delivers less absolute metal than a pouch at 29 ppb, because pouches are 28× heavier.

      Brand Product Lot Metal Ppb µg/serving % FDA IRL child
      ref: Pb 2.2 / As 3.0 / Cd 3.6 / Hg 1.0 µg/day
      Loading dose data…

      All 32 brands, ranked by failures

      Brand Product types Records Failures Per-100 Max As Max Pb Headline

      Ingredient cross-cuts

      These are actual food ingredients, rice, sweet potato, oats, apple. Arsenic dominates most; only a handful are lead-driven. One product can tag multiple ingredients (a rice teether with sweet potato flavoring tags as both).

      Ingredient Records Brands Fail/100 Primary metal Worst offender

      Product-format cross-cuts

      The separate format question: teethers, puffs, bars, pouches, cereals. Formats carry ingredient-independent risk patterns, small-serving high-concentration formats (teethers, rusks) vs large-serving lower-concentration formats (pouches, meals).

      Format Records Brands Fail/100 Primary metal Worst offender

      Three things that kept showing up

      The same lots failing more than once

      Babylife Organics Raspberry & Fig Oat Bar failed lead tests in three different production lots, each hitting exactly 84.0 ppb: lot 112026, lot 021127, lot 021727. Three independent runs landing on an identical value isn't sampling noise; it's a single contaminated upstream ingredient (almost certainly oat flour) distributed across multiple product batches.

      Lot codes pointing at the same production line

      Amara's "CR25029.F4" convention encodes the production line in the trailing "F4". Their F4 lots drive most arsenic and lead failures; F1 has the mercury outlier. Aldi Little Journey's lots split into "A" and "D" series, two lines feeding Rice Rusks Apple, both failing arsenic on every one of 76 tested lots. Lot codes leak supply-chain structure the brands never intended to disclose.

      The ingredient problem, not the brand problem

      Sweet potato fails arsenic thresholds at 14 different brands. Apple-based at 17. Berry-based at 18. This isn't a brand problem, it's a raw-ingredient problem tracing upstream to soil, irrigation water, and post-harvest handling. Regulating the finished product is always late; regulating precursor ingredients at the supplier level is the tool AB 899 makes newly possible.

      Methodology

      Data collection

      Every brand's AB 899 disclosure page was collected via publicly-accessible REST endpoints, inline JSON, or static HTML, the same requests a web browser makes when loading the page. No authentication was bypassed, no credentials were forged, and no session state was tampered with. AB 899 requires these disclosures to be public; collecting public data via standard HTTP requests is explicitly lawful. Four brands (Target Good & Gather, Walmart Parent's Choice, Albertsons O Organics, Love Child Organics) use Laravel Livewire with cryptographically-signed session state; generating a forged signed token would constitute unauthorized computer access under the CFAA, so those brands are excluded from this analysis pending crowdsourced QR scans or formal AB 899 public records requests.

      Thresholds used

      Lead: 10 ppb (FDA Closer to Zero draft guidance, fruits/vegetables & single-ingredient cereals). Arsenic: 10 ppb inorganic (FDA final guidance for infant rice cereals, August 2020). Cadmium: 40 ppb (EU Contaminants Regulation 2023/915; FDA hasn't published an infant-food cadmium action level). Mercury: 10 ppb (not federally set; matches Consumer Reports' published audits).

      Dose calculation

      µg per serving = ppb × serving grams ÷ 1000. Serving sizes are matched from product names (pouches 99–113 g, meals 170 g, teethers 4 g, puffs/snack bites 7 g, rusks 11 g, cereals 15 g dry, bars 25 g, juices 120 g) with brand-level defaults for API-only sources. Less than 0.5% of records fall back to a 30 g generic default.

      Reference daily doses for a ~10 kg toddler: Lead 2.2 µg/day (FDA IRL); Arsenic 3.0 µg/day (ATSDR chronic oral MRL); Cadmium 3.6 µg/day (EFSA TWI); Mercury 1.0 µg/day (FDA RfD inorganic).

      Exclusions and caveats

      Values above 1000 ppb excluded as suspected unit mix-ups (e.g. A single Earth's Best mercury value of 3156 ppb was almost certainly ng/kg misreported as µg/kg). "

      100 free FluoroSpec kits, yours if you qualify.

      HUD Lead Hazard Control grantees, Public Housing Authorities, and CDC/EPA grant recipients can apply for 100 free Fluoro-Spec detection kits (~50,000 tests). If you're working in lead hazard control and want to add food and household surface screening to your program, this is free.

      Learn more on the grantees page →

      Back to the parent-facing version? Switch to Parent view at the top.

      © 2026 DetectLead / Fluoro-Spec LLC · Analysis, dose calculations, and presentation are proprietary. Underlying test results are public record per CA AB 899. Reproduction of this analysis without written permission is prohibited.

      You read the list. Now test the food in your house.

      18,124 lots is what the brands shipped. The jar on your counter is its own lot. One drop. Thirty seconds. If it glows green, it has lead.

      FluoroSpec reagent, 3,600 tests$129
      UV penlight, glow reads in daylight$22
      Color reference card for borderline reads$9
      Pantry walkaround guide$0, included
      Email me a result photo, I read it back$0, included
      $160

      If all this did was let you skip a single recalled jar your kid was about to eat, $50 would pay for itself once. It does that, 3,600 times.

      Get the Drip Kit for $50 →

      Or the Full Kit for $75. Reagent is consumable so the guarantee is simple. Email me, full refund, no return.

      I made these. They are free.

      Six tools my family uses to keep our kid under the FDA action threshold. Type your email. You get all six on this page in two seconds.

      1. 1. Baby Food Database18,124 lots, this page. Search by brand, ingredient, lot.
      2. 2. Blood Lead Calculator1,370 foods scored by ICP-MS. Get µg/day vs the FDA IRL.
      3. 3. Baby-Proof Risk Quizan 8-question read of your house. Risk band you can defend to a pediatrician.
      4. 4. Baby Bottle Review Sheetevery bottle scored on lead and the substances next to it.
      5. 5. Leaducational Pages2,165 dishes scanned with a niton xl5 plus.
      6. 6. Lead Framework Book106 pages. Learn, examine, abate, detox, live.

      No spam. One short email every few days. Leave any day you want, one click.