Toy Choking Hazard Warning Checker (CPSC) avatar

Toy Choking Hazard Warning Checker (CPSC)

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Toy Choking Hazard Warning Checker (CPSC)

Toy Choking Hazard Warning Checker (CPSC)

Check toy listings on Amazon, Temu, Walmart, Etsy or your shop for the US choking-hazard warnings that CPSC rules require in online ads: small parts, latex balloons, small balls and marbles. Reads age grades, flags small parts for under-3s, and notes button batteries and magnets. Sources cited.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Ultimate Foresight Inc

Ultimate Foresight Inc

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Share

Check toy listings on Amazon, Temu, Walmart, Target, Etsy or your own shop for the choking-hazard warnings US law requires in online ads. Under CPSIA section 105 and 16 CFR 1500.19 and 1500.20, internet listings that let buyers purchase directly must show the warning for toys with small parts for ages 3 to 6, latex balloons, small balls and marbles. The Toy Choking Hazard Warning Checker reads the age grade, spots these items, checks for the required wording, flags small parts for children under 3 and adds notes for button batteries and high-powered magnets. Click Start with the prefilled example to see it work.

This is automated keyword screening of listing text, not a determination that a product or listing complies or is safe. It can't measure parts or balls. Not legal advice; every row carries this disclaimer and a timestamp.

