OnlyFans API
Zapier

Available modules

A list of all available OnlyFans API modules in Zapier.

Looking for a specific module?

Please reach out to us, we can add it!

Instant Triggers

An Instant Trigger (also known as a "webhook"), is a module that is executed immediately when an event occurs.

🤑 Chat Message PPV Purchased

A PPV (pay-per-view) message that you sent has been purchased by a fan

Example data
{
    "event": "messages.ppv.unlocked",
    "account_id": "acct_123",
    "payload": {
        "id": "123",
        "type": "paided_message",
        "createdAt": "2025-05-05T22:18:00+00:00",
        "text": "has purchased your <a href='https://onlyfans.com/my/chats/chat/123?firstId=123'>message</a> for $5.00!",
        "replacePairs": {
            "{NAME}": "Name",
            "{MESSAGE_LINK}": "<a href='https://onlyfans.com/my/chats/chat/123?firstId=123'>message</a>",
            "{AMOUNT}": "$5.00"
        },
        "subType": "subscriber_pay_for_chat_message",
        "user_id": "123",
        "isRead": false,
        "canGoToProfile": true,
        "user": {
            "avatar": null,
            "avatarThumbs": null,
            "header": null,
            "headerSize": null,
            "headerThumbs": null,
            "id": 123,
            "name": "Name",
            "username": "username",
            "canLookStory": false,
            "canCommentStory": false,
            "hasNotViewedStory": false,
            "isVerified": false,
            "canPayInternal": false,
            "hasScheduledStream": false,
            "hasStream": false,
            "hasStories": false,
            "tipsEnabled": false,
            "tipsTextEnabled": true,
            "tipsMin": 5,
            "tipsMinInternal": 1,
            "tipsMax": 200,
            "canEarn": false,
            "canAddSubscriber": false,
            "subscribePrice": 0,
            "subscribedBy": false,
            "subscribedOn": false,
            "canReceiveChatMessage": false,
            "hideChat": false,
            "lastSeen": "2025-05-05T22:17:29+00:00",
            "isPerformer": false,
            "isRealPerformer": false,
            "view": "mn",
            "canReport": true,
            "subscribedByData": null,
            "subscribedOnData": null,
            "isBlocked": false
        }
    }
}

📥 Chat Message Received

A new chat message has been received.

