API Keys
Banking
Connect OnlyFans Account
Mass Messaging
Media Vault
Media Vault Lists
Notifications
Payouts
Post Comments
Post Labels
Posts
Public Profiles
Saved For Later (Messages)
Saved For Later (Posts)
Statistics | Reach
Statistics | Statements
Tracking Links
Transactions
Trial Links
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}
Poll Authentication Status
Copy
curl --request GET \
--url https://app.onlyfansapi.com/api/authenticate/{attempt_id} \
--header 'Authorization: Bearer <token>'
Copy
{
"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
.
Poll Authentication Status
Copy
curl --request GET \
--url https://app.onlyfansapi.com/api/authenticate/{attempt_id} \
--header 'Authorization: Bearer <token>'
Copy
{
"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.