Streamlabs API

Welcome to the Streamlabs API developer hub. You'll find comprehensive guides and documentation to help you start working with Streamlabs API as quickly as possible. Let's jump right in!

Get Started

/authorize

 
gethttps://streamlabs.com/api/v1.0/authorize
curl --request GET \
  --url 'https://streamlabs.com/api/v1.0/authorize?response_type=response_type&client_id=client_id&redirect_uri=redirect_uri&scope=scope'
var request = require("request");

var options = { method: 'GET',
  url: 'https://streamlabs.com/api/v1.0/authorize',
  qs: 
   { response_type: 'response_type',
     client_id: 'client_id',
     redirect_uri: 'redirect_uri',
     scope: 'scope' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://streamlabs.com/api/v1.0/authorize?response_type=response_type&client_id=client_id&redirect_uri=redirect_uri&scope=scope")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://streamlabs.com/api/v1.0/authorize?response_type=response_type&client_id=client_id&redirect_uri=redirect_uri&scope=scope");

xhr.send(data);
import requests

url = "https://streamlabs.com/api/v1.0/authorize"

querystring = {"response_type":"response_type","client_id":"client_id","redirect_uri":"redirect_uri","scope":"scope"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

No response examples available

Query Params

response_type
string
required

Whether the endpoint returns an authorization code. For web applications, a value of code should be used.

client_id
string
required

The client_id of your application.

redirect_uri
string
required

A URI where the response will be redirected.

scope
string
required

A space-separated list of scopes.

state
string

An arbitrary string value we will pass back to you, useful for CSRF protection.

 

In order to acquire an access_token for a user, you'll need to send them to this endpoint in order to approve your application. Learn more about connecting to an account here.

/token

 
posthttps://streamlabs.com/api/v1.0/token
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/token' \
     -d 'grant_type=grant_type&client_id=client_id&client_secret=client_secret&redirect_uri=redirect_uri'
A binary file was returned

You couldn't be authenticated

{
  access_token: 'loXk8FTOFwKfrLP3bGCnJldBxuGX03a03iQdxR8A',
  token_type: 'Bearer',
  refresh_token: 'IXCGDha46Q4eHBKrijmAqUwScbsMSuBy9IopXp80'
}
{
  "error": "...",
  "message": "..."
}

Query Params

grant_type
string
required

The grant type of this request. Will be authorization_code or refresh_token depending on which is accompanying this request.

client_id
string
required

The client_id of your application.

client_secret
string
required

The client_secret of your application.

redirect_uri
string
required

The redirect_uri of your application.

code
string

The code received from an /authorize response. Required if grant_type is authorization_code.

refresh_token
string

The refresh_token received from a previous /token response. Required if grant_type is refresh_token.

 

Once a user has given approval from the /authorize endpoint, use this endpoint to receive an access_token.

Refreshing tokens

Below is a sample code for refreshing tokens.

<?php

  $client = new GuzzleHttp\Client();

  try {

    //if using Guzzle 6+ change "body" to "form_params"
    $response = $client->post('https://streamlabs.com/api/v1.0/token', [
      'body' => [
        'grant_type'    => 'authorization_code',
        'client_id'     => 'YOUR_CLIENT_ID',
        'client_secret' => 'YOUR_CLIENT_SECRET',
        'redirect_uri'  => 'YOUR_CLIENT_REDIRECT_URI',
        'code'          => $_GET['code']
      ]
    ]);

    $result = $response->json();

  } catch (Exception $e) {

    //failed
    $result = $e->getResponse()->json();

  }

?>
<?php

  $client = new GuzzleHttp\Client();

  try {

    //if using Guzzle 6+ change "body" to "form_params"
    $response = $client->post('https://www.twitchalerts.com/api/v1.0/token', [
      'body' => [
        'grant_type'    => 'refresh_token',
        'client_id'     => 'YOUR_CLIENT_ID',
        'client_secret' => 'YOUR_CLIENT_SECRET',
        'redirect_uri'  => 'YOUR_CLIENT_REDIRECT_URI',
        'refresh_token' => 'REFRESH_TOKEN_HERE'
      ]
    ]);

    $result = $response->json();

  } catch (Exception $e) {

    //failed
    $result = $e->getResponse()->json();

  }

?>

/user

 
gethttps://streamlabs.com/api/v1.0/user
curl --request GET \
  --url 'https://streamlabs.com/api/v1.0/user?access_token=access_token'
var request = require("request");

var options = { method: 'GET',
  url: 'https://streamlabs.com/api/v1.0/user',
  qs: { access_token: 'access_token' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://streamlabs.com/api/v1.0/user?access_token=access_token")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://streamlabs.com/api/v1.0/user?access_token=access_token");

xhr.send(data);
import requests

url = "https://streamlabs.com/api/v1.0/user"

querystring = {"access_token":"access_token"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

  {
     "streamlabs":{
        "id":3929217,
        "display_name":"sunnyding602"
     },
     "twitch":{
        "id":124287875,
        "display_name":"sunnyding602",
        "name":"sunnyding602"
     },
     "youtube":{
        "id":"UCuDKXjZv4B3F58xv_76gw",
        "title":"runxi@streamlabs.com"
     },
     "mixer":{
        "id":10969035,
        "name":"Flyfurrysnail"
     },
     "facebook":{
        "id":"1520473641329778",
        "name":"Sunny Ding"
     }
  }
{
  "error": "...",
  "message": "..."
}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

 

Fetch donations for the authenticated user. Results are ordered by creation date, descending.

/donations

 
gethttps://streamlabs.com/api/v1.0/donations
curl --request GET \
  --url 'https://streamlabs.com/api/v1.0/donations?access_token=access_token'
var request = require("request");

var options = { method: 'GET',
  url: 'https://streamlabs.com/api/v1.0/donations',
  qs: { access_token: 'access_token' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://streamlabs.com/api/v1.0/donations?access_token=access_token")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://streamlabs.com/api/v1.0/donations?access_token=access_token");

xhr.send(data);
import requests

url = "https://streamlabs.com/api/v1.0/donations"

querystring = {"access_token":"access_token"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "data":[
    {
      "donation_id":"80179029",
      "created_at":"1438576556",
      "currency":"USD",
      "amount":"50",
      "name":"Thomas",
      "message":"nice!"
    },
    {
      "donation_id":"80179019",
      "created_at":"1438576521",
      "currency":"USD",
      "amount":"15.50",
      "name":"JoeGamer",
      "message":null
    }
  ]
}
{
  "error": "...",
  "message": "..."
}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

limit
int32

Limit allows you to limit the number of results output.

before
int32

The before value is your donation id.

after
int32

The after value is your donation id.

currency
string

The desired currency code. If empty, each record will be in the originating currency.

verified
boolean

If verified is set to 1, response will only include verified donations from paypal, credit card, skrill and unitpay, if it is set to 0 response will only include streamer added donations from My Donations page, do not pass this field if you want to include both.

 

Fetch donations for the authenticated user. Results are ordered by creation date, descending.

/donations

 
posthttps://streamlabs.com/api/v1.0/donations
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/donations' \
     -d "name=name&identifier=identifier&amount=amount&currency=currency&access_token=access_token"
A binary file was returned

You couldn't be authenticated

{
  "donation_id": 1234567
}
{
  "error": "...",
  "message": "..."
}

Query Params

name
string
required

The name of the donor. has to be between 2-25 chars and can only be alphanumeric + underscores

message
string

The message from the donor. must be < 255 characters

identifier
string
required

An identifier for this donor, which is used to group donations with the same donor. For example, if you create more than one donation with the same identifier, they will be grouped together as if they came from the same donor. Typically this is best suited as an email address, or a unique hash.

amount
double
required

The amount of this donation.

currency
string
required

The 3 letter currency code for this donation. Must be one of the supported currency codes.

created_at
string

A timestamp that identifies when this donation was made. If left blank, it will default to now.

access_token
string
required

Access token allows you to access a users' Streamlabs data.

skip_alert
string

Set it to "yes" if you need to skip the alert

 

Create a donation for the authenticated user.

/alerts

 
posthttps://streamlabs.com/api/v1.0/alerts
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/alerts' \
     -d 'access_token=access_token&type=donation&message=simple geometry&user_message=I am second heading'
A binary file was returned

You couldn't be authenticated

{
  "success": true
}
{
  "error": "...",
  "message": "..."
}

Body Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

type
string
required

This parameter determines which alert box this alert will show up in, and thus should be one of the following: follow, subscription, donation, or host.

image_href
string

The href pointing to an image resource to play when this alert shows. If an empty string is supplied, default image will be displayed.

sound_href
string

The href pointing to a sound resource to play when this alert shows. If an empty string is supplied, default sound will be played.

message
string

The message to show with this alert. If not supplied, no message will be shown. Surround special tokens with s, for example: This is my special* alert!

user_message
string

Acting as the second heading, this shows below message,

duration
string

How many seconds this alert should be displayed. Value should be in milliseconds.Ex: 1000 for 1 second.

special_text_color
string

The color to use for special tokens. Must be a valid CSS color string.

 

Trigger a custom alert for the authenticated user.

/alerts/skip

skip alerts

 
posthttps://streamlabs.com/api/v1.0/alerts/skip
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/alerts/skip' \ 
     -d 'access_token=access_token'
A binary file was returned

You couldn't be authenticated

{"success":true}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

 

/alerts/mute_volume

mute volume

 
posthttps://streamlabs.com/api/v1.0/alerts/mute_volume
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/alerts/mute_volume' \ 
     -d 'access_token=access_token'
A binary file was returned

You couldn't be authenticated

{"success":true}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

 

/alerts/unmute_volume

unmute volume

 
posthttps://streamlabs.com/api/v1.0/alerts/unmute_volume
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/alerts/unmute_volume' \ 
     -d 'access_token=access_token'
A binary file was returned

You couldn't be authenticated

{"success":true}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

 

/alerts/pause_queue

pause alerts

 
posthttps://streamlabs.com/api/v1.0/alerts/pause_queue
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/alerts/pause_queue' \ 
     -d 'access_token=access_token'
A binary file was returned

You couldn't be authenticated

{"success":true}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

 

/alerts/unpause_queue

unpause alerts

 
posthttps://streamlabs.com/api/v1.0/alerts/unpause_queue
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/alerts/unpause_queue' \ 
     -d 'access_token=access_token'
A binary file was returned

You couldn't be authenticated

{"success":true}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

 

/alerts/send_test_alert

send test alert

 
posthttps://streamlabs.com/api/v1.0/alerts/send_test_alert
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/alerts/show_video' \
     -d 'access_token=access_token&type=donation'
A binary file was returned

You couldn't be authenticated

{"success":true}
Please enable $type alert in your ALERTBOX tab
unknown type

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

type
string
required

the type of the alert can be either of the following: follow subscription donation host bits raid. If the platform is youtube, the allowed types are the following: subscription, sponsor, superchat, donation

platform
string

can be either twitch or youtube

 

/alerts/show_video

show media sharing video

 
posthttps://streamlabs.com/api/v1.0/alerts/show_video
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/alerts/show_video'
     -d 'access_token=access_token'
A binary file was returned

You couldn't be authenticated

{"success":true}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

 

/alerts/hide_video

hide media sharing video

 
posthttps://streamlabs.com/api/v1.0/alerts/hide_video
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/alerts/hide_video'
     -d 'access_token=access_token'
A binary file was returned

You couldn't be authenticated

{"success":true}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

 

/socket/token

 
gethttps://streamlabs.com/api/v1.0/socket/token
curl --request GET \
  --url 'https://streamlabs.com/api/v1.0/socket/token?access_token=access_token'
var request = require("request");

var options = { method: 'GET',
  url: 'https://streamlabs.com/api/v1.0/socket/token',
  qs: { access_token: 'access_token' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://streamlabs.com/api/v1.0/socket/token?access_token=access_token")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://streamlabs.com/api/v1.0/socket/token?access_token=access_token");

xhr.send(data);
import requests

url = "https://streamlabs.com/api/v1.0/socket/token"

querystring = {"access_token":"access_token"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
 "socket_token":"xxxxx"
}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

 

Allows you to obtain a token which can be used to listen to user's event through sockets.

/legacy/token

 
gethttps://streamlabs.com/api/v1.0/legacy/token
curl --request GET \
  --url 'https://streamlabs.com/api/v1.0/legacy/token?access_token=access_token'
var request = require("request");

var options = { method: 'GET',
  url: 'https://streamlabs.com/api/v1.0/legacy/token',
  qs: { access_token: 'access_token' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://streamlabs.com/api/v1.0/legacy/token?access_token=access_token")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://streamlabs.com/api/v1.0/legacy/token?access_token=access_token");

xhr.send(data);
import requests

url = "https://streamlabs.com/api/v1.0/legacy/token"

querystring = {"access_token":"access_token"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "token": "xxxxx"
}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

 

Allows you to obtain a users legacy Streamlabs token which can be used in widget URLs.

/points

 
gethttps://streamlabs.com/api/v1.0/points
curl --request GET \
  --url 'https://streamlabs.com/api/v1.0/points?access_token=access_token&username=username&channel=channel'
var request = require("request");

var options = { method: 'GET',
  url: 'https://streamlabs.com/api/v1.0/points',
  qs: 
   { access_token: 'access_token',
     username: 'username',
     channel: 'channel' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://streamlabs.com/api/v1.0/points?access_token=access_token&username=username&channel=channel")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://streamlabs.com/api/v1.0/points?access_token=access_token&username=username&channel=channel");

xhr.send(data);
import requests

url = "https://streamlabs.com/api/v1.0/points"

querystring = {"access_token":"access_token","username":"username","channel":"channel"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
	"id":1,
	"platform":"twitch",
	"channel":"sunnyding602",
	"username":"sunnyding602",
	"exp":0,
	"points":470,
	"ta_id":null,
	"status":"vip",
	"time_watched":0,
	"created_at":null,
	"updated_at":"2017-09-20 20:16:26"
}
{
  "error":true,
  "message":"User not found"
}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

username
string
required

username of the user

channel
string
required

channel name e.g. iddqd

 

/points/subtract

Subtract user's loyalty points

 
posthttps://streamlabs.com/api/v1.0/points/subtract
curl --request POST \
     --url https://streamlabs.com/api/v1.0/points/subtract \
     -d 'username=sunnyding602&channel=sunnyding602&points=10&access_token=access_token'
A binary file was returned

You couldn't be authenticated

{
	"id":1,
	"platform":"twitch",
	"channel":"sunnyding602",
	"username":"sunnyding602",
	"exp":0,
	"points":470,
	"ta_id":null,
	"status":"vip",
	"time_watched":0,
	"created_at":null,
	"updated_at":"2017-09-20 20:16:26"
}
{"message":"User does not have enough points"}
{
  "error":true,
  "message":"User not found"
}

Body Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

username
string
required

username of the user

channel
string
required

channel name e.g. iddqd

points
int32
required

the points you want to subtract from the user

 

/points/import

mass add points to users

 
posthttps://streamlabs.com/api/v1.0/points/import
curl --request POST \
     --url https://streamlabs.com/api/v1.0/points/import \
     -d 'username=sunnyding602&channel=sunnyding602&points=10&access_token=access_token'
A binary file was returned

You couldn't be authenticated

{"message":"Success","users":1}

Body Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

channel
string
required

channel name e.g. iddqd

users
array of integers
required

users[username]=points e.g. users[username1]=10&users[username2]=20

 

/points/group_get_points

batch get points

 
gethttps://streamlabs.com/api/v1.0/points/group_get_points
curl --request GET \
  --url 'https://streamlabs.com/api/v1.0/points/group_get_points?access_token=access_token&channel=channel&usernames=usernames'
var request = require("request");

var options = { method: 'GET',
  url: 'https://streamlabs.com/api/v1.0/points/group_get_points',
  qs: 
   { access_token: 'access_token',
     channel: 'channel',
     usernames: 'usernames' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://streamlabs.com/api/v1.0/points/group_get_points?access_token=access_token&channel=channel&usernames=usernames")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://streamlabs.com/api/v1.0/points/group_get_points?access_token=access_token&channel=channel&usernames=usernames");

xhr.send(data);
import requests

url = "https://streamlabs.com/api/v1.0/points/group_get_points"

querystring = {"access_token":"access_token","channel":"channel","usernames":"usernames"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

[
  {
    username: "sunny601",
    points: 94,
    time_watched: 100
  },
  {
    username: "sunny602",
    points: 103,
    time_watched:666 // in minutes
  }
]

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

channel
string
required

channel name e.g. iddqd

usernames
array of strings
required

an array of usernames e.g. usernames[]=user1&usernames[]=user2

 

/points/group_subtract_points

batch subtract points

 
posthttps://streamlabs.com/api/v1.0/points/group_subtract_points
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/points/group_subtract_points' \
     -d 'users[sunnyding602]=2&&users[sunnyding601]=1&&platform=points&channel=sunnyding602&access_token=access_token'
A binary file was returned

You couldn't be authenticated

[
  {
    username: "sunny601",
    points: 94
  },
  {
    username: "sunny602",
    points: 103
  }
]

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

channel
string
required

channel name e.g. iddqd

users
array of integers
required

users[username]=points e.g. users[username1]=10&users[username2]=20

 

/points/add_to_all

Add points to all users in the channel

 
posthttps://streamlabs.com/api/v1.0/points/add_to_all
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/points/add_to_all'
     -d 'value=10&channel=sunnyding602&access_token=access_token'
A binary file was returned

You couldn't be authenticated

{
  "message":"Success",
  "users":[twitch_user_id1, twitch_user_id2]
}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

channel
string
required

channel name e.g. iddqd

value
int32
required

points to be added

 

/points/user_points

grab a 100 users sort by points/time_watched; search query based on a partial name

 
gethttps://streamlabs.com/api/v1.0/points/user_points
#The reault is produced by the following curl command
curl -v 'https://streamlabs.com/api/v1.0/points/user_points?access_token={$access_token}&sort=time_watched&order=desc&limit=10'
A binary file was returned

You couldn't be authenticated

  {
    "points":{
      "total":1001,"per_page":10,"current_page":1,"last_page":101,"from":1,"to":10,
      "data":[
               {"username":"sunny5","time_watched":50000,"points":0},
               {"username":"sunny999","time_watched":999,"points":0},
               {"username":"sunny998","time_watched":998,"points":0},
               {"username":"sunny997","time_watched":997,"points":0},
               {"username":"sunny996","time_watched":996,"points":0},
               {"username":"sunny995","time_watched":995,"points":0},
               {"username":"sunny994","time_watched":994,"points":0},
               {"username":"sunny993","time_watched":993,"points":0},
               {"username":"sunny992","time_watched":992,"points":0},
               {"username":"sunny991","time_watched":991,"points":0}
              ]
            }
  }

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

username
string

Partial username. Search [Name] ankh to find all users that have the letters "ankh" in their name

sort
string

The value of sort can be username/points/time_watched . time_watched is in seconds

order
string

asc/desc

limit
int32

the quantity of the users you will get. should be in range 1-100

page
int32

which page we are on

 

/points/user_point_edit

Edit points by username in a given channel

 
posthttps://streamlabs.com/api/v1.0/points/user_point_edit
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/points/user_point_edit' \
     -d 'access_token=access_token&username=sunny0&points=22'
A binary file was returned

You couldn't be authenticated

{
 "id":1,
 "platform":"points",
 "channel":"sunnyding602",
 "username":"sunny0",
 "exp":0,
 "points":22,
 "ta_id":null,
 "status":"unclaimed",
 "time_watched":0,
 "created_at":"2017-10-18 17:19:58",
 "updated_at":"2017-11-09 23:01:11”
}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

username
string
required

the name of the user who is in the streamer's channel

points
int32
required

points that will be set to the user

 

/points/reset

reset points of all users in the channel

 
posthttps://streamlabs.com/api/v1.0/points/reset
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/points/reset' \
     -d 'access_token=access_token'
A binary file was returned

You couldn't be authenticated

{
  "data":"",
  "error":false,
  "message":"points reset”
}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

 

/alert_profiles/get

roll credits

 
gethttps://streamlabs.com/api/v1.0/alert_profiles/get
curl --request GET \
  --url 'https://streamlabs.com/api/v1.0/alert_profiles/get?access_token=access_token'
var request = require("request");

var options = { method: 'GET',
  url: 'https://streamlabs.com/api/v1.0/alert_profiles/get',
  qs: { access_token: 'access_token' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://streamlabs.com/api/v1.0/alert_profiles/get?access_token=access_token")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://streamlabs.com/api/v1.0/alert_profiles/get?access_token=access_token");

xhr.send(data);
import requests

url = "https://streamlabs.com/api/v1.0/alert_profiles/get"

querystring = {"access_token":"access_token"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "profiles":[
    {"id":1,"name":"Default","description":"Default profile"},
    {"id":2,"user_id":1,"name":"yet another profile","description":"","active":0}]
  ,
  "active_profile":1
}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

 

/alert_profiles/activate

Activate an alert profile

 
posthttps://streamlabs.com/api/v1.0/alert_profiles/activate
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/alert_profiles/activate' \
     -d 'access_token=access_token&id=id'
A binary file was returned

You couldn't be authenticated

{"success":true}
{
  "success":false,
  "message":"unknown profile id"
}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

id
string
required

alert profile id

 

/credits/roll

roll credits

 
posthttps://streamlabs.com/api/v1.0/credits/roll
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/credits/roll' \ 
     -d 'access_token=access_token'
A binary file was returned

You couldn't be authenticated

{"success":true}
{
  "error":true,
  "code":100,
  "message":"Roll Credits button only works when you are live"
}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

 

/jar/empty

Empty the jar

 
posthttps://streamlabs.com/api/v1.0/jar/empty
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/jar/empty' \ 
     -d 'access_token=access_token'
A binary file was returned

You couldn't be authenticated

{"success":true}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.

 

/wheel/spin

spin the wheel

 
posthttps://streamlabs.com/api/v1.0/wheel/spin
curl --request POST \
     --url 'https://streamlabs.com/api/v1.0/wheel/spin' \ 
     -d 'access_token=access_token'
A binary file was returned

You couldn't be authenticated

{"success":true}

Query Params

access_token
string
required

Access token allows you to access a users' Streamlabs data.