Example data
{
    "event": "messages.received",
    "account_id": "acct_abc123",
    "payload": {
        "responseType": "message",
        "text": "<p>Text</p>",
        "giphyId": null,
        "lockedText": false,
        "isFree": true,
        "price": 0,
        "isMediaReady": true,
        "mediaCount": 0,
        "media": [ ],
        "previews": [ ],
        "isTip": false,
        "isReportedByMe": false,
        "isCouplePeopleMedia": false,
        "queueId": 123,
        "isMarkdownDisabled": true,
        "fromUser": {
            "view": "s",
            "avatar": "https://public.onlyfans.com/files/.../avatar.jpg",
            "avatarThumbs": {
                "c50": "https://thumbs.onlyfans.com/public/files/thumbs/c50/.../avatar.jpg",
                "c144": "https://thumbs.onlyfans.com/public/files/thumbs/c144/.../avatar.jpg"
            },
            "header": "https://public.onlyfans.com/files/f/fn/fni/.../header.jpg",
            "headerSize": {
                "width": 4000,
                "height": 3000
            },
            "headerThumbs": {
                "w480": "https://thumbs.onlyfans.com/public/files/thumbs/w480/f/fn/fni/.../header.jpg",
                "w760": "https://thumbs.onlyfans.com/public/files/thumbs/w760/f/fn/fni/.../header.jpg"
            },
            "id": 123,
            "name": "Name",
            "username": "username",
            "canLookStory": true,
            "canCommentStory": true,
            "hasNotViewedStory": false,
            "isVerified": false,
            "canPayInternal": true,
            "hasScheduledStream": false,
            "hasStream": false,
            "hasStories": false,
            "tipsEnabled": false,
            "tipsTextEnabled": true,
            "tipsMin": 5,
            "tipsMinInternal": 1,
            "tipsMax": 200,
            "canEarn": false,
            "canAddSubscriber": false,
            "subscribePrice": 0,
            "displayName": "Name",
            "notice": "",
            "isRestricted": false,
            "canRestrict": true,
            "subscribedBy": true,
            "subscribedByExpire": false,
            "subscribedByExpireDate": "2025-01-01T01:11:11+00:00",
            "subscribedByAutoprolong": true,
            "subscribedIsExpiredNow": false,
            "currentSubscribePrice": 0,
            "subscribedOn": null,
            "subscribedOnExpiredNow": true,
            "subscribedOnDuration": "1 month",
            "listsStates": [
                {
                    "id": "friends",
                    "type": "friends",
                    "name": "Amigos",
                    "hasUser": false,
                    "canAddUser": false,
                    "cannotAddUserReason": "USER_NOT_PERFORMER"
                },
                {
                    "id": "muted",
                    "type": "muted",
                    "name": "Enmudecido",
                    "hasUser": false,
                    "canAddUser": true,
                    "cannotAddUserReason": null
                },
                {
                    "id": "tagged",
                    "type": "tagged",
                    "name": "etiquetado",
                    "hasUser": false,
                    "canAddUser": false,
                    "cannotAddUserReason": "SYSTEM_LIST"
                },
                {
                    "id": "rebill_on",
                    "type": "rebill_on",
                    "name": "Renovación de Facturación",
                    "hasUser": false,
                    "canAddUser": false,
                    "cannotAddUserReason": null
                },
                {
                    "id": "recent",
                    "type": "recent",
                    "name": "Reciente (últimas 24 horas)",
                    "hasUser": false,
                    "canAddUser": false,
                    "cannotAddUserReason": "SYSTEM_LIST"
                },
                {
                    "id": "fans",
                    "type": "fans",
                    "name": "Fans",
                    "hasUser": false,
                    "canAddUser": false,
                    "cannotAddUserReason": null
                },
                {
                    "id": "rebill_off",
                    "type": "rebill_off",
                    "name": "Apagar Facturación",
                    "hasUser": false,
                    "canAddUser": false,
                    "cannotAddUserReason": null
                },
                {
                    "id": "following",
                    "type": "following",
                    "name": "Siguiente",
                    "hasUser": true,
                    "canAddUser": false,
                    "cannotAddUserReason": "ALREADY_EXISTS"
                }
            ],
            "showMediaCount": true,
            "lastSeen": "2025-01-01T01:11:11+00:0000",
            "canReport": true
        },
        "isFromQueue": false,
        "id": 123,
        "isOpened": false,
        "isNew": true,
        "createdAt": "2025-01-01T01:11:11+00:00",
        "changedAt": "2025-01-01T01:11:11+00:00",
        "cancelSeconds": 119,
        "isLiked": false,
        "canPurchase": false,
        "canPurchaseReason": "free",
        "canReport": true,
        "canBePinned": true,
        "isPinned": false
    }
}

📤 Chat Message Sent

A new message has been sent from one of your OnlyFans accounts to a fan.

Example data

