Kick the tires with no card.
Start free- Full API — every endpoint
- 250 credits / month
- 1 linked account
- 60 requests / min
- Shared proxy pool
- Real-time usage ledger
- Community support
For a single creator in production.
Get Starter- Everything in Free
- 30,000 credits / month
- 1 linked account
- 100 requests / min
- Dedicated proxy for your account
- Outbound webhooks
- Email support
For agencies running several creators.
Get Pro- Everything in Starter
- 120,000 credits / month
- 5 linked accounts
- 500 requests / min
- Dedicated proxy per creator
- Account-scoped API keys
- Priority support
Volume, SLA and a negotiated roster.
Contact us- Everything in Pro
- Volume credit pricing
- Linked-account count agreed on the quote
- Custom rate limit + SLA
- Invoicing & DPA
- Dedicated support
Most calls cost one credit, and every read does. Four writes cost more because each drives more work upstream: a media upload is 5, a scheduled post or message 3, an account-scoped send 2. A mailing trigger is 0 at the call and then bills one credit per recipient as it runs — the preview step returns the exact figure before you send. Failures outside your control cost nothing: a 401, 402, 403 or 429 is refused before metering, and a 409, 424 or server error is refunded. A malformed request that runs and returns 400, 404, 413, 415 or 422 is charged, because it ran. Every debit lands in the dashboard ledger in real time, so spend is never a black box.
Three months of real usage, with the arithmetic
Credits are weighted by the work a call causes, so “calls per month” is not the same as credits per month. These are the weights every sum below is built from.
One account. Inbound DMs arrive on a message.received webhook, so nothing polls.
- Chat replies, 40/day, account-scoped send @ 240 × 2 × 302,400
- Scheduled posts, 2/day @ 32 × 3 × 30180
- Media attached to them, 2/day @ 52 × 5 × 30300
- Weekly mailing to 1,200 fans @ 1/recipient1,200 × 44,800
- Reads — /me, /subscribers, /chats — 50/day @ 150 × 301,500
Under a third of Starter, so there is room to triple the messaging before the plan bites. Free's 250 credits cover roughly four hours of this. The read line stays small only because webhooks replace polling: checking one chat every minute instead would add 43,200 calls a month and blow through Starter on its own.
Five linked accounts under one token, each driven through its /accounts/{accountId}/… routes.
- Chat replies, 60/day/creator @ 260 × 2 × 30 × 518,000
- Scheduled posts, 3/day/creator @ 33 × 3 × 30 × 51,350
- Media uploads, 3/day/creator @ 53 × 5 × 30 × 52,250
- Two mailings a month to 2,500 fans, per creator2,500 × 2 × 525,000
- Reads and roster sync, 100/day/creator @ 1100 × 30 × 515,000
Just over half of Pro — comfortable, with headroom to about double. The constraint that bites first here is not credits but the account ceiling: Pro links 5 creators, so a sixth model needs an Enterprise quote rather than a bigger credit bundle.
Two high-volume creators, two blasts a week each, chatters working the replies.
- 5,000-fan blast, 2×/week, 2 creators @ 1/recipient5,000 × 2 × 4 × 280,000
- Chat follow-up, 400/day @ 2400 × 2 × 3024,000
- Fan lookups and reads, 500/day @ 1500 × 3015,000
- Media uploads, 80/month @ 580 × 5400
99.5% of Pro. The month ends with 600 credits left, so the next 5,000-fan trigger is refused whole with 402 INSUFFICIENT_CREDITS — the debit is all-or-nothing, it does not part-send. This is the shape that outgrows the published tiers; the answer is an Enterprise quote, not a heavier Pro. Watch the clock as well as the budget: at one message per 500 ms a single 5,000-fan run occupies about 42 minutes of dispatch.
The per-minute limit never enters these sums. A mailing is one request no matter how many fans it reaches, and even the messaging-heavy example averages well under one request a minute against Pro's 500 — rpm shapes bursts, the credit allowance shapes the month. Inbound webhook deliveries are not metered at all, which is why the read lines stay small: the same workloads polled once a minute would each add 43,200 calls.
Estimating your usage
Credits map directly to actions, so you can size a plan from your workflow. Two rules cover most of it:
- Most calls cost one credit. Reads all do. Four writes cost more, because each drives substantially more work upstream: a media upload is 5, a scheduled post or message 3, and an account-scoped send 2.
- Mailings are billed per recipient. A mass DM is a single HTTP request — cheap against your rate limit — but it debits
recipientCount × perRecipientWeightcredits, one per fan by default. A blast to 3,000 subscribers costs about 3,000 credits, so always run thepreviewendpoint before you trigger.
Polling a chat every minute for one account is ~43,000 calls a month, which already argues for signed webhooks over polling. A rough guide:
| Workload | Approx. credits / mo |
|---|---|
| One creator, event-driven via webhooks | 2,000–8,000 |
| One creator, active messaging bot polling | 30,000–60,000 |
| Weekly mass DM to 3,000 fans | ~12,000 (campaign spend alone) |
| Small agency, 5 creators, mixed automation | 80,000–150,000 |
If polling dominates your bill, switch the noisy paths to webhooks. Inbound deliveries are not metered at all, so the event is free where the poll that would have found it costs a credit every single time it runs.
Why per-call beats "unlimited"
"Unlimited" pricing usually hides its cost in per-account seat fees that grow with an agency's roster. Per-call pricing keeps the bill proportional to the work your integration does, and the errors outside your control cost nothing: a 401, 402, 403 or 429 is refused before metering, and a 409, 424 or 5xx is refunded automatically. A malformed request that runs and returns 400, 404, 413, 415 or 422 is charged. See the alternatives overview for how this compares to seat-based providers, or read how to make your first call.
Pricing FAQ
Is there a free OnlyFans API plan?+
Yes — Free gives you 250 credits a month and one linked account, with no credit card required. Make your first call in minutes and upgrade only when your volume needs it.
What counts as a credit?+
Credits are weighted by how much work a call causes, not flat. An ordinary call is 1. An account-scoped chat send is 2, creating a scheduled post or message is 3, and a media upload is 5. A mailing trigger is 0 at the call itself — the run then debits one credit per recipient, so a 5,000-fan blast costs 5,000 credits. Run the preview step for the exact figure before you trigger; every debit lands in the dashboard ledger in real time.
Do failed calls cost credits?+
Not the ones outside your control. A 401, 402, 403 or 429 is refused before anything is debited, and a server error, an expired OnlyFans session or an idempotency conflict is refunded automatically. A malformed request that reaches the API and comes back 400, 404 or 422 is charged, because it ran — so validate input rather than probing.
Can I link more than one creator account?+
Yes — Pro includes 5 linked accounts, and above that the roster size is negotiated on an Enterprise quote. Each account is addressable under scoped routes for clean multi-creator automation.
What happens if I run out of credits mid-month?+
Every further call returns 402 INSUFFICIENT_CREDITS and stops at the gateway — nothing reaches OnlyFans and nothing is charged past your plan. The debit is all-or-nothing against the call's weight, so a 5-credit media upload is refused outright while you still hold 4 credits, and a mailing whose recipient count exceeds your balance never starts rather than part-sending. Upgrading in the dashboard applies the new allowance immediately.
Are rate limits the same as credits?+
No. Credits are your monthly budget; the rate limit (rpm) caps how many requests you can send per minute. A plan can have credits remaining and still return 429 if you exceed its per-minute ceiling.
Can I burn a whole month of credits in one minute?+
With a mailing, yes — which is the one place the two limits come apart. The rate limit is checked before the credit debit, so a 429 never costs you anything, and each limit is counted separately: a blast to 5,000 fans is a single request against your rpm ceiling but 5,000 credits against your allowance. Ordinary calls can't outrun the monthly budget nearly as fast; Pro's 500 rpm would need about four hours of flat-out requests to spend 120,000 credits.
When do credits refill, and do unused ones roll over?+
They do not roll over. Each account has a rolling one-month period anchored to when the plan started, not to the first of the calendar month; an hourly job resets any balance whose period has elapsed. The reset overwrites your balance with the plan allowance — it does not add to it — and writes a MONTHLY_RESET line in the ledger, so an unused 20,000 credits is gone at the boundary rather than banked.
What does the proxy tier actually mean on each plan?+
Free routes your account through a shared pool, which is fine for evaluation and wrong for production — other accounts share that egress IP. Starter and Pro dedicate a static residential proxy to each linked account, held for you rather than rotated, so a creator's traffic keeps a consistent origin. Pro's five accounts get five dedicated proxies, one per creator.
Can I change or cancel my plan?+
Anytime, from the dashboard. Credits refill monthly and unused credits do not roll over.