Skip to main content
Demo
Viewing as
Fan identity

revolution.fan / docs

Platform Documentation

Everything you need to build on the platform creators across music, sports and streaming run on: a fan app of your own, an integration or an AI agent, or audience data.

Quick Start

The SDK is in partner preview: partners get the packages with their access. Everything about it is in the SDK docs.

import { createClient } from "@revolution/client";

const api = createClient({
  baseUrl: "https://api.revolution.fan",
  getToken: () => auth.currentUser?.getIdToken() ?? null,
});

// A creator's page: their wall, what's on now, who's here
const hub = await api.getHub({ path: { kind: "artist", slug: "an-artist" } });
console.log(hub.universe.name, hub.now.state);

Try the Sandbox, No Key Required

Want to explore the Data Marketplace before signing up? The public sandbox lets you run live queries against synthetic fan data with no API key.

Authentication

Who is calling decides the credential:

Fan sessionAuthorization: Bearer <ID token>Apps built on the SDK, acting as the signed-in fan
Public API keyAuthorization: Bearer rfsk_…Integrations and AI agents, on /api/public/v1, with scopes
Marketplace keyX-Marketplace-Key: mk_live_…Data buyers: labels, promoters, agencies
Scanner keyX-Scanner-Key: <key>Venue check-in scanners

Base URLs

The SDK (baseUrl)https://api.revolution.fan
RESThttps://api.revolution.fan/api/v1
Public APIhttps://api.revolution.fan/api/public/v1

Rate Limits

Limits are set per route, for example 120 requests a minute for a Public API search, and a request over a limit answers 429.

OpenAPI

The API's OpenAPI 2.0 spec is served at runtime, with Swagger UI beside it. The SDK's operations are the contract the SDK docs describe, which is stricter than the spec.

curl https://api.revolution.fan/api/v1/openapi.yaml
# Swagger UI: https://api.revolution.fan/apidocs/