Guide

Getting started

Three steps stand between you and an authenticated call: get developer access, register an application, then trade an authorization code for a token. Everything below is a real request against api.velora.tv — paste it, swap the placeholders, and it runs.

Base URL

All API requests are made to the following base URL:

Base URL
https://api.velora.tv
01

Create an application

Before this step: creating an application needs developer access, and we review every request. Request access first — a real person reads what you write, so tell them what you are building.

Once you are approved, create an application in the Developer Dashboard. This gives you a Client ID and Client Secret for authentication.

  1. 1Go to the Developer Dashboard
  2. 2Click “New Application”
  3. 3Fill in your application name and description
  4. 4Add your OAuth redirect URI(s) — required for login to work
  5. 5Save your Client ID and Client Secret securely

Important:Your Client Secret is only shown once. Store it securely — you'll need it for authentication. And your redirect URI must be setbefore the OAuth authorize URL will work — you can add or edit it anytime under your app's Edit details.

02

Authentication

Velora uses OAuth 2.0 with PKCE for secure authentication. For server-to-server requests, you can use Client Credentials.

Authorization Code Flow

For user-specific access, exchange the authorization code for tokens:

Request — POST /api/developer/oauth/token
curl -X POST https://api.velora.tv/api/developer/oauth/token \
  -H "Content-Type: application/json" \
  -d '{
    "grant_type": "authorization_code",
    "code": "AUTH_CODE_FROM_CALLBACK",
    "redirect_uri": "YOUR_REDIRECT_URI",
    "client_id": "YOUR_CLIENT_ID",
    "client_secret": "YOUR_CLIENT_SECRET",
    "code_verifier": "YOUR_PKCE_CODE_VERIFIER"
  }'
Response
{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI...",
  "token_type": "Bearer",
  "expires_in": 3600
}

For user-specific actions, see the Authentication guide.

03

Make your first request

Now you can make authenticated requests to the API. Let's get a list of live streams:

Request — GET /api/streams/live
curl "https://api.velora.tv/api/streams/live?limit=5" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response 200
{
  "streams": [
    {
      "id": "aa09068d-cca4-4440-ae63-0817553cd443",
      "userId": "d02b4dd9-aab7-43c3-a18d-25484ffacad5",
      "username": "electriccyder",
      "displayName": "ElectricCyder",
      "title": "EDM Nostalgia - Breaks, House, Trance",
      "category": "Music & DJs",
      "categorySlug": "music-and-djs",
      "viewerCount": 12,
      "startedAt": "2026-09-05T02:11:44.000Z",
      "thumbnail": "https://assets.velora.tv/preview/.../poster.jpg",
      "tags": ["edm", "house"],
      "language": "en"
    }
  ]
}

Rate limits

The API has rate limits to ensure fair usage:

EnvironmentRate limit
Sandbox30 requests/minute
Production800 requests/minute

See the Rate Limits guide for more details.

Next steps

Where developers go from here, in the order most of them need it.