{"openapi":"3.1.1","info":{"title":"Consumer product recalls by year and hazard (CPSC recall notices): data API","version":"v1","summary":"Static, read-only JSON and CSV files. No key, no sign-up. CORS open.","description":"Consumer product recalls by year and hazard (CPSC recall notices): Recalls announced by the U.S. Consumer Product Safety Commission (CPSC) since 2010, counted for the whole period, for each recall year and for each of ten hazard classes (fire and burn, falls and tip-overs, laceration, choking and suffocation, ingestion, entrapment and pinch injuries, electric shock, poisoning and chemicals, crashes and collisions, drowning, plus a class for the rest). Each count comes with the number of recalls whose notice reports an injury and the number that report a death, parsed from the notice's own incident text, and with the units the notices give. A recall that names several hazards counts once in each class and once in the totals. The counts come from CPSC's recall API; no firm names, contacts or narratives are kept.\n\nProbative is a marketing firm, not a law firm; not legal advice. Every JSON response starts with a \"meta\" object holding the credit line, citation, DOI and license (CC BY 4.0).","license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"contact":{"name":"Probative Growth","url":"https://probativegrowth.com/contact/","email":"hello@probativegrowth.com"}},"servers":[{"url":"https://probativegrowth.com"}],"externalDocs":{"description":"How to use the API and the MCP server","url":"https://probativegrowth.com/resources/rules-api/"},"paths":{"/data/v1/product-recalls/index.json":{"get":{"summary":"Consumer product recalls by year and hazard (CPSC recall notices): index","description":"product-recalls: meta, summary and what the dataset holds","parameters":[],"responses":{"200":{"description":"Consumer product recalls by year and hazard (CPSC recall notices): index","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"No such file"}},"tags":["product-recalls"]}},"/data/v1/product-recalls/changes.json":{"get":{"summary":"Consumer product recalls by year and hazard (CPSC recall notices): confirmed changes","description":"product-recalls: confirmed changes, newest first","parameters":[],"responses":{"200":{"description":"Consumer product recalls by year and hazard (CPSC recall notices): confirmed changes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"No such file"}},"tags":["product-recalls"]}},"/data/v1/product-recalls/levels/{key}.json":{"get":{"summary":"Consumer product recalls by year and hazard (CPSC recall notices): one level","description":"product-recalls: the records for one level","parameters":[{"name":"key","in":"path","required":true,"description":"The level key, uppercase","schema":{"type":"string"},"example":"HAZARD"}],"responses":{"200":{"description":"Consumer product recalls by year and hazard (CPSC recall notices): one level","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"No such file"}},"tags":["product-recalls"]}},"/data/v1/product-recalls/product-recalls.csv":{"get":{"summary":"Consumer product recalls by year and hazard (CPSC recall notices) as CSV","description":"product-recalls: every record (credit line in README.txt)","parameters":[],"responses":{"200":{"description":"Consumer product recalls by year and hazard (CPSC recall notices) as CSV","content":{"text/csv":{"schema":{"type":"string"}}}},"404":{"description":"No such file"}},"tags":["product-recalls"]}},"/data/v1/product-recalls/product-recalls.json":{"get":{"summary":"Consumer product recalls by year and hazard (CPSC recall notices): every record","description":"product-recalls: every record in one file","parameters":[],"responses":{"200":{"description":"Consumer product recalls by year and hazard (CPSC recall notices): every record","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"No such file"}},"tags":["product-recalls"]}},"/data/v1/product-recalls/search.json":{"get":{"summary":"Consumer product recalls by year and hazard (CPSC recall notices): keyword index","description":"product-recalls: id, key, status and text of every record","parameters":[],"responses":{"200":{"description":"Consumer product recalls by year and hazard (CPSC recall notices): keyword index","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"No such file"}},"tags":["product-recalls"]}},"/data/v1/product-recalls/README.txt":{"get":{"summary":"Credit line, citation and columns","description":"product-recalls: the CSV sidecar","parameters":[],"responses":{"200":{"description":"Credit line, citation and columns","content":{"text/plain":{"schema":{"type":"string"}}}},"404":{"description":"No such file"}},"tags":["product-recalls"]}}},"components":{"schemas":{"Meta":{"type":"object","description":"Credit line, citation, DOI, version, license and disclaimer. Present in every response.","required":["dataset","version","license","attribution","disclaimer","url"],"properties":{"dataset":{"type":"string"},"title":{"type":"string"},"version":{"type":"string"},"doi":{"type":["string","null"]},"doiUrl":{"type":["string","null"]},"conceptDoi":{"type":["string","null"]},"license":{"type":"string","const":"CC BY 4.0"},"licenseUrl":{"type":"string"},"attribution":{"type":"string"},"citation":{"type":"string"},"disclaimer":{"type":"string"},"notice":{"type":"string"},"lastChecked":{"type":"string"},"url":{"type":"string"},"humanUrl":{"type":"string"},"statusCodes":{"type":"object"}}},"Envelope":{"type":"object","required":["meta"],"properties":{"meta":{"$ref":"#/components/schemas/Meta"}},"additionalProperties":true}}}}