{
    "event": "messages.sent",
    "account_id": "acct_abc123",
    "payload": {
        "responseType": "message",
        "text": "<p>Text</p>",
        "giphyId": null,
        "lockedText": true,
        "isFree": true,
        "price": 0,
        "isMediaReady": true,
        "mediaCount": 0,
        "media": [ ],
        "previews": [ ],
        "isTip": false,
        "isReportedByMe": false,
        "isCouplePeopleMedia": false,
        "queueId": 123,
        "isMarkdownDisabled": true,
        "releaseForms": [ ],
        "isFromQueue": false,
        "id": 123,
        "isOpened": false,
        "isNew": true,
        "createdAt": "2025-07-02T00:00:00+00:00",
        "changedAt": "2025-07-02T00:00:00+00:00",
        "cancelSeconds": 86400,
        "isLiked": false,
        "canPurchase": false,
        "canPurchaseReason": "free",
        "canReport": false,
        "canBePinned": true,
        "isPinned": false,
        "toUser": {
            "view": "s",
            "avatar": null,
            "avatarThumbs": null,
            "header": null,
            "headerSize": null,
            "headerThumbs": null,
            "id": 123,
            "name": "Name",
            "username": "username",
            "canLookStory": false,
            "canCommentStory": false,
            "hasNotViewedStory": false,
            "isVerified": false,
            "canPayInternal": true,
            "hasScheduledStream": false,
            "hasStream": false,
            "hasStories": false,
            "tipsEnabled": false,
            "tipsTextEnabled": true,
            "tipsMin": 5,
            "tipsMinInternal": 1,
            "tipsMax": 200,
            "canEarn": false,
            "canAddSubscriber": true,
            "subscribePrice": 0,
            "displayName": "",
            "notice": "",
            "isRestricted": false,
            "canRestrict": true,
            "subscribedBy": false,
            "subscribedByExpire": null,
            "subscribedByExpireDate": null,
            "subscribedByAutoprolong": null,
            "subscribedIsExpiredNow": null,
            "currentSubscribePrice": null,
            "subscribedOn": true,
            "subscribedOnExpiredNow": false,
            "subscribedOnDuration": "1 month",
            "listsStates": [
                {
                    "id": "friends",
                    "type": "friends",
                    "name": "Friends",
                    "hasUser": false,
                    "canAddUser": false,
                    "cannotAddUserReason": "USER_NOT_PERFORMER"
                },
                {
                    "id": "muted",
                    "type": "muted",
                    "name": "Muted",
                    "hasUser": false,
                    "canAddUser": true,
                    "cannotAddUserReason": null
                },
                {
                    "id": "tagged",
                    "type": "tagged",
                    "name": "Tagged",
                    "hasUser": false,
                    "canAddUser": false,
                    "cannotAddUserReason": "SYSTEM_LIST"
                },
                {
                    "id": "rebill_on",
                    "type": "rebill_on",
                    "name": "Renew On",
                    "hasUser": false,
                    "canAddUser": false,
                    "cannotAddUserReason": null
                },
                {
                    "id": "recent",
                    "type": "recent",
                    "name": "Recent (last 24 hours)",
                    "hasUser": false,
                    "canAddUser": false,
                    "cannotAddUserReason": "SYSTEM_LIST"
                },
                {
                    "id": "fans",
                    "type": "fans",
                    "name": "Fans",
                    "hasUser": true,
                    "canAddUser": false,
                    "cannotAddUserReason": "ALREADY_EXISTS"
                },
                {
                    "id": "rebill_off",
                    "type": "rebill_off",
                    "name": "Renew Off",
                    "hasUser": true,
                    "canAddUser": false,
                    "cannotAddUserReason": "ALREADY_EXISTS"
                },
                {
                    "id": "following",
                    "type": "following",
                    "name": "Following",
                    "hasUser": false,
                    "canAddUser": false,
                    "cannotAddUserReason": "SYSTEM_LIST"
                }
            ],
            "showMediaCount": true,
            "lastSeen": "2025-07-02T00:00:00+00:00",
            "canReport": false
        }
    }
}

🎉 New Subscriber

A new fan has subscribed.

Example data
{
  "event": "subscriptions.new",
  "account_id": "acct_123",
  "payload": {
    "id": "123",
    "type": "subscribed",
    "createdAt": "2025-05-05T21:27:00+00:00",
    "text": "subscribed to your profile!",
    "replacePairs": {
      "{SUBSCRIBER_LINK}": "<a href='https://onlyfans.com/username'>Name</a>",
      "{PRICE}": "free"
    },
    "subType": "new_subscriber",
    "user_id": "123",
    "isRead": false,
    "canGoToProfile": true,
    "user": {
      "avatar": "https://example.com",
      "avatarThumbs": {
        "c50": "https://example.com",
        "c144": "https://example.com"
      },
      "header": "https://example.com",
      "headerSize": {
        "width": 767,
        "height": 1152
      },
      "headerThumbs": {
        "w480": "https://example.com",
        "w760": "https://example.com"
      },
      "id": 123,
      "name": "Name",
      "username": "username",
      "canLookStory": false,
      "canCommentStory": false,
      "hasNotViewedStory": false,
      "isVerified": true,
      "canPayInternal": false,
      "hasScheduledStream": false,
      "hasStream": false,
      "hasStories": false,
      "tipsEnabled": true,
      "tipsTextEnabled": true,
      "tipsMin": 5,
      "tipsMinInternal": 1,
      "tipsMax": 200,
      "canEarn": true,
      "canAddSubscriber": false,
      "subscribePrice": 0,
      "subscribedBy": false,
      "subscribedOn": false,
      "canReceiveChatMessage": false,
      "hideChat": false,
      "lastSeen": "2025-05-05T21:26:04+00:00",
      "isPerformer": true,
      "isRealPerformer": true,
      "view": "mn",
      "canReport": true,
      "subscribedByData": null,
      "subscribedOnData": null,
      "isBlocked": false
    }
  }
}

❤️ Post Liked

A fan has liked one of your posts.

