The Rev API is a REST API that allows placement and tracking of orders and retrieval of source files (input media) and completed output files (transcripts or captions, depending on order type). Orders can be placed for the these services Rev provides: transcription and captioning. The API consists of several resources which support standard HTTP operations (GET, POST) for accomplishing these tasks. Each supported resource-operation pair is documented in detail.

Resource Representations

For all methods which accept or return structured data, either XML or JSON may be used.

For data returned from the API (e.g. for retrieving order details), you can specify whether you would like JSON or XML using either the Accept HTTP Header, or by appending ".json" or ".xml" to the end of the URL. The default, if neither of those is used, is to return JSON.

For data sent to the API (e.g. for placing an order), you can specify whether you are using JSON or XML using the Content-Type HTTP header. By default, if no Content-Type header is provided, the API assumes the input is JSON.

Sandbox Mode

We have a sandbox mode where you can test out your client code. All sandbox mode orders are automatically transitioned through our workflow of being worked on, reviewed and delivered to customer.


The URLs for the various resources use the following pattern:{version}/{operation-specific component}

The components of the URL are:

  • version - the API version. Currently there is only one version, "1", in operation
  • operation-specific component - this identifies the actual operation you want to do, eg /orders for getting a list of orders

Thus the URL getting a list of the orders for the authenticated user is


We have an official wrapper for the Rev API for all operations described on these pages.

Our amazing community of developers has also built unofficial SDKs below. Note that these are not maintained by Rev.

If you created your own library and would like it posted here, please let us know.