OnlyFans API

Fair webhook delivery

How we keep webhook deliveries moving when traffic spikes or an endpoint slows down.

OnlyFans API distributes webhook delivery capacity across teams to prevent a large backlog or slow endpoint from monopolizing delivery. Fair delivery runs automatically, with no changes needed to your integration.

For OnlyFans and Fanvue, chat and presence traffic have separate delivery capacity, helping keep presence bursts from delaying messages.

When your endpoint slows down

If your endpoint cannot keep up, its deliveries wait for capacity while other eligible deliveries continue. Waiting for capacity does not consume a retry attempt.

When your endpoint recovers, queued deliveries can resume. Catching up takes longer if new events arrive faster than your endpoint can accept them. Fair delivery does not guarantee a fixed delivery time.

Existing retry and endpoint-pause policies still apply. Events that were never queued during an endpoint pause are not recovered automatically.

Ordering and retries

Deliveries can arrive out of order or more than once. Handle each event independently where possible, and use the idempotency key to detect duplicates when one is present.

See Delivery & retries for timeouts, retry behavior and replaying recorded deliveries.

Keep your receiver responsive

Keep your webhook handler short and move processing to a background worker, job queue or asynchronous workflow. The request should acknowledge receipt, without waiting for that work to finish.

  1. Verify the signature.
  2. Save the event to durable storage or enqueue it in a durable job queue.
  3. Return 200 OK or another successful 2xx response immediately after the event is safely accepted.
  4. Process the event asynchronously, including any API calls, business logic or notifications.

If you use a workflow trigger, configure it to respond once the event is safely queued, without waiting for the entire workflow to complete.

Slow responses slow your deliveries

While your webhook request remains open, it occupies delivery capacity. Doing heavy work before responding can delay subsequent webhooks to your endpoint. If the request times out, it can also trigger a retry and duplicate processing.

Only acknowledge an event once it is safely stored. A successful response confirms receipt; your application's processing determines when the update becomes visible to your users.

On this page