GraphQL API

Taxonomy

Query categories, ratings, and genres for content classification using Relay-style GraphQL connections.

Build category filters, genre browsing, and age-appropriate content gates. Taxonomy queries return connections (edgesnode). See Pagination.

Categories

Content categories for organizing and filtering. Requires authentication.

curl -X POST https://api.rad.live/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "query": "{ categories(first: 50) { totalCount edges { node { id metadata { name title summary keywords } } } pageInfo { hasNextPage endCursor } } }"
  }'
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: `{
      categories(first: 50) {
        totalCount
        edges {
          node {
            id
            metadata { name title summary keywords }
          }
        }
        pageInfo { hasNextPage endCursor }
      }
    }`,
  }),
});
response = requests.post(
    "https://api.rad.live/graphql",
    headers={
        "Content-Type": "application/json",
        "Authorization": "Bearer YOUR_API_KEY",
    },
    json={
        "query": """
        {
          categories(first: 50) {
            totalCount
            edges {
              node {
                id
                metadata { name title summary keywords }
              }
            }
            pageInfo { hasNextPage endCursor }
          }
        }
        """
    },
)

Categories appear on both channels and content metadata for filtering and discovery.

Ratings

Content rating systems (MPAA, TV, etc.). Public — no authentication required.

{
  ratings(first: 50) {
    totalCount
    edges {
      node {
        id
        system
        code
        label
        description
      }
    }
  }
}

ContentRating Fields

FieldTypeDescription
idDID!Rating identifier
systemStringRating system (e.g., "MPAA", "TV")
codeStringRating code (e.g., "PG-13", "TV-MA")
labelStringDisplay label
descriptionStringWhat the rating means

Genres

Content genre list for filtering. Public — no authentication required.

{
  genres(first: 50) {
    totalCount
    edges {
      node {
        id
        name
        description
      }
    }
  }
}

ContentGenre Fields

FieldTypeDescription
idDID!Genre identifier
nameStringGenre name (e.g., "Action", "Documentary")
descriptionStringGenre description

Using Categories in Content

When creating or updating content, set categories via CategoryInput:

mutation {
  createContent(input: {
    metadata: {
      title: "My Documentary"
      categories: [{ name: "Documentary" }, { name: "Nature" }]
    }
  }) {
    id
  }
}

On this page