# CreatorAPI · Quickstart

One API for OnlyFans and Fansly. Native access, no per call platform fees, one key for both.

Base URL: `https://api.creator-api.com`

## 1. Authenticate

Every request carries your API key in a header:

```
X-API-Key: <your key>
```

`Authorization: Bearer <your key>` works too. Keys have a scope:

* `readonly` · GET requests only.
* `full` · reads plus writes (POST, PUT, PATCH, DELETE).

Check your key and balance any time:

```bash
curl -H "X-API-Key: $CREATOR_API_KEY" https://api.creator-api.com/v1/whoami
curl -H "X-API-Key: $CREATOR_API_KEY" https://api.creator-api.com/v1/billing
```

## 2. Connect a creator account

You call the API on behalf of a creator account you own or manage. There are two ways to connect one · pick whichever you prefer.

### Option 1 · Session import (recommended, no password)

You never type your OnlyFans password into CreatorAPI. You import your existing browser **session** instead. Handing your password to any tool also exposes your 2FA and payout settings and breaks OnlyFans' terms · a session keeps you in control and you can revoke it any time by logging out.

Grab four values from a browser where you are logged in to onlyfans.com:

| Value | Where to find it |
| --- | --- |
| `auth_id` | DevTools (F12) → Application → Cookies → `https://onlyfans.com` → value of the `auth_id` cookie |
| `sess` | same place → value of the `sess` cookie |
| `x_bc` | DevTools → Network → click any request to onlyfans.com → Request Headers → value of `x-bc` (or Application → Local Storage → `bcTokenSha`) |
| `user_agent` | DevTools → Console → type `navigator.userAgent` and copy the string |

Then connect:

```bash
curl -X POST https://api.creator-api.com/v1/connect/import \
  -H "X-API-Key: $CREATOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "onlyfans",
    "proxy_mode": "managed",
    "auth": {
      "auth_id": "...",
      "sess": "...",
      "x_bc": "...",
      "user_agent": "..."
    }
  }'
```

For **Fansly** set `"platform": "fansly"` and send `auth` with `token` (the `authorization` header on any apiv3.fansly.com request) and `deviceId` (the `fansly-client-id` header).

Already have a cookie export? Paste a raw browser cookie list instead · send `auth` as `{ "cookies": [ { "name": "auth_id", "value": "..." }, ... ], "user_agent": "..." }` and we map it for you. Any cookie export browser extension produces this.

**Proxy · your choice.** Native OnlyFans and Fansly sessions run behind a residential proxy so the account stays consistent. Pick one with `proxy_mode`:

- `"proxy_mode": "managed"` (recommended) · we route the account through a **secured CreatorAPI residential proxy**. Nothing to set up, no proxy to buy, matched to the creator's country.
- `"proxy_mode": "own"` · bring your own · add `"proxy": "http://user:pass@host:port"` to pin a specific IP.

Leave `proxy_mode` out and we infer it: a `proxy` you supply means `own`, otherwise `managed`. Official platforms (Instagram, X, TikTok, ...) need no proxy · just an OAuth `access_token` in `auth`.

### Option 2 · Login with OnlyFans (assisted)

Prefer to just log in? We can run the login for you behind the proxy and handle the 2FA code, so there is no cookie hunting. This assisted flow is available on request while the self serve login endpoint is in beta · ask in the dashboard or reply to your onboarding email and we enable it for your key.

List your connected accounts with `GET /v1/accounts`. Each account gets an id · that id is the `{account}` in every native call below.

## 3. Make a call

Both platforms share one pattern. The `{account}` decides which platform is hit, so the same key and the same route serve OnlyFans and Fansly:

```
{METHOD} https://api.creator-api.com/v1/{account}/native/{path}
```

Example, list a creator's subscribers on OnlyFans:

```bash
curl -H "X-API-Key: $CREATOR_API_KEY" \
  "https://api.creator-api.com/v1/{account}/native/subscriptions/subscribers?limit=50"
```

The full path catalog per platform is in the reference files:

* OnlyFans · `reference-onlyfans.md` · 194 capabilities.
* Fansly · `reference-fansly.md`.

## 4. Billing (credits)

Calls draw credits from your balance. Unmetered keys (internal) are never charged.

| Action | Credits |
|---|---|
| Native read (GET) | 1 |
| Native write | 2 |
| Webhook write | 1 |
| Smart link write | 1 |
| Tag write | 0 |
| Data export job | 10 |
| Fan AI summary | 25 (cache hit free) |

Buy credits through Stripe Checkout:

```bash
curl -X POST https://api.creator-api.com/v1/billing/checkout \
  -H "X-API-Key: $CREATOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "plan": "pack_10k" }'
```

The response carries a Stripe URL. On payment the credits land automatically. See `GET /v1/billing/plans` for the packs and `GET /v1/billing/orders` for history.

## 5. Platform features (beyond raw routes)

These sit on top of the native layer and work the same for both platforms:

* Webhooks · `POST /v1/{account}/webhooks`. Signed delivery (HMAC SHA256), retry with backoff. Event catalog at `GET /v1/webhooks/events`.
* Data exports · `POST /v1/{account}/exports`. Bulk datasets (subscribers, transactions, chats, posts) to CSV or JSONL, download when done.
* Smart links · `POST /v1/links`. Trackable short links with click stats. Public redirect at `/l/{slug}`.
* Tags · `POST /v1/tags`. First party CRM metadata on any entity. Free.
* Fan AI summary · `GET /v1/{account}/fans/{fan_id}/summary`. A structured brief on a fan (persona, spend signal, churn risk, suggested next message) built from the native chat history.

## 6. Errors

Standard HTTP status codes, JSON body `{ "error": "..." }`:

* `401` · missing or invalid key.
* `402` · insufficient credits.
* `403` · key scope too low, or the route is gated by the platform.
* `404` · route or object not found.
* `429` · rate limit for your key exceeded, retry after a moment.

## 7. Build with Claude or Codex

Paste `llms-full.txt` (the whole API in one file) into Claude or Codex and describe what you want to build. The model then writes working calls against every route below. Machine readable catalogs: `capabilities-onlyfans.json`, `capabilities-fansly.json`, and the OpenAPI spec at `https://api.creator-api.com/openapi.json`.
