API Keys
Connect OnlyFans Account
Payouts
Public Profiles
Statistics / Reach
Statistics / Statements
Tracking Links
Transactions
Users
Connect OnlyFans Account
Poll Authentication Status
Poll the status of the authentication process. Eg. if 2FA is required, we will ask you for the code using the twoFactorPending = true
in the response body.
GET
/
api
/
authenticate
/
{attempt_id}
curl --request GET \
--url https://app.onlyfansapi.com/api/authenticate/{attempt_id} \
--header 'Authorization: Bearer <token>'
{
"account": {
"id": "acct_4d3fa20f055b4cbababab0d7e400550d",
"display_name": "ipgod@gmail.com",
"onlyfans_data": {
"id": 123456789,
"ip": "127.0.0.1",
"csrf": "abcdef123456789",
"name": "Demo User",
"view": "f",
"about": null,
"email": "demo@example.com",
"wsUrl": "wss://ws2.onlyfans.com/ws3/00",
"avatar": null,
"header": null,
"isAuth": true,
"ivFlow": "default",
"upload": {
"geoUploadArgs": {
"preset": "of_beta",
"isDelay": true,
"additional": {
"user": "123456789"
},
"needThumbs": true,
"preset_png": "of_png",
"protected_preset": "of_drm"
}
},
"canChat": true,
"hasTags": true,
"website": null,
"advBlock": [
"subscribe_offers"
],
"ivStatus": null,
"joinDate": "2022-01-01T00:00:00+00:00",
"lastSeen": "2025-01-01T12:00:00+00:00",
"location": null,
"paidFeed": false,
"username": "demouser123",
"wishlist": null,
"hasLabels": false,
"ivCountry": null,
"canAddCard": true,
"canPinPost": true,
"creditsMax": 200,
"creditsMin": 10,
"headerSize": null,
"isVerified": false,
"postsCount": 0,
"audiosCount": 0,
"hasNewHints": true,
"hasScenario": true,
"isPerformer": false,
"mediasCount": 0,
"photosCount": 0,
"videosCount": 0,
"wsAuthToken": "dummy.jwt.token",
"avatarThumbs": null,
"canLookStory": true,
"hasNewAlerts": false,
"headerThumbs": null,
"isOtpEnabled": false,
"ivFailReason": "Verification failed",
"newTagsCount": 0,
"creditBalance": 0,
"faceIdRegular": [],
"isAgeVerified": true,
"isAllowTweets": false,
"isMakePayment": false,
"needIVApprove": false,
"watermarkText": "OnlyFans.com/demouser123",
"canCreateLists": true,
"canPayInternal": true,
"favoritedCount": 0,
"favoritesCount": 0,
"hasPinnedPosts": false,
"isEmailChecked": false,
"isWantComments": true,
"canCommentStory": true,
"countPinnedChat": 0,
"isEmailRequired": false,
"isPaywallPassed": false,
"isRealPerformer": false,
"isVisibleOnline": true,
"showPostsInFeed": true,
"subscribesCount": 0,
"twitterUsername": null,
"canSendChatToAll": false,
"isCreditsEnabled": true,
"pinnedPostsCount": 0,
"subscribersCount": 0,
"chatMessagesCount": 0,
"countPriorityChat": 0,
"hasNotViewedStory": false,
"hasPurchasedPosts": false,
"hasWatermarkPhoto": true,
"hasWatermarkVideo": true,
"isDeleteInitiated": false,
"isReferrerAllowed": false,
"watermarkPosition": "bottom_right",
"archivedPostsCount": 0,
"isSpotifyConnected": false,
"isTwitterConnected": false,
"notificationsCount": 0,
"walletFirstRebills": false,
"canConnectOfAccount": false,
"connectedOfAccounts": [],
"hasInternalPayments": false,
"hasNewTicketReplies": {
"open": false,
"closed": false,
"solved": false
},
"isRealCardConnected": false,
"maxPinnedPostsCount": 5,
"isWalletAutorecharge": false,
"canReceiveChatMessage": false,
"walletAutorechargeMin": 0,
"ageVerificationSession": {
"url": "https://age.yoti.com/age-estimation?sessionId=dummy-session-id&sdkId=dummy-sdk-id",
"status": "complete",
"apiFlow": "of3",
"expiredAt": "2022-11-15T00:54:42+00:00"
},
"hasSystemNotifications": false,
"isLegalApprovedAllowed": false,
"isPaymentCardConnected": false,
"ageVerificationRequired": false,
"payoutLegalApproveState": "none",
"walletAutorechargeAmount": 0,
"canAlternativeWalletTopUp": false,
"enabledImageEditorForChat": true,
"privateArchivedPostsCount": 0,
"isMarkdownDisabledForAbout": false,
"avatarHeaderConverterUpload": true,
"hasNewChangedPriceSubscriptions": false
}
},
"state": "authenticated",
"progress": "signed_in",
"lastAttempt": {
"started_at": "2025-03-30T19:40:09.000000Z",
"completed_at": "2025-03-30T19:41:44.000000Z",
"success": true,
"error_message": null,
"needs_otp": false,
"otp_phone_ending": null
}
}
Authorizations
You can retrieve your token by visiting the OnlyFansAPI Console and clicking API Keys -> Create API Key.
Path Parameters
The attempt ID of the authentication process
Response
200 - application/json
The response is of type object
.
curl --request GET \
--url https://app.onlyfansapi.com/api/authenticate/{attempt_id} \
--header 'Authorization: Bearer <token>'
{
"account": {
"id": "acct_4d3fa20f055b4cbababab0d7e400550d",
"display_name": "ipgod@gmail.com",
"onlyfans_data": {
"id": 123456789,
"ip": "127.0.0.1",
"csrf": "abcdef123456789",
"name": "Demo User",
"view": "f",
"about": null,
"email": "demo@example.com",
"wsUrl": "wss://ws2.onlyfans.com/ws3/00",
"avatar": null,
"header": null,
"isAuth": true,
"ivFlow": "default",
"upload": {
"geoUploadArgs": {
"preset": "of_beta",
"isDelay": true,
"additional": {
"user": "123456789"
},
"needThumbs": true,
"preset_png": "of_png",
"protected_preset": "of_drm"
}
},
"canChat": true,
"hasTags": true,
"website": null,
"advBlock": [
"subscribe_offers"
],
"ivStatus": null,
"joinDate": "2022-01-01T00:00:00+00:00",
"lastSeen": "2025-01-01T12:00:00+00:00",
"location": null,
"paidFeed": false,
"username": "demouser123",
"wishlist": null,
"hasLabels": false,
"ivCountry": null,
"canAddCard": true,
"canPinPost": true,
"creditsMax": 200,
"creditsMin": 10,
"headerSize": null,
"isVerified": false,
"postsCount": 0,
"audiosCount": 0,
"hasNewHints": true,
"hasScenario": true,
"isPerformer": false,
"mediasCount": 0,
"photosCount": 0,
"videosCount": 0,
"wsAuthToken": "dummy.jwt.token",
"avatarThumbs": null,
"canLookStory": true,
"hasNewAlerts": false,
"headerThumbs": null,
"isOtpEnabled": false,
"ivFailReason": "Verification failed",
"newTagsCount": 0,
"creditBalance": 0,
"faceIdRegular": [],
"isAgeVerified": true,
"isAllowTweets": false,
"isMakePayment": false,
"needIVApprove": false,
"watermarkText": "OnlyFans.com/demouser123",
"canCreateLists": true,
"canPayInternal": true,
"favoritedCount": 0,
"favoritesCount": 0,
"hasPinnedPosts": false,
"isEmailChecked": false,
"isWantComments": true,
"canCommentStory": true,
"countPinnedChat": 0,
"isEmailRequired": false,
"isPaywallPassed": false,
"isRealPerformer": false,
"isVisibleOnline": true,
"showPostsInFeed": true,
"subscribesCount": 0,
"twitterUsername": null,
"canSendChatToAll": false,
"isCreditsEnabled": true,
"pinnedPostsCount": 0,
"subscribersCount": 0,
"chatMessagesCount": 0,
"countPriorityChat": 0,
"hasNotViewedStory": false,
"hasPurchasedPosts": false,
"hasWatermarkPhoto": true,
"hasWatermarkVideo": true,
"isDeleteInitiated": false,
"isReferrerAllowed": false,
"watermarkPosition": "bottom_right",
"archivedPostsCount": 0,
"isSpotifyConnected": false,
"isTwitterConnected": false,
"notificationsCount": 0,
"walletFirstRebills": false,
"canConnectOfAccount": false,
"connectedOfAccounts": [],
"hasInternalPayments": false,
"hasNewTicketReplies": {
"open": false,
"closed": false,
"solved": false
},
"isRealCardConnected": false,
"maxPinnedPostsCount": 5,
"isWalletAutorecharge": false,
"canReceiveChatMessage": false,
"walletAutorechargeMin": 0,
"ageVerificationSession": {
"url": "https://age.yoti.com/age-estimation?sessionId=dummy-session-id&sdkId=dummy-sdk-id",
"status": "complete",
"apiFlow": "of3",
"expiredAt": "2022-11-15T00:54:42+00:00"
},
"hasSystemNotifications": false,
"isLegalApprovedAllowed": false,
"isPaymentCardConnected": false,
"ageVerificationRequired": false,
"payoutLegalApproveState": "none",
"walletAutorechargeAmount": 0,
"canAlternativeWalletTopUp": false,
"enabledImageEditorForChat": true,
"privateArchivedPostsCount": 0,
"isMarkdownDisabledForAbout": false,
"avatarHeaderConverterUpload": true,
"hasNewChangedPriceSubscriptions": false
}
},
"state": "authenticated",
"progress": "signed_in",
"lastAttempt": {
"started_at": "2025-03-30T19:40:09.000000Z",
"completed_at": "2025-03-30T19:41:44.000000Z",
"success": true,
"error_message": null,
"needs_otp": false,
"otp_phone_ending": null
}
}
Assistant
Responses are generated using AI and may contain mistakes.