curl --request GET \
--url https://api.onlyx.ai/v1/creators/{creatorId}/tracking-links \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.onlyx.ai/v1/creators/{creatorId}/tracking-links"
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', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"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,
"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"
}
],
"hasMore": true,
"nextCursor": "eyJrIjoiY3JlYXRvcnMiLCJwIjp7ImkiOiJjcmVfOGYyYzFhOWIwZDdlNGMzZjJhMWIifX0.Yp3k0Qm7T2vX9aLc4R8sWg"
}List tracking links
Lists the creator’s OnlyFans tracking and trial links, most clicks first, with clicks and subscribers from OnlyFans, your cost fields, and computed earnings, profit, ROI and per-click and per-fan figures (all money in cents; a figure that cannot be worked out is null, never 0). OnlyX reads the links from OnlyFans about once an hour while she is connected, so there is no need to poll this more than every few minutes. Archived links are left out unless includeArchived=true. Page with limit (up to 100) and cursor.
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 \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.onlyx.ai/v1/creators/{creatorId}/tracking-links"
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', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"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,
"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"
}
],
"hasMore": true,
"nextCursor": "eyJrIjoiY3JlYXRvcnMiLCJwIjp7ImkiOiJjcmVfOGYyYzFhOWIwZDdlNGMzZjJhMWIifX0.Yp3k0Qm7T2vX9aLc4R8sWg"
}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_…).
Query Parameters
Include links you archived in OnlyX.
Page size, 1-100. Default 25.
1 <= x <= 100Opaque cursor from the previous page's nextCursor. Omit for the first page.
1024