-
Notifications
You must be signed in to change notification settings - Fork 2
Data Sources
The existing recalls.gov website references the following organizations as owning recall data:
- Consumer Product Safety Commission (CPSC)
- Food and Drug Administration (FDA)
- National Highway Traffic Safety Administration (NHTSA)
- U.S. Coast Guard (USCG)
- Food Safety and Inspection Service (FSIS)
- Centers for Disease Control and Prevention (CDC)
- Department of Health and Human Services (HHS)
- Environmental Protection Agency (EPA)
- http://www.cpsc.gov/en/Recalls/CPSC-Recalls-Application-Program-Interface-API-Information/
- http://www.cpsc.gov/Global/info/Recall/CPSC-Recalls-Retrieval-Web-Services-Programmers-Guide_3-25-2015.pdf
- XML
- JSON
- RecallNumber
- RecallDateStart
- RecallDateEnd
- LastPublishDateStart
- LastPublishDateEnd
- RecallURL
- RecallTitle
- ConsumerContact
- RecallDescription
- ProductName
- ProductDescription
- ProductModel
- ProductType
- RecallInconjunctionCountry
- ImageURL
- Injury
- ManufacturerCountry
- UPC – see caveat below
- Hazard
- Manufacturer
- Remedy
- Retailer
Always returned:
- RecallNumber
- RecallDate
- Description
- URL
- Title
- ConsumerContact
- LastPublishDate
Optionally returned:
- Products:
- Product:
- Name
- Description
- Model
- Type
- CategoryID
- NumberOfUnits
- Inconjunctions:
- Inconjunction
- Country
- Images
- Image
- URL
- Injuries
- Injury
- Name
- Manufacturers
- Manufacturer
- Name
- CompanyID
- ManufacturerCountries
- ManufacturerCountry
- Country
- ProductUPCs
- ProductUPC
- UPC
- Hazards
- Hazard
- Name
- HazardTypeID
- Remedies
- Remedy
- Name
- Retailers
- Retailer
- Name
- CompanyID
http://www.saferproducts.gov/RestWebServices/Recall?RecallNumber=14189&format=json
[
{
"RecallID":1691,
"RecallNumber":"14189",
"RecallDate":"2014-05-22T00:00:00",
"Description":"The recall includes the Bristle Builders® for Toddlers sets sold with 52 plastic pieces consisting of building pieces and three animal figures. The animal figures include a yellow duck with a purple round base, a brown horse with a blue round base and a pink pig with a round green base. The building pieces include circle, rectangle, square and triangle-shaped pieces in different colors with a green 8” by 4.5” rectangle base. Pieces are covered with plastic bristle pegs which allow all the pieces to connect. Production number EC559597 is printed on the smooth side of the green baseplate.",
"URL":"http://www.cpsc.gov/en/Recalls/2014/Lakeshore-Learning-Materials-Recalls-Bristle-Builders-for-Toddlers-Play-Sets/",
"Title":"Lakeshore Learning Materials Recalls Bristle Builders for Toddlers Play Sets Due to Choking Hazard",
"ConsumerContact":"Lakeshore Learning Materials at (800) 428-4414 from 8 a.m. to 5 p.m. PT Monday through Friday or online at www.lakeshorelearning.com and click on “Product Safety” for more information.",
"LastPublishDate":"2015-01-09T00:00:00",
"Products":[
{
"Name":"Lakeshore Bristle Builders® for Toddlers",
"Description":"",
"Model":"",
"Type":"Toy Play Sets/Activity Sets",
"CategoryID":"2201",
"NumberOfUnits":"About 2,000"
}
],
"Inconjunctions":[
],
"Images":[
{
"URL":"http://www.cpsc.gov/Global/Images/Recall/2014/14189/Bristle Builders play setsLARGE.jpg"
}
],
"Injuries":[
{
"Name":"None reported."
}
],
"Manufacturers":[
{
"Name":"Bosswin",
"CompanyID":""
}
],
"ManufacturerCountries":[
{
"Country":"China"
}
],
"ProductUPCs":[
],
"Hazards":[
{
"Name":"The base of the three animal figures can detach, posing a choking hazard to young children.",
"HazardTypeID":"40"
}
],
"Remedies":[
{
"Name":"Consumers should immediately take the three animal figures away from children and contact the company to receive a free replacement set of the three animal figures."
}
],
"Retailers":[
{
"Name":"Lakeshore retail stores, Lakeshore Learning Materials’ Early Childhood catalog and online at www.lakeshorelearning.com from December 2013 to April 2014 for about $30.",
"CompanyID":""
}
]
}
]
Note: Searches by UPC can be problematic for several reasons: CPSC does not have UPCs for every product recalled and companies use and re-use UPCs differently. For these reasons, a search by UPC can lead to false positive or false negative results. Although CPSC provides a Search by UPC method, we strongly recommend using the RecallDescription or ProductName search for more complete and accurate recall information
A second response format is supported using the RecallDelimited/
endpoint, which looks like it just flattens all nested structures.
The docs describe this as a "non-normalized bar-delimited data format," which doesn't seem accurate—the results are still returned in an XML or JSON structure, not as bar-delimited text rows.
So, we'll just ignore this endpoint as it seems inconsistent with its documentation and doesn't seem to offer any benefit over structured JSON/XML.
- https://open.fda.gov/api/reference/
- https://open.fda.gov/device/recall/
- https://open.fda.gov/drug/event/
- https://open.fda.gov/food/enforcement/
- JSON
TODO
Structure is the same for devices, drugs, and food APIs.
Meta:
- meta.disclaimer
- meta.license
- meta.last_updated
- meta.results.skip
- meta.results.limit
- meta.results.total
Response:
- event_id
- reason_for_recall
- status
- distribution_pattern
- product_type
- product_description
- product_quantity
- recall_initiation_date
- country
- state
- city
- recalling_firm
- report_date
- classification
- voluntary_mandated
- code_info
- openfda
- initial_firm_notification
{
"meta": {
"disclaimer": "openFDA is a beta research project and not for clinical use. While we make every effort to ensure that data is accurate, you should assume all results are unvalidated.",
"license": "http://open.fda.gov/license",
"last_updated": "2014-08-01",
"results": {
"skip": 0,
"limit": 1,
"total": 1355
}
},
"results": [
{
"reason_for_recall": "Cass-Clay Creamery is voluntarily recalling a number of ice cream products because they may contain undeclared soy (lecithin).",
"status": "Ongoing",
"distribution_pattern": "ND, AZ, MN, SD, KS",
"product_quantity": "81 containers",
"recall_initiation_date": "20120720",
"state": "ND",
"event_id": "62644",
"product_type": "Food",
"product_description": "Cass-Clay , Swiss Chip, 3 Gallon(11.34 L).",
"country": "US",
"city": "Fargo",
"recalling_firm": "Cass Clay Creamery AMPI Fargo Division",
"report_date": "20120905",
"voluntary_mandated": "Voluntary: Firm Initiated",
"classification": "Class II",
"code_info": "all products that has a plant code of \"38-25\".",
"openfda": {},
"initial_firm_notification": "Two or more of the following: Email, Fax, Letter, Press Release, Telephone, Visit"
}
]
}
openFDA is a beta research project and not for clinical use. We may limit or otherwise restrict your access to the API in line with our Terms of Service.
API key not required but increases rate limiting (per IP address)
- might not need a key?
- might want a global key with limiting arranged to be removed / performed upstream by this project?
Attribution requested:
While not required, when using content, data, documentation, code, and related materials from openFDA in your own work, we ask that proper credit be given. An example citation is provided below: Data provided by the U.S. Food and Drug Administration (https://open.fda.gov)
No API found.
Potential data sources:
- RSS Feeds
- Car seats — incomplete list?
- Vehicles — current month?
- Tires — current calendar year?
- Last 6 months of recalls as PDFs
- Last 10 years of child seat recalls as well-structured HTML (scrape it?)
No real API docs (no real API) — Homepage
- XML (RSS feeds)
- HTML (search forms)
- PDF (monthly recall reports)
Via HTML form:
- VIN
- Year, make, model
- Brand name, tire line/size
- Brand name, part/model no.
- Keyword (complaints only)
- NHTSA ID
Varies by potential data source. See examples below.
Most include (but not in a structured way):
- Recall ID
- Brand/Make
- Model
- Production Dates/Model Year
- Title
- Description
- URL
HTML
RSS
<rss version="2.0">
<channel>
<title>Vehicle Recalls</title>
<link>http://www-odi.nhtsa.dot.gov/</link>
<description>
The Office of Defects Investigation (ODI) is an office within the National Highway Traffic Safety Administration (NHTSA). ODI conducts defect investigations and administers safety recalls to supp\
ort the NHTSA's mission to improve safety on our Nation's highways. NHTSA is authorized to order manufacturers to recall and repair child_seat or items of motor vehicle equipment when ODI investigation\
s indicate that they contain serious safety defects in their design, construction, or performance. ODI also monitors the adequacy of manufacturers' recall campaigns. Before initiating an investigation,\
ODI carefully reviews the body of consumer complaints and other available data to determine whether a defect trend may exist.
</description>
<language>en-us</language>
<lastBuildDate>TUE, 27 OCT 2015 06:00:00 EST</lastBuildDate>
<image>
<title>www-odi.nhtsa.dot.gov</title>
<url>
http://www-odi.nhtsa.dot.gov/images/NHTSA_Logo2.gif
</url>
<link>http://www-odi.nhtsa.dot.gov/recalls</link>
</image>
<item>
<title>RAM ( 15V661000 )</title>
<description>
Dated: OCT 15, 2015 Chrysler (FCA US LLC) is recalling certain model year 2015-2016 Ram 1500 trucks manufactured June 17, 2015, to September 28, 2015. The affected vehicles may have been built \
with rear axles that were ...
</description>
<link>
http://www-odi.nhtsa.dot.gov/owners/SearchResults?searchType=ID&targetCategory=R&searchCriteria.nhtsa_ids=15V661000&refurl=rss
</link>
<pubDate>TUE, 27 OCT 2015 06:00:00 EST</pubDate>
<guid isPermaLink="false">RAM ( 15V661000 )</guid>
</item>
<item>
...
<item>
<item>
...
<item>
<item>
...
<item>
</channel>
</rss>
- No programatic search interface (would have to scrape web form)
- No clear way to get a full data dump (except child seats as HTML to be parsed)
- RSS feeds seem to have some arbitrary date/result number limit
Probably not going to be able to easily include this one at first.
Might consider building our own clone of their data somehow and trying to keep it fresh with deltas (via RSS feeds and/or their email subscription service to AWS SMS, or similar).
http://www.uscgboating.org/content/recalls.php
- Web search/browse
- XML data dump (12 MB)
- MIC / company
- Model
- Model Year
- Recall ID
- Company
- Model Name
- Model Year
- Problem 1
- Problem 2
- HIN
- Disposition
- Units
- Boat type (numerical – key?)
- Severity
- Comments
- MIC (initials?)
- Company Official (initials?)
- Case Open Date
- Case Close Date
- Campaign Open Date
- Campaign Close Date
- Last Date
- Officer (initials?)
- District (numerical)
- Source
- Hotline (bool?)
HTML
Number 14CG011 MIC: REC
Company: RECREATION UNLIMITED LLC Company Official: PLC
Model Name: 168 BAY CC Model Year: 2014
Problem 1:
Problem 2:
HIN REC22371F314 Case Open Date: 11/20/2014
Disposition: OPEN Case Close Date:
Units 1 Campaign Open Date
Boat Type 11 Campaign Close Date
Severity: Last Date: 5/7/2015
Comments:
The model tested did not meet the safety standards marked FAILED on the enclosed summary of test results. Mailed report, CUR and DNR forms 12/4/14 JK. Mailed retest Boat test PASSED - MNF needs to submit DNR 3/2/15 JK. Checking in house 5/7/15 JK.
XML
<?xml version="1.0" encoding="UTF-8"?>
<dataroot xmlns:od="urn:schemas-microsoft-com:officedata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Cases%20and%20Campaigns.xsd" generated="2015-10-01T11:33:33">
<Cases_x0020_and_x0020_Campaigns>
<MIC>DPX</MIC>
<Company>BECHTEL, THOMPSON F.</Company>
<Severity>L</Severity>
<Problem_x0020_1>FLOTATION</Problem_x0020_1>
<Problem_x0020_2>SAFE LOAD</Problem_x0020_2>
<HIN>DPX0001B797</HIN>
<Officer>GEL</Officer>
<District>08</District>
<Source>COMPLIANCE TESTING</Source>
<Disposition>CLOSED</Disposition>
<Model_x0020_Year>1997</Model_x0020_Year>
<Model_x0020_Name>14 GUNHUNTER</Model_x0020_Name>
<Record_x0020_Type>CASE</Record_x0020_Type>
<Hotline>N</Hotline>
<Case_x0020_Open_x0020_Date>1997-03-05T00:00:00</Case_x0020_Open_x0020_Date>
<Case_x0020_Close_x0020_Date>1997-04-05T00:00:00</Case_x0020_Close_x0020_Date>
<Next_x0020_Date>1997-04-05T00:00:00</Next_x0020_Date>
<Number>971V004</Number>
<Comments>THIS BOAT WAS VOLUNTEERED BY THE MANUFACTURER FOR TESTING. IT IS WAS A PROTOTYPE. MANUF REPAIRED BOAT.</Comments>
<Units>1</Units>
<Boat_x0020_Type>11</Boat_x0020_Type>
<FromWebpage>0</FromWebpage>
<FromMail>0</FromMail>
<FromEmail>0</FromEmail>
<Form>0</Form>
</Cases_x0020_and_x0020_Campaigns>
<Cases_x0020_and_x0020_Campaigns>
...
</Cases_x0020_and_x0020_Campaigns>
<Cases_x0020_and_x0020_Campaigns>
...
</Cases_x0020_and_x0020_Campaigns>
<Cases_x0020_and_x0020_Campaigns>
<MIC>FVZ</MIC>
<Company>CAROLINA COMPOSITES LLC</Company>
<Severity>l</Severity>
<Problem_x0020_1>LABEL; CAPACITY</Problem_x0020_1>
<HIN>FVZS5369B515</HIN>
<Officer>LEN</Officer>
<District>07</District>
<Source>RBFCP PPG Dealer</Source>
<Disposition>OPEN</Disposition>
<Model_x0020_Year>2015</Model_x0020_Year>
<Model_x0020_Name>’1700’ outboard powered boat</Model_x0020_Name>
<Record_x0020_Type>CASE</Record_x0020_Type>
<NMMA>N</NMMA>
<Case_x0020_Open_x0020_Date>2015-08-26T00:00:00</Case_x0020_Open_x0020_Date>
<Last_x0020_Date>2015-08-27T00:00:00</Last_x0020_Date>
<Next_x0020_Date>2015-09-27T00:00:00</Next_x0020_Date>
<Number>15D048CS</Number>
<Comments>1) 33CFR183.25(c)(2)&(3)
The persons capacity in pounds was larger than one-half the height of the persons capacity in a whole number.
08/27/15 - Mailed boat retailer letter- PJM.</Comments>
<Units>1</Units>
<Boat_x0020_Type>11</Boat_x0020_Type>
<FromWebpage>0</FromWebpage>
<FromMail>0</FromMail>
<FromEmail>0</FromEmail>
<Form>0</Form>
</Cases_x0020_and_x0020_Campaigns>
</dataroot>
- No URL included in XML, but easily constructed from recall ID (e.g. http://www.uscgboating.org/content/recalls-details.php?id=14CG011)
May need to host this data set ourselves and do a periodic import/update for REST querying.
http://www.fsis.usda.gov/wps/portal/fsis/topics/recalls-and-public-health-alerts
- RSS Feed
- combined FDA/USDA?
- Unstructured HTML (active recalls)
- Unstructured HTML (archive by year)
No search interface.
XML
- Title
- Description
- GUID
- URL
Following URL yields semi-structured HTML including:
- Class
- Health Risk
- Date
HTML
XML
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
<channel>
<title>Food Safety</title>
<description>An RSS feed of combined Food Safety information.</description>
<link>http://www.cdc.gov/foodsafety</link>
<atom:link href="http://www.cdc.gov/foodsafety" rel="self" type="application/rss+xml"/>
<image>
<title>Food Safety</title>
<url>http://www2c.cdc.gov/podcasts/images/cdclogo.jpg</url>
<link>http://www.cdc.gov/foodsafety</link>
<width>100</width>
<height>75</height>
</image>
<language>en-US</language>
<webMaster>podcasts@cdc.gov (podcasts)</webMaster>
<category>Health</category>
<category>Public Health</category>
<item>
<title>
Utah Firm Recalls Fully-Cooked-Not-Shelf-Stable, Ready-To-Eat Pork Roast Products Produced Under The Wrong Haccp Plan And For Mislabeling
</title>
<description>
Creminelli Fine Meats, LLC, a Salt Lake City, Utah, establishment, is recalling 31 pieces (approximately 101 pounds) of fully-cooked-not-shelf-stable, ready-to-eat pork roast products because they were produced under the wrong Hazard Analysis and Critical Control Point (HACCP) plan and for mislabeling
</description>
<link>
http://www.fsis.usda.gov/wps/wcm/connect/FSIS-Content/internet/main/topics/recalls-and-public-health-alerts/recall-case-archive/archive/2013/recall-067-2013-release
</link>
<guid isPermaLink="false">bc0bd16b-839b-49c1-bcf6-b606775645ff</guid>
<pubDate>Tue, 27 Oct 2015 12:15:00 EDT</pubDate>
</item>
<item>
...
</item>
<item>
...
</item>
<item>
...
</item>
</channel>
</rss>
- No search interface
- No downloadable data dump (except RSS feed -- how far back does it go?)
Probably need to build our own clone of the data due to interface issues noted above.
TODO
TODO
TODO
TODO
TODO
TODO
TODO
TODO
TODO
TODO
TODO
TODO
TODO
TODO
TODO
TODO
TODO
TODO
TODO
TODO