Getting Started

To get started with the Splitwise API, you'll need to:

  1. Grab an appropriate OAuth library
  2. Test your connection
  3. Develop awesome apps

The Splitwise API is under constant development, and while we do try to keep it fairly stable, the output formats change fairly quickly.


You can check out an example web app that uses the API here. You can also use its source as a base for your own app or to clarify any issues that are confusing.

If these examples don't clarify an issue you're having, send us an email at and we'll get back to you ASAP.

OAuth Instructions

All API requests should be signed with an OAuth token (i.e. consumer token, request token, or access token)


HTTP error codes are returned in the following situations:

  1. An invalid request format/server-side exception results in a 400 error
  2. An unauthorized call (e.g. to a private API function, or when the user lacks permissions for the given action) returns a 401 error
  3. Calls to non-existent API functions (or calls with the wrong method, e.g. GET instead of POST) return a 404 error

Important Notes

Nested parameters

Nested parameters (e.g. users[1][first_name]) are currently broken server-side. To indicate a nested parameter, use a DOUBLE underscore (e.g. users__1__first_name).

Boolean parameters

Boolean parameters should be indicated with a value of 0 or 1.

OAuth and authorization

For a step-by-step blog post about connecting to Splitwise with OAuth in Ruby, see this blog post for a more detailed walkthrough.

NOTE: Authorization API calls do not require OAuth access tokens (but do require OAuth consumer or request tokens), since they’re how you fetch an access token in the first place. All other API calls do require OAuth access tokens in the HTTP_AUTHORIZATION header.