curl --request GET \
--url https://api.onlyx.ai/v1/creators \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.onlyx.ai/v1/creators"
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', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"aiEnabled": true,
"avatarUrl": "https://media.example.com/avatars/miarose.jpg",
"connection": {
"connected": true,
"status": "connected"
},
"contentConsentRequired": false,
"createdAt": "2026-03-02T09:15:44.000Z",
"displayName": "Mia Rose",
"handle": "miarose",
"id": "cre_8f2c1a9b0d7e4c3f2a1b",
"onlyfans": {
"photosCount": 1540,
"postsCount": 812,
"subscribePriceCents": 999,
"userId": "412345678",
"verified": true,
"videosCount": 230
},
"platform": "onlyfans",
"publicName": "Mia",
"stats": {
"conversations": 1912,
"fans": 2841,
"openHandoffs": 2,
"pendingCents": 96420,
"revenueCents": 1284350,
"revenueKnown": true,
"unreadConversations": 14
}
}
],
"hasMore": true,
"nextCursor": "eyJrIjoiY3JlYXRvcnMiLCJwIjp7ImkiOiJjcmVfOGYyYzFhOWIwZDdlNGMzZjJhMWIifX0.Yp3k0Qm7T2vX9aLc4R8sWg"
}List creators
Lists every creator this credential can see, oldest first, with the connection status, the AI switch and headline stats (fans, conversations, unread conversations, open hand-offs, earnings). A key limited to some creators lists only those. Page through with limit (up to 100) and the nextCursor of the previous page. Use the ids in every creator-scoped call; never guess them.
Scope: requires creators:read.
Rate limit: the general limit of 120 requests per 60 seconds per credential.
curl --request GET \
--url https://api.onlyx.ai/v1/creators \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.onlyx.ai/v1/creators"
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', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"aiEnabled": true,
"avatarUrl": "https://media.example.com/avatars/miarose.jpg",
"connection": {
"connected": true,
"status": "connected"
},
"contentConsentRequired": false,
"createdAt": "2026-03-02T09:15:44.000Z",
"displayName": "Mia Rose",
"handle": "miarose",
"id": "cre_8f2c1a9b0d7e4c3f2a1b",
"onlyfans": {
"photosCount": 1540,
"postsCount": 812,
"subscribePriceCents": 999,
"userId": "412345678",
"verified": true,
"videosCount": 230
},
"platform": "onlyfans",
"publicName": "Mia",
"stats": {
"conversations": 1912,
"fans": 2841,
"openHandoffs": 2,
"pendingCents": 96420,
"revenueCents": 1284350,
"revenueKnown": true,
"unreadConversations": 14
}
}
],
"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>.
Query Parameters
Page size, 1-100. Default 25.
1 <= x <= 100Opaque cursor from the previous page's nextCursor. Omit for the first page.
1024