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.
The SDK Build your fan app on our platform. The typed client and React hooks revolution.fan itself runs on, for the web and React Native. In partner preview. TypeScript · React · React Native Read docs Marketplace clients Marketplace clients for Python and TypeScript. Query and subscribe to the Data Marketplace from notebooks, analytics pipelines and backend services. Python · TypeScript · Jupyter Read docs Data Marketplace Query consented, verified fan profiles. License clean behavioural data segmented by genre, venue, city, and spend. Every row is consent-gated. B2B · Anonymised · Consent-gated Read docs Seller Portal List your fan data. Submit your first-party fan data schema, have it classified, and publish it to the buyer catalog. Payouts are not built yet. Self-serve · API · No payout yet Read docs Event Stream The live-event API layer. WebSocket streams for check-ins, drop events, autograph requests, and venue triggers, firing at door-scan. WebSockets · Webhooks · Real-time Read docs Live Streaming Go live in 60 seconds. Browser-based WebRTC streaming or OBS/RTMP, no external platform. Set a $FAN paywall or stream free. WebRTC · RTMP · $FAN Paywall Read docs 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 session Authorization: Bearer <ID token> Apps built on the SDK, acting as the signed-in fan
Public API key Authorization: Bearer rfsk_… Integrations and AI agents, on /api/public/v1, with scopes
Marketplace key X-Marketplace-Key: mk_live_… Data buyers: labels, promoters, agencies
Scanner key X-Scanner-Key: <key> Venue check-in scanners
Base URLs The SDK (baseUrl) https://api.revolution.fan
REST https://api.revolution.fan/api/v1
Public API https://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/