OnlyFans API
Mass Messaging

Send Mass Message

Send a mass message to lists and/or users. You may use both the userLists and userIds parameters to send the same message to both lists and individual users.

POST
/api/{account}/mass-messaging
AuthorizationBearer <token>

Get your API Key from OnlyFansAPI Console - https://app.onlyfansapi.com/api-keys

In: header

Path Parameters

account*string

The Account ID

Request Body

application/json

userLists?array<string>

Array of user list IDs that the mass message will be sent to.

excludedLists?array<string>

Array of user list IDs that the mass message will NOT be sent to.

userIds?array<string>

Array of user IDs that the mass message will be sent to.

text*string

The message text content

lockedText?boolean

Whether the text should be shown or hidden

price?integer

Price for paid content (0 or between 3-200). In case this is not zero, mediaFiles is required

mediaFiles?array<file[]|string>

Direct file uploads, OFAPI ofapi_media_ IDs, or OF vault IDs. Will be hidden if price is provided.

previews?array<file[]|string[]|int>

Direct file uploads, OFAPI ofapi_media_ IDs, OF vault IDs, or integer indices referencing uploaded files in mediaFiles. Will be shown if price is provided.

giphyId?string

The ID of the Giphy GIF to attach to the message. Get IDs from the Giphy listing endpoints (/giphy/trending, /giphy/search).

rfTag?string

Array of OnlyFans Creator User IDs to tag in your mass message

rfPartner?string

Array of OnlyFans Release Form Partners IDs to tag in your mass message

rfGuest?string

Array of OnlyFans Release Form Guest IDs to tag in your mass message

scheduledDate?string

Schedule the chat message in the future (UTC timezone).

saveForLater?boolean

Add your message to the "Saved for later" queue.

Response Body

application/json

curl -X POST "https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/mass-messaging" \  -H "Content-Type: application/json" \  -d '{    "text": "Hello!"  }'
{
  "data": {
    "id": 123,
    "date": "2025-01-01T01:01:01+00:00",
    "isReady": true,
    "isDone": false,
    "total": -1,
    "pending": 0,
    "canUnsend": true,
    "unsendSeconds": 1000000,
    "hasError": false,
    "isCanceled": false,
    "isCouplePeopleMedia": false
  },
  "_meta": {
    "_credits": {
      "used": 1,
      "balance": 967,
      "note": "Always"
    },
    "_cache": {
      "is_cached": false,
      "note": "Cache disabled for this endpoint"
    },
    "_rate_limits": {
      "limit_minute": 1000,
      "limit_day": 50000,
      "remaining_minute": 998,
      "remaining_day": 49992
    }
  }
}