Skip to content

Fansly messaging

The Fansly messaging API for chats and DMs

Read every chat on the Fansly accounts you manage, search the message history and ask to send a fan a message. A send never goes straight to Fansly. It becomes a pending action with a plain summary, and an owner or admin approves or rejects it in the dashboard.

fansly-send.sh
curl https://betterfans.link/v1/accounts/$ACCOUNT_ID/actions \
  -H "Authorization: Bearer $BFL_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "send_message",
    "params": {
      "fanId": "601238847551209472",
      "text": "Thank you for the tip. The set you asked about is below.",
      "mediaIds": ["612094473318821888"]
    }
  }'

# 202 Accepted. Nothing reaches Fansly until someone approves it:
# "status": "pending",
# "platform": "fansly",
# "approvalUrl": "https://betterfans.link/approve/act_9Hc2WqL7nRx4TbK8mVe3ZpYd"

Fansly messaging

What you can do

Chats

List an account's chats, newest first, with unread counts and what each fan has spent. A chat id is the fan id.

Message history

Read the messages in any chat from synced data, newest first, with the media on each one.

Live reads

Add ?fresh=true to read a chat live from Fansly, for any chat the account already has.

Search

Find words across the account's messages, for one fan or a date range.

Free messages with media

Attach free vault media by id. Fansly sends are always free, so leave out priceCents.

Unsend and safe retries

Take a message back with unsend_message. Every write carries an Idempotency-Key, so a retry never sends twice.

FAQ

Frequently asked questions

Can I send Fansly messages through an API?

Yes, with approval. POST to /v1/accounts/{accountId}/actions with type send_message, the fan id and the text. The API answers 202 with a pending action and an approval link, and the message goes to Fansly only after an owner or admin approves it. Your key needs the write scope, and writes must be on for the account.

Can I send paid or mass messages on Fansly?

No. A Fansly send through BetterFans Link is a free message to one fan. A priceCents above 0 is rejected with invalid_parameter, and send_mass_message on a Fansly account answers not_supported_on_platform before any action exists. Both work on OnlyFans accounts.

Can the API start a new chat with a Fansly fan?

No. A Fansly send goes to the chat the account already has with that fan. If there is none, nothing is sent and the approved action ends failed with chat_not_found. List the account's chats first to see who you can message.

Which media can I attach to a Fansly message?

Free vault media. Take ids from GET /v1/accounts/{accountId}/vault and pass them in mediaIds. If an item is not free, nothing is sent and the approved action ends failed with invalid_parameter.

GET STARTED

Build it in test mode today.

Sign up, make a test key and work against sandbox creators. Link a real account when your flow is ready.

Questions first? Write to hello@betterfans.link.