What does the Toy Choking Hazard Warning Checker do?

  • ✅ Small parts warning for toys for ages 3 to under 6 ("WARNING: CHOKING HAZARD—Small parts. Not for children under 3 yrs."), with a medium finding when no age grade is found.
  • ✅ Balloon warning for latex balloons and toys that contain them. Foil and Mylar balloons, balloon pumps and balloon prints are skipped.
  • ✅ Small ball warning for balls of 1.75 in (44.4 mm) or less, using stated diameters, ping pong and golf ball sizes.
  • ✅ Marble warning for marbles and toys that contain them, skipping marble countertops, patterns and finishes.
  • ✅ Small parts for under-3s: listings graded for babies or toddlers that mention beads, small pieces, magnets or similar (banned under 16 CFR 1501 if the parts fail the test cylinder).
  • ✅ Age grade parsing: "Ages 3+", "4-7 years", "18 months and up", with player counts and piece counts ignored.
  • ✅ Notes for button and coin batteries (16 CFR 1263, Reese's Law) and high-powered magnets (16 CFR 1262). Exempt items such as books, crayons, chalk and modeling clay are recognised.
  • ✅ Output per listing: minAgeYears, detected, warningsFound, riskLevel, issues (ruleId, severity, message, requiredWarning, sourceUrl, fixHint), checkedAt and a disclaimer.

Who is it for?

  • Toy sellers on Amazon, Walmart, Temu, Etsy and Shopify checking product pages before CPSC or marketplace reviews.
  • Marketplaces and retailers auditing third-party toy listings in bulk.
  • Importers and brand managers reviewing listing copy for new SKUs.
  • Product safety researchers scanning scraped toy listings.

How to check toy listings for choking warnings

  1. Click Start with the prefilled example (building blocks, latex balloons, ping pong balls with the warning, and foil balloons).
  2. Replace Listings with your own: title, description, features, warnings, ageRange or minAge.
  3. Or enter a Dataset ID from an Amazon, Temu, Walmart or Etsy scraper. Common fields are detected automatically; use Field map with dotted paths for nested ones.
  4. Turn on Only save rows with findings to skip clean listings; you only pay for saved rows.
  5. Export results as CSV, Excel or JSON, or fetch them through the API.

Input example

This is the prefilled input:

{
"listings": [
{
"id": "EXAMPLE-BLOCKS",
"title": "Example building blocks set, 120 pcs, for kids ages 3+",
"description": "Colourful bricks for creative play."
},
{
"id": "EXAMPLE-BALLOONS",
"title": "Example latex party balloons, 100 pack",
"description": "Assorted colours for birthdays."
},
{
"id": "EXAMPLE-PINGPONG",
"title": "Example ping pong balls toy set for kids ages 4+",
"warnings": "WARNING: CHOKING HAZARD—This toy is a small ball. Not for children under 3 yrs."
},
{
"id": "EXAMPLE-FOIL",
"title": "Example foil balloons, happy birthday, 40 inch"
}
]
}

Dataset mode:

{"datasetId": "YOUR_DATASET_ID", "fieldMap": {"title": "goods_name", "description": "descriptionText", "ageRange": "attributes.age"}, "onlyFlagged": true}

Output example

Real output from a run of the prefilled input on 2026-10-31 (long finding lists are shortened here; the run returns all of them):

[
{
"itemNo": 1,
"listingId": "EXAMPLE-BLOCKS",
"title": "Example building blocks set, 120 pcs, for kids ages 3+",
"minAgeYears": 3,
"ageText": "ages 3+",
"detected": {
"latexBalloon": false,
"marble": false,
"smallBall": false,
"ballDiameterIn": null,
"smallParts": true,
"exemptCategory": false,
"toySignals": true,
"infantSignals": false
},
"warningsFound": {
"smallParts": false,
"balloon": false,
"smallBall": false,
"marble": false,
"genericChoking": false
},
"riskLevel": "high",
"issueCount": 1,
"categoriesFlagged": [
"small_parts_warning_missing"
],
"issues": [
{
"ruleId": "small_parts_warning_missing",
"severity": "high",
"message": "Listing for a toy for ages 3 to under 6 doesn't show the small-parts choking warning. 16 CFR 1500.19(b)(1) requires it for toys with small parts for children 3 to under 6, and 1500.20 requires it in internet ads.",
"requiredWarning": "WARNING: CHOKING HAZARD—Small parts. Not for children under 3 yrs.",
"sourceUrl": "https://www.ecfr.gov/current/title-16/chapter-II/subchapter-C/part-1500/section-1500.19",
"fixHint": "Show the warning on the product page before purchase."
}
],
"url": null,
"checkedAt": "2026-10-31T18:43:38+00:00",
"disclaimer": "Automated keyword screening of the listing text supplied against the US choking-hazard..."
},
{
"itemNo": 2,
"listingId": "EXAMPLE-BALLOONS",
"title": "Example latex party balloons, 100 pack",
"minAgeYears": null,
"ageText": null,
"detected": {
"latexBalloon": true,
"marble": false,
"smallBall": false,
"ballDiameterIn": null,
"smallParts": false,
"exemptCategory": false,
"toySignals": false,
"infantSignals": false
},
"warningsFound": {
"smallParts": false,
"balloon": false,
"smallBall": false,
"marble": false,
"genericChoking": false
},
"riskLevel": "high",
"issueCount": 1,
"categoriesFlagged": [
"balloon_warning_missing"
],
"issues": [
{
"ruleId": "balloon_warning_missing",
"severity": "high",
"message": "Listing appears to sell latex balloons but doesn't show the balloon choking warning. 16 CFR 1500.19(b)(2) requires it on latex balloons and toys containing them, and 1500.20 requires it in internet ads that allow direct purchase.",
"requiredWarning": "WARNING: CHOKING HAZARD—Children under 8 yrs. can choke or suffocate on uninflated or broken balloons. Adult supervision required. Keep uninflated balloons from children. Discard broken balloons at once.",
"sourceUrl": "https://www.ecfr.gov/current/title-16/chapter-II/subchapter-C/part-1500/section-1500.19",
"fixHint": "Show the full warning near the price or add-to-cart."
}
],
"url": null,
"checkedAt": "2026-10-31T18:43:38+00:00",
"disclaimer": "Automated keyword screening of the listing text supplied against the US choking-hazard..."
},
{
"itemNo": 3,
"listingId": "EXAMPLE-PINGPONG",
"title": "Example ping pong balls toy set for kids ages 4+",
"minAgeYears": 4,
"ageText": "ages 4+",
"detected": {
"latexBalloon": false,
"marble": false,
"smallBall": true,
"ballDiameterIn": 1.57,
"smallParts": false,
"exemptCategory": false,
"toySignals": true,
"infantSignals": false
},
"warningsFound": {
"smallParts": false,
"balloon": false,
"smallBall": true,
"marble": false,
"genericChoking": true
},
"riskLevel": "none found",
"issueCount": 0,
"categoriesFlagged": [],
"issues": [],
"url": null,
"checkedAt": "2026-10-31T18:43:38+00:00",
"disclaimer": "Automated keyword screening of the listing text supplied against the US choking-hazard..."
},
{
"itemNo": 4,
"listingId": "EXAMPLE-FOIL",
"title": "Example foil balloons, happy birthday, 40 inch",
"minAgeYears": null,
"ageText": null,
"detected": {
"latexBalloon": false,
"marble": false,
"smallBall": false,
"ballDiameterIn": null,
"smallParts": false,
"exemptCategory": false,
"toySignals": false,
"infantSignals": false
},
"warningsFound": {
"smallParts": false,
"balloon": false,
"smallBall": false,
"marble": false,
"genericChoking": false
},
"riskLevel": "none found",
"issueCount": 0,
"categoriesFlagged": [],
"issues": [],
"url": null,
"checkedAt": "2026-10-31T18:43:38+00:00",
"disclaimer": "Automated keyword screening of the listing text supplied against the US choking-hazard..."
}
]

How much does it cost to check toy listings?

This Actor uses pay-per-event pricing: $0.003 per listing saved plus a $0.00005 start fee per run, plus small platform usage paid by you (a few hundredths of a cent for small runs). That's about $3.00 for 1,000 listings and $30.00 for 10,000 plus usage. With Only save rows with findings on, rows without findings aren't saved or charged. You can set a maximum cost per run in the run options.

Use it through the API, integrations or AI agents

  • Run it and get results in one call: https://api.apify.com/v2/acts/ultimatemc~toy-choking-warning-checker/run-sync-get-dataset-items
  • Use it from AI agents through the Apify MCP server: https://mcp.apify.com?tools=ultimatemc/toy-choking-warning-checker
  • Schedule it after a daily scraper run, send flagged rows to Slack or email with webhooks, or connect it to Make, Zapier, n8n or Google Sheets.
  • Chain it after a toy or marketplace scraper by passing the scraper's dataset ID.

How it works

Checks are deterministic rules written from 16 CFR 1500.19, 1500.20 and 1501 and CPSC business guidance, checked on 2026-10-31. Item types are found with keyword patterns, false friends are removed first, age grades are parsed from the title, description or age field, and warning text is matched against the required wording. No AI and no external calls.

Sources:

FAQ

Do online listings really need the warning?

Yes, in the US. 16 CFR 1500.20 requires the choking-hazard warning in internet and catalog ads that let buyers purchase directly, on or next to the product description.

Why are foil balloons skipped?

The balloon warning applies to latex balloons. Foil and Mylar balloons are skipped unless latex balloons are also mentioned.

Can it tell if a part is small?

No. It reads text only. Small parts are defined by the CPSC test cylinder, so the checker uses listing words as a signal.

Does it cover the EU or UK?

No. It covers US federal rules only.

Is it AI?

No. It's a fixed set of rules, so results are repeatable.

Limitations

  • Text only: it can't measure parts, balls or test products.
  • Keyword detection can miss items described in unusual words or flag some non-toys.
  • US federal rules only; ASTM F963 details and state laws aren't checked.
  • Age grades are taken from text and may be misread when several ages appear.

Other tools by Ultimate Foresight

Found a false positive? Open an issue on the Issues tab with the listing text and what you expected, and we'll review the rule.