CreatorAPI wraps Fanvue's official developer API in a hosted REST layer that returns plain JSON, matching the shape of OnlyFans and Fansly. Call it with fetch from Node, Bun or Deno: one key, one header, no SDK to install.
You do not need Fanvue's own SDK or CreatorAPI's, because the response is plain REST JSON, so any HTTP client in any JavaScript runtime works: fetch, axios, got, undici, whatever you already use. Fanvue does publish an official developer API with OAuth2, unlike OnlyFans and Fansly, and CreatorAPI handles that OAuth exchange for you once, at connect time, then exposes every route through the same key based header as every other platform. The examples below use the built in fetch that ships with Node 18 and later.
Listing subscribers takes one GET request with your key in the X-API-Key header. Every native route follows the same pattern, so once this works, chats, insights, earnings, posts and vault media work the same way.
// list a connected Fanvue creator's subscribers · a native read costs 1 credit const res = await fetch( "https://api.creator-api.com/v1/{account}/native/creators/{creatorUserUuid}/subscribers", { headers: { "X-API-Key": process.env.CREATOR_API_KEY } } ); const subscribers = await res.json();
An export job bulk dumps subscribers, earnings, chats or posts to CSV or JSONL for 10 credits, and you download the file when the job is done. That is the right tool when you want a whole dataset instead of paging through reads.
// start a bulk export, poll the job, download when done const job = await fetch("https://api.creator-api.com/v1/{account}/exports", { method: "POST", headers: { "X-API-Key": process.env.CREATOR_API_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ dataset: "earnings", format: "csv" }) }).then(r => r.json());
Push instead of poll, handle failures cleanly, and let your AI editor write the boring parts.
Fanvue's own webhook subscriptions push events, or register once with CreatorAPI's signed layer to also cover other platforms. Details on the Fanvue webhooks page.
Failures come back as JSON with a clear error field. 401 means a bad key, 402 insufficient credits, 429 rate limit, so a try catch plus a status check covers it.
The whole API reference ships as one file, llms-full.txt. Paste it into Claude or Codex and let the assistant write your integration against real routes.
The fastest path is the quickstart, which takes you from signup to your first JSON response in a few minutes. For the full route catalog, see the Fanvue API overview, which covers 147 paths and 187 operations. The free trial includes 1,000 credits with no card required, and a native read costs 1 credit, so there is plenty of room to prototype.
Fanvue publishes an official REST API, and CreatorAPI wraps it in the same plain JSON contract as every other platform, so any JavaScript runtime can call it with fetch, no dedicated SDK needed.
No. CreatorAPI is plain REST returning JSON, so fetch, axios, got or any other HTTP client works as is.
Yes. Any runtime with an HTTP client can call it. The examples on this page use the built in fetch that ships with Node 18 and later.
Send your CreatorAPI key in the X-API-Key header on every request. The Fanvue OAuth token you connected is handled server side; you never see or forward it yourself.
Fanvue's own native webhook subscriptions push events, and CreatorAPI's unified layer normalises them with every other connected platform. Every unified delivery is signed with HMAC SHA256 and retried with backoff.
The free trial includes 1,000 credits with no card required, and a native read costs 1 credit. Fanvue is included in every plan at no extra charge.
Start free with 1,000 credits, no card, one key for every connected platform.