Code Climate Test Coverage Build Status Gem Version

FDIC

The FDIC lets you find information on FDIC-insured banking institutions. Their site uses a JSON API to look up financial information, branch information, etc.

This gem is a ruby client to that API. It's totally unaffiliated with the FDIC. It's open source, so anyone can use it, and anyone can help maintain it. At this point, it's maintained by the developers at Continuity.

If you need help understanding the data returned by that API, and this gem, it can help to look at the FDIC's BankFind glossary of terms.

Installation

Add this line to your application's Gemfile:

gem 'fdic'

And then execute:

$ bundle

Or install it yourself as:

$ gem install fdic

Usage

Currently all of our features are namespaced under the FDIC::BankFind module

The FDIC API lets you find an Institution if you have its FDIC Certificate Number:

institution = FDIC::BankFind.find_institution(26588)  #=> FDIC::BankFind::Institution

If your certificate number is incorrect, this will raise an exception:

institution = FDIC::BankFind.find_institution(26588)  #=> FDIC::BankFind::Institution
# raises FDIC::Exceptions::RecordNotFound

Note, sometimes seemingly "valid" parameters will cause the FDIC to return a 500 error code.

institution = FDIC::BankFIND.find_institution("DOG") # Not a number
institution = FDIC::BankFIND.find_institution(1234567898798) # a number with more than 10 digits
# the FDIC returns 500

When this happens, the gem will catch the error and raise an exception:

institution = FDIC::BankFIND.find_institution(1234567898798) # a number with more than 10 digits
# raises FDIC::Exceptions::ServerError

If you don't have the certificate number, you can search for a Bank by name, and get back all matching Banks:

banks = FDIC::BankFind.find_bank('Dedicated Community Bank')  #=> [FDIC::BankFind::Bank, FDIC::BankFind::Bank, ...]

Once you have a Bank, you can get its Institution, which has much more data available:

institution = banks.first.find_institution!  # Bang, because it's another network request

The API also exposes information about an Institution's branches, and its history. You can query both of these on the FDIC::BankFind module directly, or on the Institution:

institution.find_branches!  #=> [FDIC::BankFind::Branch, FDIC::BankFind::Branch, ...]
FDIC::BankFind.find_branches(25688)   #=> [FDIC::BankFind::Branch, FDIC::BankFind::Branch, ...]

institution.find_history_events!                              #=> [FDIC::BankFind::HistoryEvent, ...]
FDIC::BankFind.find_history_events('Dedicated Community Bank', 26588)   #=> [FDIC::BankFind::HistoryEvent, ...]

Since a Bank knows its certificate number, it can look up its branch and history information, too.

# These work just like they do on Institutions:
bank.find_branches!
bank.find_history_events!

There are more fields exposed in the Institution API then what we've exposed. Where the field names are obscure or acronym-y, we'd like to clarify them; since we're pre-1.0, if we haven't looked up a field's meaning quite yet, we're holding off. (You can still get all the fields via #attributes.)

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/ContinuityControl/fdic.

License

The gem is available as open source under the terms of the MIT License.