Gem Version Build Status Dependency Status Code Climate

Reference | RDocs


Background provides transcription, caption and translation services powered by humans. The API allows you to tap transcription and caption services with no manual steps. It's a RESTful API, documented at

The Ruby SDK for the Rev API provides a convenient Ruby wrapper for the API. All operations of the API, as described at, are supported.


gem install rev-api

or put it into your Gemfile.

When you need it:

require 'rev-api'


If you are building a new API client, you must first obtain a client API key, which you can do at

All operations in the API are performed on behalf of a Rev customer, identified by their user API key. The client key / user key pair is used to authenticate each API operation. Once you have the two keys, you can create a new API client:

require 'rev-api'

rev_client ='your_client_key', 'your_user_key')

You can read more about authentication in the API at


All operations can be executed against either the production or the sandbox environment. The sandbox environment allows you to test your API client without actually paying for orders and having them worked on.

By default, the API client executes against the production environment. To go against the sandbox instead, initialize the client this way:

require 'rev-api'

rev_client ='your_client_key', 'your_user_key', Rev::Api::SANDBOX_HOST)


The snippets below assume you've initialized rev_client:

rev_client ='your_client_key', 'your_user_key')

Listing orders

orders_page = rev_client.get_orders_page(1) # get a single page of orders
all_orders = rev_client.get_all_orders # get first page of orders history
orders_by_client_ref = rev_client.get_orders_by_client_ref('some_ref') # get orders with reference id of 'some_ref'

Get a single order by order number

some_order = rev_client.get_order('TCxxxxxxxx')
puts "Original comment: #{some_order.comments.first.text}"

Cancel an order given an order number

order = rev_client.get_order('TCxxxxxxx')

order.transcripts.each do |t|
    puts rev_client.get_attachment_content_as_string

Refer to cli.rb in the examples directory for a full example illustrating placing orders, handling error responses, etc.


YARD documentation can be generated locally by running rake yard command, and will be placed in the doc directory.

You can find API documentation at


If you have any questions or suggestions for improvement, email us directly at api[at]rev[dot]com.


  • MRI 2.0.0


Minitest suite might be run using rake test command. Current stack:

  • minitest
  • webmock
  • vcr
  • turn


  • httparty