Recalls API

A Ruby wrapper for the USA Search Product Recall API at

Does your project or organization use this gem?

Add it to the apps wiki!


$ [sudo] gem install recalls

Usage Examples

require 'recalls'

Recalls.configure do |config|
  config.api_key = 'yourkeyforpostrequests'

# Return product recalls with the keywords cheese
# => "cheese")

# Return product recalls with the keywords cheese between two dates
# => "cheese", :start_date => "2010-01-01", :end_date => "2011-01-01")

# Return product recalls from a certain government agency, Valid values are: (1) NHTSA. National
Highway Traffic Safety Administration; (2) CPSC. Consumer Product Safety Commission; or (3) CDC.
Centers for Disease Control
# => "CDC")

# Return product recalls with by a upc code
# => "123456")

# Return product recalls by a code, valid values are E, V [for vehicles], I, T, C, or X 
# => "V")

# Return product recalls by make or model
# => "ford")

# Return product recalls by page
# => "cheese", :page => "2")


In the spirit of free software, everyone is encouraged to help improve this project.

Here are some ways you can contribute:

  • by using alpha, beta, and prerelease versions
  • by reporting bugs
  • by suggesting new features
  • by writing or editing documentation
  • by writing specifications
  • by writing code (no patch is too small: fix typos, add comments, clean up inconsistent whitespace)
  • by refactoring code
  • by resolving issues
  • by reviewing patches

Submitting an Issue

We use the GitHub issue tracker to track bugs and features. Before submitting a bug report or feature request, check to make sure it hasn't already been submitted. You can indicate support for an existing issuse by voting it up. When submitting a bug report, please include a Gist that includes a stack trace and any details that may be necessary to reproduce the bug, including your gem version, Ruby version, and operating system. Ideally, a bug report should include a pull request with failing specs.

Submitting a Pull Request

  1. Fork the project.
  2. Create a topic branch.
  3. Implement your feature or bug fix.
  4. Add documentation for your feature or bug fix.
  5. Run bundle exec rake doc:yard. If your changes are not 100% documented, go back to step 4.
  6. Add specs for your feature or bug fix.
  7. Run bundle exec rake spec. If your changes are not 100% covered, go back to step 6.
  8. Commit and push your changes.
  9. Submit a pull request. Please do not include changes to the gemspec, version, or history file. (If you want to create your own version for some reason, please do so in a separate commit.)


Copyright (c) 2010 Code for America Laboratories See LICENSE for details.

Code for America Tracker