Send Targeted Mass Messages and PPV Campaigns via API
Programmatically send mass messages to user lists, schedule PPV campaigns with media, and track unlock rates with real-time webhooks. Built for agencies managing multiple creators at scale.
How Mass Messaging Works via API
Upload media, target fan segments, send at scale, and track revenue — all programmatically with real-time status callbacks.
Real Webhook-Driven Mass Messaging Use Cases
Each use case shows the webhook event that triggers it and the API endpoint you call. Build these into your messaging pipeline.
Send PPV Campaigns to Fan Segments
Target specific user lists with PPV content. Upload media, set a price, and send to thousands of fans with a single API call.
Fires when the mass message batch completes sending
Send a mass message with media, price, and user list targeting
Track PPV Unlock Revenue
Get notified the instant a fan unlocks a paid message. Track revenue per campaign and per fan in real time.
Fires when a fan purchases a paid message with amount data
Get mass message engagement stats and revenue
Build Smart Target Lists
Create user lists by segment — top spenders, recent subscribers, expired fans — and use them as mass message targets.
Fires on new subscription — add to welcome campaign list
Create a new user list for targeting
Upload and Attach Media
Upload photos and videos to the OnlyFans CDN, then attach them to mass messages as free or PPV content.
Fires as the message batch sends — track progress
Upload a file or URL to the OnlyFans CDN
Monitor Campaign Performance
Track which messages drive the most revenue. See buyer lists, unlock rates, and top-performing content.
Fires per unlock — aggregate for campaign stats
Get the highest-revenue message across all campaigns
Schedule and Manage Queue
View queued messages, update pending campaigns, or cancel messages before they send. Full control over your send pipeline.
Fires on queue status changes — e.g. progress updates
Update a queued mass message before it sends
Production-Ready Code Examples
Real API calls for sending mass messages, tracking PPV revenue, and pulling campaign analytics.
Upload media, create a user list, and send a mass PPV message to targeted fans — all in one workflow.
// Step 1: Upload media to OnlyFans CDN
const mediaResponse = await fetch(
'https://app.onlyfansapi.com/api/acct_XXXX/media/upload',
{
method: 'POST',
headers: {
'Authorization': 'Bearer sk_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
file_url: 'https://your-cdn.com/exclusive-content.mp4'
})
}
);
const media = await mediaResponse.json();
// Step 2: Send mass PPV message to a user list
const massMessageResponse = await fetch(
'https://app.onlyfansapi.com/api/acct_XXXX/mass-messaging',
{
method: 'POST',
headers: {
'Authorization': 'Bearer sk_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
text: 'Exclusive content just for you 🔥',
price: 15.00,
mediaFiles: [media.data.id],
userLists: ['top_spenders_list_id']
})
}
);
const campaign = await massMessageResponse.json();
console.log('Campaign sent:', campaign.data.id);Available Endpoints and Webhooks
Every endpoint and webhook event for mass messaging. Full documentation at docs.onlyfansapi.com.
APIEndpoints
/api/{account}/mass-messagingSend a mass message to user lists or user IDs
/api/{account}/mass-messagingList all queued mass messages
/api/{account}/mass-messaging/overviewGet mass messaging overview stats
/api/{account}/mass-messaging/{id}Get a specific mass message
/api/{account}/mass-messaging/{id}Update a pending mass message
/api/{account}/mass-messaging/{id}Unsend or delete a mass message
/api/{account}/media/uploadUpload media to OnlyFans CDN
/api/{account}/user-listsList user lists for targeting
/api/{account}/user-listsCreate a new user list
/api/{account}/user-lists/{id}/usersAdd users to a list
/api/{account}/engagement/messages/mass-messagesMass message engagement stats
/api/{account}/engagement/messages/top-messageHighest-revenue message
/api/{account}/engagement/messages/{id}/buyersList buyers for a message
WHWebhook Events
chat_queue.finishedMass message batch has completed sending to all recipients
chat_queue.updatedMass message batch status changes — track send progress
messages.ppv.unlockedFan purchases a paid message — includes amount and fan spending data
messages.sentOutgoing message sent to a fan — confirms delivery
transactions.newPayment received — track PPV revenue alongside subscriptions and tips
OnlyFans Mass Messaging API — Frequently Asked Questions
Common questions about sending mass messages and PPV campaigns via API.
Every Day Without Automated Messaging Is Revenue Left on the Table.
Start free. Send your first mass message campaign in minutes.