OnlyFans Fan Retention
OnlyFans fan retention is a data pipeline before it's a campaign: you can't win a fan back until you know they're slipping. ofapis exposes the audience and activity you need to detect churn, and the segments and mailings you need to act on it. The pattern is snapshot → diff → score → win-back.
Data flow
nightly: GET /accounts/{id}/subscribers → today's active set
diff vs. yesterday → churned (dropped off)
GET /accounts/{id}/notifications → activity signals (tips, messages)
→ score each fan: at-risk / lapsed / lost
→ POST /accounts/{id}/lists/{listId}/users/{fanId} (tag the segment)
→ POST /accounts/{id}/mailings (win-back to that segment)
Base URL: https://api.ofapis.com/api/public/v1.
1. Detect churn
Snapshot the subscribers list on a schedule and diff it against the previous run. Fans present yesterday but gone today have churned; fans still subscribed but silent for N days are at-risk. Page through and cache — a large audience is one credit per page, so store snapshots rather than re-pulling live each time.
curl "https://api.ofapis.com/api/public/v1/accounts/42/subscribers?limit=50&offset=0" \
-H "Authorization: Bearer ofapis_sk_..."
Layer in engagement from notifications (last tip, last message) so "at-risk" means genuinely quiet, not just recently subscribed.
2. Segment the risk tiers
Push scored fans into fan segments — one list per tier — so campaigns target the right people:
# tag fan 78910 into the "at-risk" list (id 12)
curl -X POST https://api.ofapis.com/api/public/v1/accounts/42/lists/12/users/78910 \
-H "Authorization: Bearer ofapis_sk_..."
Segments are the shared source of truth: the same list a win-back DM targets is the one your dashboard counts.
3. Win them back
Point a mailing at the at-risk segment, preview the cost, then trigger — the mass message flow, aimed at retention instead of promotion:
curl -X POST https://api.ofapis.com/api/public/v1/accounts/42/mailings \
-H "Authorization: Bearer ofapis_sk_..." -H "Content-Type: application/json" \
-d '{"text":"Missed you 💕 here's 30% off to come back","listId":12}'
Preview before triggering so a re-engagement blast never surprises your balance.
Build outline
- Snapshotter — nightly page through
/subscribers, persist the id set with timestamps. - Diff + score — compute churned and at-risk tiers, joining last-activity from notifications.
- Segment sync — upsert each fan into its risk list.
- Win-back — create a mailing per tier,
preview, thentrigger; track the run. - Measure — feed retention rate and win-back conversion into an analytics dashboard.
Gotchas
- Diff, don't guess. OnlyFans doesn't hand you a "churned" flag — it's the set difference between two snapshots, so keep history.
- Cool-down. Don't re-blast a fan who just got a win-back; timestamp sends and exclude recent contacts.
- Budget the pages. A 50k audience is ~1,000 credits per full walk — sync nightly and cache, don't poll. See pricing.
FAQ
How do I detect churn without a churn endpoint?
Snapshot the subscribers list on a schedule and diff consecutive runs. Fans in yesterday's set but not today's have lapsed; silent-but-subscribed fans are at-risk. The signal comes from your stored history, not a single call.
What makes a fan "at-risk" versus "lost"?
Lost means they've dropped off the subscriber list entirely; at-risk means still subscribed but inactive — no recent tips or messages per notifications. Scoring the two separately lets you send a retention offer before they cancel.
How do I run the win-back campaign?
Tag scored fans into a fan segment, then point a mailing at that list, preview the reach and cost, and trigger it. The same segment powers both the campaign and your reporting.
What does retention automation cost in credits?
One credit per subscriber page during detection and one per recipient on the win-back send. Cache snapshots and sync on a schedule so you pay for real analysis and sends, not repeated polling. See pricing.