Revenue across your roster
Revenue for the agency's own account plus every managed account it may see stats for (`canViewStats`), with a per-account breakdown — the same figures as the dashboard's "All creators" view.
/api/external/agency/statsNewRevenue for the agency's own account plus every managed account it may see stats for (canViewStats), with a per-account breakdown — the same figures as the dashboard's "All creators" view.
Amounts are USD dollars (rounded to cents), excluding refunds and chargebacks: gross is buyer-paid minus VAT, net is the sellers' earnings after the platform fee. Days are UTC; the default range is the last 30 days. For one account's day-by-day chart and transactions, call GET /api/external/earnings with X-Dropfans-Account.
Authentication
Send the creator's API key as a bearer token: Authorization: Bearer dpfn_…. See Authentication & API keys.
Needs the agency's own key, sent without X-Dropfans-Account.
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
startDate | string | Optional | First UTC day (YYYY-MM-DD). Defaults to 29 days before today, so the default range is the last 30 days. Format: date |
endDate | string | Optional | Last UTC day (YYYY-MM-DD), inclusive. Defaults to today. Format: date |
Responses
| Name | Type | Description | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
startDate | string | First UTC day included. Format: date | |||||||||||||||||||||||||||
endDate | string | Last UTC day included. Format: date | |||||||||||||||||||||||||||
currency | string | Always "USD". One of: USD | |||||||||||||||||||||||||||
total | RevenueTotals | Sum over every account below.Show child attributes
| |||||||||||||||||||||||||||
accounts | object[] | The agency’s own account first, then every ACCEPTED managed account it may see stats for (canViewStats).Show child attributes
|
{
"startDate": "2026-10-01",
"endDate": "2026-10-26",
"currency": "USD",
"total": {
"gross": 1240.5,
"net": 992.4,
"sales": 31,
"tips": 12,
"subscriptionPayments": 9
},
"accounts": [
{
"id": "cmh1agc0q0001ab7k2p9q4r8s",
"username": "starlight_agency",
"name": "Starlight Agency",
"kind": "agency",
"gross": 0,
"net": 0,
"sales": 0,
"tips": 0,
"subscriptionPayments": 0
},
{
"id": "cmh4v2q8k0003xy9z7w6v5u4t",
"username": "luna_ai",
"name": "Luna",
"kind": "creator",
"gross": 820,
"net": 656,
"sales": 22,
"tips": 8,
"subscriptionPayments": 6
},
{
"id": "cmh3k9p2a0002cd5e6f7g8h9j",
"username": "valeria",
"name": "Valeria",
"kind": "creator",
"gross": 420.5,
"net": 336.4,
"sales": 9,
"tips": 4,
"subscriptionPayments": 3
}
]
}Errors
| Status | Body | When |
|---|---|---|
| 400 | {"error":"Agency endpoints act as the agency itself — send them without X-Dropfans-Account.","code":"account_header_not_allowed"} | The request carried `X-Dropfans-Account`. Agency endpoints always act as the agency. |
| 401 | {"error":"Unauthorized","code":"unauthorized"} | Missing or invalid API key. |
| 403 | {"error":"This endpoint needs a verified agency's own API key.","code":"agency_key_required"} | The key is not a verified agency’s own key — a creator’s key, or a key an agency minted for one of its creators. |
| 400 | {"error":"startDate/endDate must be YYYY-MM-DD with start ≤ end"} | Malformed dates, or start after end. |
Rate limiting
Every response carries the X-RateLimit-Tier header and, on limited tiers, the per-minute and per-day trios — read X-RateLimit-Remaining and X-RateLimit-Reset instead of hardcoding limits. Details in Rate limits.
Code samples
curl "https://www.dropfans.io/api/external/agency/stats?startDate=2026-10-01&endDate=2026-10-26" \
-H "Authorization: Bearer $DROPFANS_API_KEY"const res = await fetch(`https://www.dropfans.io/api/external/agency/stats?startDate=2026-10-01&endDate=2026-10-26`, {
headers: {
Authorization: `Bearer ${process.env.DROPFANS_API_KEY}`,
},
});
console.log(await res.json());import os
import requests
res = requests.get(
"https://www.dropfans.io/api/external/agency/stats",
headers={"Authorization": f"Bearer {os.environ['DROPFANS_API_KEY']}"},
params={"startDate": "2026-10-01", "endDate": "2026-10-26"},
)
print(res.json())Questions? [email protected]
