The domain will not longer be available. You can continue using

We know you are a bunch of amazing, creative people and we really want to give you the chance to shine. If you have any idea for an extension or a plugin you'd like to develop for Bitport, register your project now and contact us for a free month of Bitport Premium for development purposes! For any good extensions and plugins, you manage to develop for Bitport, we will give you up to a year of the Bitport premium plan.
If you have any questions about the development process or if you want the free premium month, send us a message to [email protected].

Authentication and Access

1. Application registration

Register your new application at:
You can find list of your current applications at:

2. Obtaining an access token (OAuth Token)

a) Redirect users who wish to authenticate to
b) If a user accepts, he will be redirected back to https://YOUR_REDIRECT_URI/?code=GENERATED_CODE
c) In the next step, your server will make a POST request (with content type application/x-www-form-urlencoded) for: with parameters client_id=YOUR_APPLICATION_ID&client_secret=YOUR_APPLICATION_SECRET&grant_type=authorization_code&code=CODE_FROM_PREVIEW_STEP.
Response: {'access_token': ACCESS_TOKEN}

TIP: If you are building an application for a device where the user is usually not logged in to, please ask the user to visit to obtain the code (USER_CODE), thanks to which you can get access_token. You will acquire the access token by sending POST request (with content type application/x-www-form-urlencoded) for: with parameters client_id=YOUR_APPLICATION_ID&client_secret=YOUR_APPLICATION_SECRET&grant_type=code&code=USER_CODE

3. Using API

Now, you can use Bitport API! All methods are listed here. Endpoint is Methods are always called with the header "Authorization: Bearer ACCESS_TOKEN".

Responses and Errors

All successful responses will look like this:
{ "status" => "success", "data" => [ data... ], "errors" => null }

All error responses will look like this:
{ "status" => "error", "data" => null, "errors" => [ { 'message': message..., 'code': 101 } ] }