GTFS DataExchange API

A ruby wrapper for the api.

List all agencies, or find a specific agency by its data exchange identifier.

Gem Version


Add this line to your application's Gemfile:

gem 'gtfs_data_exchange_api'

And then execute:

$ bundle

Or install it yourself as:

$ gem install gtfs_data_exchange_api



List all agencies.

agencies = GTFSDataExchangeAPI.agencies

By default, this will return an Array of Ruby Hash objects. Pass the 'csv' format option to return a CSV String instead.

agencies = GTFSDataExchangeAPI.agencies(:format => "csv")


Find an agency by its data exchange identifier.

agency = => "shore-line-east")

By default, this will return a Ruby Hash object.


  1. Fork the repo
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Test your changes (optional, but encouraged rspec spec/)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create a new Pull Request


For instructions below, X.X.X refers to the gem version.

  1. Build gem (gem build gtfs_data_exchange_api.gemspec)
  2. Install gem locally (gem install ./gtfs_data_exchange_api-X.X.X.gem)
  3. Run tests (bundle exec rspec spec/)
  4. Manually test, as desired:
    • pry
    • require 'gtfs/data_exchange'
    • test functionality
  5. Merge version-named branch into master, if applicable
  6. Create and tag a version-named release
  7. Push gem build to rubygems (gem push gtfs-data_exchange-X.X.X.gem)