curl --request GET \
--url https://api.fanvue.com/v1/creators/{creatorUserUuid}/insights/earnings/summary \
--header 'Authorization: Bearer <token>' \
--header 'X-Fanvue-API-Version: <x-fanvue-api-version>'import requests
url = "https://api.fanvue.com/v1/creators/{creatorUserUuid}/insights/earnings/summary"
headers = {
"X-Fanvue-API-Version": "<x-fanvue-api-version>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-Fanvue-API-Version': '<x-fanvue-api-version>',
Authorization: 'Bearer <token>'
}
};
fetch('https://api.fanvue.com/v1/creators/{creatorUserUuid}/insights/earnings/summary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"totals": {
"allTime": {
"gross": 1250000,
"net": 1037500
},
"thisMonth": {
"gross": 120000,
"net": 99000,
"previousMonthGross": 100000,
"previousMonthNet": 82500,
"grossChangePercentage": 20,
"netChangePercentage": 20
}
},
"breakdownBySource": {
"subs": {
"gross": 50000,
"net": 41250
},
"messages": {
"gross": 15000,
"net": 12375
},
"posts": {
"gross": 25000,
"net": 20625
},
"tips": {
"gross": 12000,
"net": 9900
},
"referrals": {
"gross": 4000,
"net": 3300
},
"renewals": {
"gross": 10000,
"net": 8250
},
"other": {
"gross": 4000,
"net": 3300
}
},
"earningsByType": {
"renewals": {
"gross": 10000,
"net": 8250
},
"messages": {
"gross": 15000,
"net": 12375
},
"tips": {
"gross": 12000,
"net": 9900
},
"subs": {
"gross": 50000,
"net": 41250
}
},
"overTime": [
{
"periodStart": "2026-03-01T00:00:00.000Z",
"gross": 24000,
"net": 19800
},
{
"periodStart": "2026-03-02T00:00:00.000Z",
"gross": 18000,
"net": 14850
}
],
"averageByDayOfWeek": {
"1": 11000,
"2": 9500,
"3": 10250,
"4": 9800,
"5": 12000,
"6": 8700,
"7": 9100
},
"averageByHourOfDay": {
"0": 0,
"1": 0,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0,
"7": 0,
"8": 1200,
"9": 2300,
"10": 2800,
"11": 3200,
"12": 3500,
"13": 3700,
"14": 4200,
"15": 3900,
"16": 3300,
"17": 3000,
"18": 2600,
"19": 2100,
"20": 1700,
"21": 1300,
"22": 900,
"23": 400
},
"period": {
"startDate": "2026-03-01T00:00:00.000Z",
"endDate": "2026-04-01T00:00:00.000Z",
"granularity": "day",
"timezone": "UTC"
}
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"message": "<string>"
}{
"error": "<string>",
"message": "<string>",
"nextVersion": "<string>"
}{
"error": "<string>"
}Get aggregated earnings summary for a creator
Returns pre-aggregated earnings metrics for the specified creator, including all-time totals, month-over-month comparisons, source/type breakdowns, chart series, and averages.
curl --request GET \
--url https://api.fanvue.com/v1/creators/{creatorUserUuid}/insights/earnings/summary \
--header 'Authorization: Bearer <token>' \
--header 'X-Fanvue-API-Version: <x-fanvue-api-version>'import requests
url = "https://api.fanvue.com/v1/creators/{creatorUserUuid}/insights/earnings/summary"
headers = {
"X-Fanvue-API-Version": "<x-fanvue-api-version>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-Fanvue-API-Version': '<x-fanvue-api-version>',
Authorization: 'Bearer <token>'
}
};
fetch('https://api.fanvue.com/v1/creators/{creatorUserUuid}/insights/earnings/summary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"totals": {
"allTime": {
"gross": 1250000,
"net": 1037500
},
"thisMonth": {
"gross": 120000,
"net": 99000,
"previousMonthGross": 100000,
"previousMonthNet": 82500,
"grossChangePercentage": 20,
"netChangePercentage": 20
}
},
"breakdownBySource": {
"subs": {
"gross": 50000,
"net": 41250
},
"messages": {
"gross": 15000,
"net": 12375
},
"posts": {
"gross": 25000,
"net": 20625
},
"tips": {
"gross": 12000,
"net": 9900
},
"referrals": {
"gross": 4000,
"net": 3300
},
"renewals": {
"gross": 10000,
"net": 8250
},
"other": {
"gross": 4000,
"net": 3300
}
},
"earningsByType": {
"renewals": {
"gross": 10000,
"net": 8250
},
"messages": {
"gross": 15000,
"net": 12375
},
"tips": {
"gross": 12000,
"net": 9900
},
"subs": {
"gross": 50000,
"net": 41250
}
},
"overTime": [
{
"periodStart": "2026-03-01T00:00:00.000Z",
"gross": 24000,
"net": 19800
},
{
"periodStart": "2026-03-02T00:00:00.000Z",
"gross": 18000,
"net": 14850
}
],
"averageByDayOfWeek": {
"1": 11000,
"2": 9500,
"3": 10250,
"4": 9800,
"5": 12000,
"6": 8700,
"7": 9100
},
"averageByHourOfDay": {
"0": 0,
"1": 0,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0,
"7": 0,
"8": 1200,
"9": 2300,
"10": 2800,
"11": 3200,
"12": 3500,
"13": 3700,
"14": 4200,
"15": 3900,
"16": 3300,
"17": 3000,
"18": 2600,
"19": 2100,
"20": 1700,
"21": 1300,
"22": 900,
"23": 400
},
"period": {
"startDate": "2026-03-01T00:00:00.000Z",
"endDate": "2026-04-01T00:00:00.000Z",
"granularity": "day",
"timezone": "UTC"
}
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"message": "<string>"
}{
"error": "<string>",
"message": "<string>",
"nextVersion": "<string>"
}{
"error": "<string>"
}read:creator— Access creator profiles, content, and creator-specific information.read:insights— Access analytics, metrics, and insights data for performance tracking.
Authorizations
OAuth 2.0 access token, presented as a JWT bearer token in the Authorization header. Obtain a token via the authorization-code flow; the scopes granted to the token determine which operations it may call.
Headers
API version to use for the request
"2025-06-26"
Path Parameters
Query Parameters
Start date as ISO 8601 datetime string with optional timezone offset (e.g., 2024-10-20T00:00:00+01:00 or 2024-10-20T00:00:00Z).
End date as ISO 8601 datetime string with optional timezone offset (e.g., 2024-10-25T00:00:00+01:00 or 2024-10-25T00:00:00Z). Non-inclusive - data before this date is included.
Aggregation granularity for the over-time chart
day, week IANA timezone used for period grouping and month boundaries (e.g., Europe/London, America/New_York)
Response
Creator aggregated earnings summary
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Average gross earnings by ISO day-of-week (1=Monday, 7=Sunday)
Show child attributes
Show child attributes
Average gross earnings by hour-of-day in the selected timezone (0-23)
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?