Skip to main content
Demo
Viewing as
Fan identity

Developers

The platform behind revolution.fan, for your app.

Creators across music, sports and streaming run their pages, their fans and their money on revolution.fan. Build on the same platform: a fan app of your own on the SDK, an integration or an AI agent on the Public API, or audience data from the Data Marketplace.

For fan apps

The SDK

Your brand, your domain, your app, on the platform revolution.fan runs on: creator pages, follows, comments, hearts, polls, Scout and fan accounts. A typed client and React hooks for the web and React Native, checked against the live API on every change.

Partner previewSDK docs

For integrations and AI agents

The Public API

A versioned, frozen API: fields are added, never removed. Search events, venues, artists, live streams and clips, RSVP as the key's owner, and hand a fan a checkout link they confirm on revolution.fan. No money moves through an agent.

Keys by requestEndpoints

For brands and researchers

The Data Marketplace

Consented fan audiences segmented by genre, venue, city and spend, priced per attribute, with an anonymity floor applied to every query. Try it on synthetic data first, no key needed.

Sandbox openMarketplace docs

What it looks like

The SDK, TypeScript

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

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

const hub = await api.getHub({
  path: { kind: "artist", slug: "an-artist" },
});
hub.universe.name;   // the creator
hub.now.state;       // "live" when they are

The Public API, any language

curl "https://api.revolution.fan/api/public/v1/events?q=jazz" \
  -H "Authorization: Bearer rfsk_..."

The Public API

For integrations and AI agents.

Everything lives under https://api.revolution.fan/api/public/v1, with a key in Authorization: Bearer rfsk_…. A key belongs to an account and carries scopes. Keys are issued to partners today: tell us what you are building and what it needs to do.

GET/pingreadChecks the key and its scopes
GET/eventsreadUpcoming events: search by text, genre, category, type or city
GET/events/<slug>readOne event, with its venue and headliner
GET/venuesreadVenues
GET/venues/<slug>readOne venue
GET/venues/<slug>/availabilityreadA venue's open and booked dates
GET/artistsreadArtists
GET/artists/<slug>readOne artist
GET/streams/livereadStreams live right now
GET/clipsreadRecent public clips
POST/events/<slug>/rsvpactionsRSVP as the key's owner
DELETE/events/<slug>/rsvpactionsTake the RSVP back
POST/checkout/linkcheckoutA link to a page where the fan confirms and pays

read

Everything you can look up. Every key has it.

actions

Writes that move no money, such as an RSVP.

checkout

Checkout links: the fan confirms and pays on revolution.fan, and the agent never handles funds.

Building something?

Tell us what it is. Access to the SDK and Public API keys are set up per partner, and so is pricing.

Get in touch