curl --request GET \
--url https://api.onlyx.ai/v1/creators/{creatorId}/tracking-links/{linkId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.onlyx.ai/v1/creators/{creatorId}/tracking-links/{linkId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.onlyx.ai/v1/creators/{creatorId}/tracking-links/{linkId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"accountedFans": 301,
"archived": false,
"arpuCents": 475,
"attributedFans": 388,
"claims": 0,
"claimsLimit": null,
"clicks": 4210,
"code": "17",
"conversion": 0.0922,
"costCents": 25000,
"cpcCents": 6,
"cpfCents": 64,
"daily": [
{
"clicks": 4101,
"clicksDelta": 52,
"day": "2026-09-24",
"subscribers": 377,
"subscribersDelta": 4
},
{
"clicks": 4210,
"clicksDelta": 109,
"day": "2026-09-25",
"subscribers": 388,
"subscribersDelta": 11
}
],
"earningsCents": 184300,
"earningsKnown": true,
"epcCents": 44,
"expiresAt": null,
"firstSeenAt": "2026-09-01T10:14:00.000Z",
"id": "trk_5a7c9e1b3d5f7a9c1e3b",
"kind": "tracking",
"lastSeenAt": "2026-09-26T09:15:00.000Z",
"name": "Reddit September",
"note": "Paid posts in three subreddits",
"ofCreatedAt": "2026-09-01T10:00:00.000Z",
"profitCents": 159300,
"roi": 6.372,
"source": "reddit",
"subscribers": 388,
"trialDays": null,
"url": "https://onlyfans.com/miarose/c17"
}Get a tracking link
Returns one tracking link with its daily history: cumulative clicks and subscribers at the end of each day OnlyX read it, and what each day added. days sets the window, 1 to 365 (default 90). A link that belongs to another creator is 404 NOT_FOUND, even in your own workspace.
Scope: requires links:read.
Rate limit: the general limit of 120 requests per 60 seconds per credential.
curl --request GET \
--url https://api.onlyx.ai/v1/creators/{creatorId}/tracking-links/{linkId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.onlyx.ai/v1/creators/{creatorId}/tracking-links/{linkId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.onlyx.ai/v1/creators/{creatorId}/tracking-links/{linkId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"accountedFans": 301,
"archived": false,
"arpuCents": 475,
"attributedFans": 388,
"claims": 0,
"claimsLimit": null,
"clicks": 4210,
"code": "17",
"conversion": 0.0922,
"costCents": 25000,
"cpcCents": 6,
"cpfCents": 64,
"daily": [
{
"clicks": 4101,
"clicksDelta": 52,
"day": "2026-09-24",
"subscribers": 377,
"subscribersDelta": 4
},
{
"clicks": 4210,
"clicksDelta": 109,
"day": "2026-09-25",
"subscribers": 388,
"subscribersDelta": 11
}
],
"earningsCents": 184300,
"earningsKnown": true,
"epcCents": 44,
"expiresAt": null,
"firstSeenAt": "2026-09-01T10:14:00.000Z",
"id": "trk_5a7c9e1b3d5f7a9c1e3b",
"kind": "tracking",
"lastSeenAt": "2026-09-26T09:15:00.000Z",
"name": "Reddit September",
"note": "Paid posts in three subreddits",
"ofCreatedAt": "2026-09-01T10:00:00.000Z",
"profitCents": 159300,
"roi": 6.372,
"source": "reddit",
"subscribers": 388,
"trialDays": null,
"url": "https://onlyfans.com/miarose/c17"
}Authorizations
An API key (onx_sk_…) created in OnlyX under Settings → API & MCP, or an OAuth access token (onx_at_…) issued to a connected app. Send it as Authorization: Bearer <credential>. API keys may also be sent as X-API-Key: <key>.
Path Parameters
The creator id (cre_…).
The tracking link id (trk_…).
Query Parameters
How many days of history, 1 to 365. Default 90.
1 <= x <= 365Response
The tracking link with its daily history.
Of those, fans OnlyX could match to spend.
Hidden from the default list.
Earnings per fan, in cents, or null.
Fans OnlyFans attributes to this link.
Trial links: trials claimed.
Trial links: the most trials it gives, or null for no limit.
Clicks, as counted by OnlyFans.
The link code on OnlyFans.
subscribers / clicks, or null.
What you paid for the promotion, in cents. null = never costed, 0 = free.
Cost per click, in cents, or null.
Cost per fan (subscriber), in cents, or null.
One entry per day read in the window, oldest first.
Show child attributes
Show child attributes
Lifetime spend of the fans this link brought, in cents. A floor when accountedFans is below attributedFans. null when no attributed fan is known. Never add link earnings up into creator revenue: a fan on two links counts on both.
false until earnings could be worked out.
Earnings per click, in cents, or null.
When the link stops working, or null.
When OnlyX first read the link.
The tracking link id (trk_…).
tracking: a campaign link. trial: a free-trial link.
tracking, trial When OnlyX last read it (about hourly while the creator is connected).
The link name on OnlyFans.
Your note.
When it was created on OnlyFans.
earnings − cost, in cents, or null.
profit / cost, or null when there is no cost.
Where you ran it (your label).
Subscribers it brought, as counted by OnlyFans.
Trial links: the length of the free trial in days.
The public link to share.