Getting Started

Quickstart

Make your first Rad TV API call and verify your connection.

Get up and running with the Rad TV API in under a minute. By the end you'll have confirmed your connection and queried your channel.

You need an active premium subscription (Premium, Premium+, or Creator+) to use the Rad TV API. Check your subscription.

1. Get your API key

Generate an API key from Developer Settings. For this quickstart, replace YOUR_API_KEY with your actual key.

2. Verify your connection

The verifyConnection query confirms your auth is working and returns your user info, channel, subscription, and permissions.

curl -X POST https://api.rad.live/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "query": "{ verifyConnection { ok user { id username email } channel { id metadata { name } } subscription { plan { name } state } permissions } }"
  }'
const response = await fetch('https://api.rad.live/graphql', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY',
  },
  body: JSON.stringify({
    query: `{
      verifyConnection {
        ok
        user { id username email }
        channel { id metadata { name } }
        subscription { plan { name } state }
        permissions
      }
    }`,
  }),
});

const { data } = await response.json();
console.log(data.verifyConnection);
import requests

response = requests.post(
    "https://api.rad.live/graphql",
    headers={
        "Content-Type": "application/json",
        "Authorization": "Bearer YOUR_API_KEY",
    },
    json={
        "query": """
        {
          verifyConnection {
            ok
            user { id username email }
            channel { id metadata { name } }
            subscription { plan { name } state }
            permissions
          }
        }
        """
    },
)

data = response.json()["data"]
print(data["verifyConnection"])

Response

{
  "data": {
    "verifyConnection": {
      "ok": true,
      "user": {
        "id": "did:rad.live:channel/abc123",
        "username": "mychannel",
        "email": "me@example.com"
      },
      "channel": {
        "id": "did:rad.live:channel/abc123",
        "metadata": { "name": "My Channel" }
      },
      "subscription": {
        "plan": { "name": "Creator+" },
        "state": "ACTIVE"
      },
      "permissions": ["content:create", "content:publish", "content:enhance"]
    }
  }
}

3. Query your channel

Once verified, try querying your channel's content:

curl -X POST https://api.rad.live/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "query": "{ me { channel { id metadata { name summary } features(first: 5) { edges { node { id metadata { title } } } } } } }"
  }'
const response = await fetch('https://api.rad.live/graphql', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY',
  },
  body: JSON.stringify({
    query: `{
      me {
        channel {
          id
          metadata { name summary }
          features(first: 5) {
            edges {
              node {
                id
                metadata { title }
              }
            }
          }
        }
      }
    }`,
  }),
});

const { data } = await response.json();
console.log(data.me.channel);
response = requests.post(
    "https://api.rad.live/graphql",
    headers={
        "Content-Type": "application/json",
        "Authorization": "Bearer YOUR_API_KEY",
    },
    json={
        "query": """
        {
          me {
            channel {
              id
              metadata { name summary }
              features(first: 5) {
                edges {
                  node {
                    id
                    metadata { title }
                  }
                }
              }
            }
          }
        }
        """
    },
)

channel = response.json()["data"]["me"]["channel"]
print(channel)

Next steps

  • Pagination — How edges, node, and cursors work for channel and catalog lists
  • Authentication — Learn about auth patterns and token types
  • Workflows — See the key things you can build: publish videos, AI upscaling, YouTube sync
  • GraphQL API — Explore the full GraphQL schema
  • MCP — Connect AI agents via the Model Context Protocol

On this page