Our Venmo Developer and Payouts APIs have been retired, and we are no longer able to provide access to businesses who may want to start using it. To find out more about how you can use Venmo as a payment method in your checkout experience, visit

For existing businesses who were granted access to the Developer or Payouts API in the past (generally prior to 2016), you will retain access to these APIs and may use them.

API Documentation

Venmo's API is a powerful tool to help you seamlessly integrate payments into your application. With the use of payment links, drop ins, OAuth, or the REST API, youc an have your app up and running with Venmo in no time.

The Venmo OAuth (2.0) API provides developers a straightforward way to integrate Venmo into their applications. Using the OAuth API will allow your application to make Venmo transactions (pay and charges) on behalf of your users, as well as see the authenticated user's balance and get a list of their friends on Venmo. If you need help, feel free to email

When adding an OAuth app to your Venmo account, please make use of the Description field - we’ll reach out if there are any questions on our end. Note that the Venmo OAuth API cannot be used to facilitate merchant payments. Using the API in this way is a violation of our User Agreement and may result in the suspension of your Venmo account and loss of funds. If you’re looking for a checkout solution, we recommend our friends at Braintree.

Basic Info

The OAuth API is a RESTful web API that uses HTTP verbs like GET and POST. Wherever possible, the API follows RESTful principles to describe an endpoint’s behavior.


The base URL for the API is to include the https.


We return our responses in JSON. Any fields that don't have values are set to null instead of being omitted.

All response data is within a "data" field, and all pagination data is within a "pagination" field. Note that we only do paging on endpoints that return a list of resources, such as the GET /payments and GET /users/:user_id/friends endpoints.

  "data": {
  "pagination": {

For a more detailed explanation, take a look at the payments and users documentation.

What format are datetimes in?

We format datetimes in ISO 8601format YYYY-MM-DDTHH:MM:SSZ.


Errors are in the following format:

  "error": {
    "message": "A friendly message describing the error",
    "code": "A code that identifies this kind of error"

The message will explain the error that occured, along with a status code in the header. The code specifies the exact type of error.


For endpoints that return a list of resources, we include a URL to retrieve the next page. Currently, the default number of resources returned is set to 20, but can go as high as 50. Use the limit parameter to change the number of resources returned. Your access token is not included in the URL, so be sure to append it before retrieving the next page. Here is an example of how paging looks in the response:

  "pagination": {
    "next": ""

Need More Help?

If you have questions, feedback or bug reports, visit our FAQ for more information. If you seek further support, send an email with your questions and comments to