Example data
{
    "event": "posts.liked",
    "account_id": "acct_123",
    "payload": {
        "id": "123",
        "type": "favorited",
        "createdAt": "2025-05-05T22:22:00+00:00",
        "text": "liked your <a href='https://onlyfans.com/123/username'>post</a>",
        "replacePairs": {
            "{POST_LINK}": "<a href='https://onlyfans.com/123/username'>post</a>"
        },
        "subType": "new_favorite",
        "user_id": "123",
        "isRead": false,
        "canGoToProfile": true,
        "user": {
            "avatar": null,
            "avatarThumbs": null,
            "header": null,
            "headerSize": null,
            "headerThumbs": null,
            "id": 123,
            "name": "Name",
            "username": "username",
            "canLookStory": false,
            "canCommentStory": false,
            "hasNotViewedStory": false,
            "isVerified": false,
            "canPayInternal": false,
            "hasScheduledStream": false,
            "hasStream": false,
            "hasStories": false,
            "tipsEnabled": false,
            "tipsTextEnabled": true,
            "tipsMin": 5,
            "tipsMinInternal": 1,
            "tipsMax": 200,
            "canEarn": false,
            "canAddSubscriber": false,
            "subscribePrice": 0,
            "subscribedBy": false,
            "subscribedOn": false,
            "canReceiveChatMessage": false,
            "hideChat": false,
            "lastSeen": null,
            "isPerformer": false,
            "isRealPerformer": false,
            "view": "mn",
            "canReport": true,
            "subscribedByData": null,
            "subscribedOnData": null,
            "isBlocked": false
        }
    }
}

💬 Fan is Typing

A fan is typing a message.

Example data
{
  "event": "users.typing",
  "account_id": "acct_123",
  "payload": {
    "id": 123
  }
}

ℹ️ Account Connected

A new OnlyFans account was connected.

Example data
{
  "event": "accounts.connected",
  "account_id": "acct_123",
  "payload": {
    "state": "authenticated",
    "progress": "started",
    "latestAuthAttempt": {
      "started_at": "2025-05-13T20:26:56.000000Z",
      "completed_at": null,
      "success": false,
      "error_message": null,
      "needs_otp": false,
      "needs_face_otp": false,
      "otp_phone_ending": null
    }
  }
}

ℹ️ Account Reconnected

An OnlyFans account was reconnected.

Example data
  {
    "event": "accounts.reconnected",
    "account_id": "acct_123",
    "payload": {
      "state": "authenticated",
      "progress": "started",
      "latestAuthAttempt": {
        "started_at": "2025-05-13T20:26:56.000000Z",
        "completed_at": null,
        "success": false,
        "error_message": null,
        "needs_otp": false,
        "needs_face_otp": false,
        "otp_phone_ending": null
      }
    }
  }

ℹ️ Account Connection Failed

An OnlyFans account's connection has expired, and we couldn't automatically re-connect it using our system.

Example data
{
  "event": "accounts.authentication_failed",
  "account_id": "acct_123",
  "payload": {
    "state": "authenticated",
    "progress": "started",
    "latestAuthAttempt": {
      "started_at": "2025-05-13T20:26:56.000000Z",
      "completed_at": null,
      "success": false,
      "error_message": null,
      "needs_otp": false,
      "needs_face_otp": false,
      "otp_phone_ending": null
    }
  }
}

ℹ️ Account Session Expired

An OnlyFans account's connection has expired, but we're automatically re-connecting it using our system — you don't need to do anything.

Example data
{
  "event": "accounts.session_expired",
  "account_id": "acct_123",
  "payload": {
    "state": "authenticated",
    "progress": "started",
    "latestAuthAttempt": {
      "started_at": "2025-05-13T20:26:56.000000Z",
      "completed_at": null,
      "success": false,
      "error_message": null,
      "needs_otp": false,
      "needs_face_otp": false,
      "otp_phone_ending": null
    }
  }
}

ℹ️ Account Requires Face Verification

Face verification is required to connect one of your OnlyFans accounts

Example data
{
  "event": "accounts.face_otp_required",
  "account_id": "acct_123",
  "payload": {
    "state": "authenticated",
    "progress": "started",
    "face_otp_verification_url": "https://id.onlyfans.com/s?123",
    "latestAuthAttempt": {
      "started_at": "2025-05-13T20:26:56.000000Z",
      "completed_at": null,
      "success": false,
      "error_message": null,
      "needs_otp": false,
      "needs_face_otp": false,
      "otp_phone_ending": null
    }
  }
}

ℹ️ Account Requires OTP (2FA) Code

A two-factor authentication code is required to connect one of your OnlyFans accounts.

Example data
{
  "event": "accounts.otp_code_required",
  "account_id": "acct_123",
  "payload": {
    "state": "authenticated",
    "progress": "started",
    "latestAuthAttempt": {
      "started_at": "2025-05-13T20:26:56.000000Z",
      "completed_at": null,
      "success": false,
      "error_message": null,
      "needs_otp": false,
      "needs_face_otp": false,
      "otp_phone_ending": null
    }
  }
}