# Frequently Asked Questions URL: /faq Quick answers to common OnlyFans API questions about authentication, security, rate limits, fan analytics, webhooks, and integration best practices. *** title: Frequently Asked Questions description: "Quick answers to common OnlyFans API questions about authentication, security, rate limits, fan analytics, webhooks, and integration best practices." ------------------------------------------------------------------------------------------------------------------------------------------------------------------- import { Accordion, Accordions } from 'fumadocs-ui/components/accordion'; ## API Capabilities & Features Yes, our API fully supports reading and sending messages. Refer to our [List Chats](/api-reference/chats/listChats) and [Send Message](/api-reference/chats/sendMessage) endpoints for more details. Image generation is not natively supported at this time. However, we recommend third-party solutions like [fanscreator.ai](https://fanscreator.ai) for this functionality. Direct vault uploads aren’t supported by OnlyFans. However, you have a few options: * **Recommended:** Upload media exactly when and where it needs to be posted — for example, directly to a post, message, or scheduled post — instead of preloading it into the vault. This keeps your workflow simple and avoids unnecessary steps. * If you still want to store media in the vault ahead of time, you can: * Upload media using our [OnlyFans CDN upload](/api-reference/media/uploadMediaToTheOnlyFansCDN) endpoint. * [Create a post](/api-reference/posts/sendPost) with the media, then delete it immediately - the media will remain in your vault * Use our [Send Message](/api-reference/chats/sendMessage) endpoint to include the media in a message, then delete the message — again, the media will stay in your vault. Yes! Many customers successfully use tools like [n8n](https://n8n.io) and [Supabase](https://supabase.com) for faster development and deployment. You're likely missing the account prefix. * ❌ Wrong: `/api/fans/active` * ✅ Correct: `/api/acct_XXXXXXXX/fans/active` ## Security & Safety Yes, absolutely. We have a 5-year track record with: * Zero accounts banned * Zero accounts red-flagged * Enterprise-grade security measures Your security is our priority: * All passwords and cookies are hashed in our database * We use OpenSSL with AES-256-CBC encryption * All data is signed with MAC (Message Authentication Code) We implement robust proxy protection: * Each connected account gets a dedicated IP address * Public endpoints use rotating residential proxies * This prevents detection and ensures account safety For more information, refer to our dedicated [proxies guide](introduction/essentials/proxies). ## API Stability & Performance Our API infrastructure includes: * Web Application Firewall (WAF) * Proxy management * Built-in rate limiting * No stability issues reported to date Check our real-time status at: [status.onlyfansapi.com](https://status.onlyfansapi.com) Website updates have minimal impact: * Downtime only occurs if OnlyFans itself is down * We typically adapt to changes within minutes * No extended service interruptions ## Rate Limiting & Best Practices **Recommended approach:** Implement exponential backoff 1. When you receive a 429 error, wait 1 second 2. If it happens again, double the wait time (2s → 4s → 8s) 3. Continue up to a maximum wait time 4. Use queuing systems like AWS SQS, Laravel Queues, or Ruby Sidekiq Email us at [hello@onlyfansapi.com](mailto:hello@onlyfansapi.com) for code examples. Rate limits are documented in our [Rate Limits](/introduction/essentials/rate-limits) guide. ## API Keys Management **Best practice:** One API key per service/integration * Create separate keys for different features * Assign dedicated keys to external developers * This improves security and tracking No, you can create as many API keys as you want, regardless of your subscription plan. Yes, a single API key can access all available endpoints. ## Account Authentication & Management **Through our [Console](https://app.onlyfansapi.com):** 1. Go to Dashboard -> Accounts 2. Find the relevant account 3. Click on the Account ID to copy it **Through our API:** 1. Call our [List Accounts](/api-reference/account/listAccounts) endpoint 2. The response includes the account ID in the `id` field OnlyFans API account IDs **always** start with `acct_` Always use the format: `acct_XXXXXXXX` * Include the `acct_` prefix * Endpoint URL example: `https://app.onlyfansapi.com/api/acct_abc123/chats` Yes! Use these endpoints for authentication: * [Start Authentication](/api-reference/connect-onlyfans-account/startAuthentication) * [Poll Authentication Status](/api-reference/connect-onlyfans-account/pollAuthenticationStatus) * Optionally, [Submit 2FA](/api-reference/connect-onlyfans-account/submit2FA) Use our [Get Current Account](/api-reference/account/getCurrentAccount) endpoint to retrieve the authenticated account details. No need to use our UI - integrate these endpoints directly with your platform. ## Fan Data & Analytics This is normal behavior: * Chat lists return immediately * Fan details are scraped in the background (usually takes 2-3 seconds) Either call our [Get User Details](/api-reference/users/getUserDetails) endpoint, or retry the original endpoint after 10 seconds. Use the lastSeen field from our [Get Profile Details](/api-reference/public-profiles/getProfileDetails) or [Get User Details](/api-reference/users/getUserDetails) endpoints. If the `lastSeen` value is recent, the fan is likely online. ```json { "lastSeen": "2025-05-01T15:01:07+00:00" ... } ``` [-> Read more about caching](/introduction/essentials/response-structure#cache-control) There's two options available: * **Calculate manually:** Use `subscribedOnData.subscribeAt` on endpoints like [List Active Fans](/api-reference/fans/listActiveFans) or [Get User Details](/api-reference/users/getUserDetails). * **Human-readable format:** Use `subscribedOnData.duration` (e.g., "3 months") Access comprehensive spending data through these fields: | Field | Description | | ---------------- | ------------------------------ | | `totalSumm` | Combined total of all spending | | `subscribesSumm` | Total spent on subscriptions | | `tipsSumm` | Total spent on tips | | `messagesSumm` | Total spent on paid messages | | `postsSumm` | Total spent on paid posts | | `streamsSumm` | Total spent on streams | * [Get User Details](/api-reference/users/getUserDetails) * [List Active Fans](/api-reference/fans/listActiveFans) Sadly, OnlyFans doesn't store language preferences. Workaround: 1. Fetch chat messages from the fan 2. Use a third-party language detection API 3. Store the detected language in your database No direct endpoint exists, but you can: 1. Retrieve chat messages using the [List ChatMessage](/api-reference/chats/listChatMessage) endpoint 2. Check if `isOpened = true` AND `price > 0`, which indicates a purchased PPV ## Webhooks & Media Handling * 📚 Documentation: [docs.onlyfansapi.com/webhooks](/webhooks) * 🎥 Video Demo: [cap.so/s/p2wfkj072yt2x96](https://cap.so/s/p2wfkj072yt2x96) When `"isReady": false`, the media is still processing. **Solution:** 1. Get the chat ID from the webhook 2. Poll the [List ChatMessage](/api-reference/chats/listChatMessage) endpoint every 10-20 seconds 3. Wait for `"isReady": true` 4. The URL will then be available **Alternatively:** Scrape and store vault content internally for reverse searching by media ID, once the media is ready. Yes, you can use webhooks with no-code tools like Make, n8n or Zapier. Just set up a webhook listener in your tool and configure it to receive data from our API. We have most webhook events available as Make and Zapier modules, which you can find in our [Make](/integrations/make/available-modules#instant-triggers) and [Zapier](/integrations/zapier/available-modules#instant-triggers) directories. # Overview URL: /api-reference Deep dive into our API endpoints and data structures *** title: "Overview" description: "Deep dive into our API endpoints and data structures" ------------------------------------------------------------------- # Introduction URL: /data-exports Our no-code data exports offer full historic data of transactions, chat messages, media, and much more. *** title: "Introduction" description: "Our no-code data exports offer full historic data of transactions, chat messages, media, and much more." icon: Hand ---------- import { Step, Steps } from 'fumadocs-ui/components/steps'; import { ArrowLeftRightIcon, BanknoteArrowDownIcon, HeartIcon, ImageIcon, MessagesSquareIcon, TagIcon, UserSearchIcon } from "lucide-react"; ## Available data export types } title="Transactions"> 🟢 Available } title="Banking & Payouts"> Coming soon } title="Fans & Following"> Coming soon } title="Tracking Links"> Coming soon } title="Trial Links"> Coming soon } title="Chat Messages"> Coming soon } title="Media"> Coming soon ## Getting started We are continuously working to improve and expand the available export types. If you run in to any issues, please contact us. To get started with our no-code data exports, please visit the [Data Exports page](https://app.onlyfansapi.com/tools/data-export) on our Console. ### Starting an export To get started, click on the "Create Export" button, which will take you to the export creation page. You're then prompted customize your export: #### Data type As the first step, select the type of data you want to export. Please refer to [the list above](#available-data-export-types) for available export types. #### Export fields Select the fields you want to include in your export. For a full list of available fields, please refer to [the available export fields list](#available-export-fields). #### Accounts Choose which accounts you want to include in your export. You can select all connected accounts, or select specific accounts. #### Date range Select the data range that you wish to be included in your export. Transaction exports will always export up until the current date & time. You are only able to choose the start date. #### View the export cost, and select the export file type After providing the above details, the export cost will be calculated and shown to you. If all looks good, press on "Export Data" and choose either CSV or Excel (XSLX). This will start the export! Your data export will now be processed by our servers in the background, and you will be able to download it once completed. ### Big data exports Depending on the start & end date and account size, your export might take a long time to complete. We are working on improving this experience.\ As a workaround, you may start multiple smaller individual exports. ## Available export fields | Transactions | Banking | Fans & Following | Tracking Links | Trial Links | Chat Messages | Media | | ---------------- | ----------- | ---------------- | -------------- | ----------- | ------------- | ----------- | | Account ID | Coming soon | Coming soon | Coming soon | Coming soon | Coming soon | Coming soon | | Account Name | | | | | | | | Account Username | | | | | | | | Transaction ID | | | | | | | | Transaction Type | | | | | | | | Fan ID | | | | | | | | Fan Username | | | | | | | | Fan Name | | | | | | | | Amount | | | | | | | | VAT Amount | | | | | | | | Tax Amount | | | | | | | | Net Amount | | | | | | | | Fee Amount | | | | | | | | Currency | | | | | | | | Description | | | | | | | | Status | | | | | | | | Created At | | | | | | | ## Pricing The following pricing applies to our no-code data exports: | Export type | Cost | | ---------------- | ----------------------------- | | Transactions | 1 credit per 100 transactions | | Banking | Coming soon | | Fans & Following | Coming soon | | Tracking Links | Coming soon | | Trial Links | Coming soon | | Chat Messages | Coming soon | | Media | Coming soon | # Introduction URL: /integrations OnlyFans API offers various integrations with platforms like Make, Zapier, IFTTT & n8n. This documentation will help you understand how to make use of our supported integrations. *** title: "Introduction" description: "OnlyFans API offers various integrations with platforms like Make, Zapier, IFTTT & n8n. This documentation will help you understand how to make use of our supported integrations." icon: Hand ---------- import { SiMake, SiMakeHex, SiZapier, SiZapierHex, SiIfttt, SiIftttHex, SiN8n, SiN8nHex } from "@icons-pack/react-simple-icons"; Please choose an integration to get started: } href="/integrations/make" title="Make"> Best for building complex, multi-step automations and custom integrations with OnlyFans, all without writing code. Ideal for users who want visual workflow design and advanced logic. } href="/integrations/zapier" title="Zapier"> Best for quickly setting up no-code automations based on triggers like new messages, PPV purchases, or new fan subscriptions. Great for those who want ease-of-use and a large library of app connections. } href="/integrations/n8n" title="n8n"> Best for building flexible yet advanced no-code automations. Perfect for users who want powerful automation capabilities with full control over their workflows. Or watch our tutorial video: