# 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/list-chats) and [Send Message](/api-reference/chats/send-message) 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/upload-media-to-the-only-fans-cdn) endpoint. * [Create a post](/api-reference/posts/send-post) with the media, then delete it immediately - the media will remain in your vault * Use our [Send Message](/api-reference/chats/send-message) 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/list-accounts) 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/start-authentication) * [Poll Authentication Status](/api-reference/connect-onlyfans-account/poll-authenticationStatus) * Optionally, [Submit 2FA](/api-reference/connect-onlyfans-account/submit2fa) Use our [Get Current Account](/api-reference/account/get-current-account) 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/get-user-details) endpoint, or retry the original endpoint after 10 seconds. Use the lastSeen field from our [Get Profile Details](/api-reference/public-profiles/get-profile-details) or [Get User Details](/api-reference/users/get-user-details) 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/list-active-fans) or [Get User Details](/api-reference/users/get-user-details). * **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/get-user-details) * [List Active Fans](/api-reference/fans/list-active-fans) 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/list-chat-message) 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/list-chat-message) endpoint every 10-20 seconds 3. Wait for `"isReady": true` 4. The URL will then be available **Alternatively:** Download 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. # Introduction URL: /auth The official, secure, and easy-to-use authentication library for OnlyFans API. Streamline your integration with enterprise-grade security and developer experience. *** title: "Introduction" description: "The official, secure, and easy-to-use authentication library for OnlyFans API. Streamline your integration with enterprise-grade security and developer experience." icon: Hand ---------- import { Card, Cards } from "fumadocs-ui/components/card"; import { ShieldCheckIcon, ZapIcon, CodeIcon, MonitorSmartphoneIcon, FeatherIcon, HeartHandshakeIcon, DownloadIcon, RocketIcon } from "lucide-react"; import {SiTypescript} from "@icons-pack/react-simple-icons"; @onlyfansapi/auth - Official Authentication Library The official authentication library for OnlyFans API provides a seamless, secure way to authenticate users with their OnlyFans accounts directly from your application. ## Features } title="Secure & Responsive"> Built with enterprise-grade security and works seamlessly on both desktop and mobile devices. } title="Lightning Fast"> 1.5kB script loads in just 2ms on 4G internet, ensuring your users never wait for authentication. } title="Developer Experience"> Developer-friendly with TypeScript support, comprehensive docs, and intuitive APIs. ## Why choose @onlyfansapi/auth? }> Built with industry-standard security practices to protect user credentials and authentication flows. Trusted by developers who prioritize security. }> Seamlessly works across all devices—desktop, mobile, and tablet. Your users get a consistent authentication experience regardless of their platform. }> Minimal footprint at just 1.5kB ensures lightning-fast load times. Authenticate users in under 2ms even on slower 4G connections. }> Full TypeScript definitions included for better developer experience, type safety, and autocomplete support in your IDE. }> Use with any framework or no framework at all. Works seamlessly with React, Vue, Svelte, Angular, and vanilla JavaScript with zero dependencies. }> Intuitive APIs designed for ease of use with comprehensive documentation, clear examples, and straightforward integration patterns. ## Getting started Ready to integrate authentication into your application? Check out our installation guide and quickstart to get started in minutes. }> Learn how to install and set up @onlyfansapi/auth in your project. }> Get up and running with our auth package in just a few minutes. # Installation URL: /auth/installation Install and set up @onlyfansapi/auth in your project *** title: "Installation" description: "Install and set up @onlyfansapi/auth in your project" icon: Download -------------- import { Tabs, Tab } from "fumadocs-ui/components/tabs"; import { Step, Steps } from "fumadocs-ui/components/steps"; import { Card, Cards } from "fumadocs-ui/components/card"; import { TerminalIcon } from "lucide-react"; ## Package Manager Install `@onlyfansapi/auth` using your preferred package manager: ```bash npm install @onlyfansapi/auth ``` ```bash pnpm add @onlyfansapi/auth ``` ```bash yarn add @onlyfansapi/auth ``` ```bash bun add @onlyfansapi/auth ``` ## Prerequisites Before you begin, make sure you have: } href="https://app.onlyfansapi.com" title="An OnlyFans API account"> If you don't have one yet, registering takes just a few seconds. » Create a free account ## Get Your API Key Before creating a client session token, you'll need an API key to authenticate your requests to the OnlyFans API. ### Go to the OnlyFans API console → API Keys Navigate to your [OnlyFans API console](https://app.onlyfansapi.com) and click on **API Keys** in the navigation menu. ### Create a new API key Click the **"Create API Key"** button to generate a new API key. Copy and save your API key securely - you'll need it to create client session tokens. ## Create Your Client Session Token To use `@onlyfansapi/auth`, you'll need to create a client session token (starts with `ofapi_cs_`) through the [Create Client Session](/api-reference/client-sessions/create-client-session) API endpoint. ### Make a POST request to create a client session Use your API key to authenticate the request: ```bash curl -X POST "https://app.onlyfansapi.com/api/client-sessions" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "display_name": "My Application / Model: John Doe" }' ``` **Optional fields:** * `client_reference_id` - Your internal reference ID for the connected account * `proxy_country` - Proxy country value (`"us" | "uk" | "de" | "fr" | "it"`) ### Get the client session token from the response The response will include a `token` field that starts with `ofapi_cs_`: ```json { "data": { "token": "ofapi_cs_OriR8Sdocp0f97eFOdbMMZtiz4Aw5FLX", "display_name": "My Application / Model: John Doe" } } ``` This token is what you'll use with the `@onlyfansapi/auth` package. ### Use the client session token Copy the client session token and use it in your application with `@onlyfansapi/auth`. **Important:** Keep your client session token secure. While it's designed for client-side use, treat it with appropriate security measures. ## Next Steps Once you've installed the package and created your client session token, you're ready to start implementing authentication in your application. * [Quick Start Guide](/auth/quickstart) - Get up and running in minutes * [Create Client Session API Reference](/api-reference/client-sessions/create-client-session) - Full API documentation * [NPM Package](https://www.npmjs.com/package/@onlyfansapi/auth) - Full package documentation on npm # Quick Start URL: /auth/quickstart Get started with @onlyfansapi/auth in minutes *** title: "Quick Start" description: "Get started with @onlyfansapi/auth in minutes" icon: Rocket ------------ import { Tabs, Tab } from "fumadocs-ui/components/tabs"; import { Step, Steps } from "fumadocs-ui/components/steps"; import { Callout } from "fumadocs-ui/components/callout"; ## Overview This guide will walk you through implementing `@onlyfansapi/auth` in your application. The authentication library provides a simple, secure way to authenticate users with their OnlyFans accounts. ## Before You Start Make sure you've completed the [installation](/auth/installation) steps first. You'll need: * The package installed in your project * An API key to create client session tokens * A client session token (starts with `ofapi_cs_`) to use with the library ## Basic Usage The library exports a single function `startOnlyFansAuthentication` that handles the entire authentication flow. When called, it opens a secure iframe modal where users can authenticate with their OnlyFans account. ### Import ```typescript twoslash import { startOnlyFansAuthentication } from '@onlyfansapi/auth'; ``` ### Function Signature ```typescript const startOnlyFansAuthentication: (clientSessionToken: string, options: { onSuccess: (data: AuthSuccessData) => void; onError: (error: AuthFailureError) => void; onContinue?: () => void; }) => void ``` **Parameters:** * `clientSecret` (string, required): Your client session token obtained from the [Create Client Session](/api-reference/client-sessions/create-client-session) API endpoint * `options.onSuccess` (function, required): Callback invoked when authentication succeeds * `options.onError` (function, required): Callback invoked when authentication fails ## Framework Examples ```tsx import React, { useState } from 'react'; import { startOnlyFansAuthentication } from '@onlyfansapi/auth'; export default function AuthComponent() { const [isLoading, setIsLoading] = useState(false); const [authData, setAuthData] = useState(null); const [error, setError] = useState(null); const handleAuthentication = () => { setIsLoading(true); setError(null); startOnlyFansAuthentication('ofapi_cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', { onSuccess: (data) => { console.log('Authentication successful:', data); setAuthData(data); setIsLoading(false); // data.accountId - The authenticated account ID // data.username - The authenticated username // data.response - Full response from the API }, onError: (error) => { console.error('Authentication failed:', error); setError(error); setIsLoading(false); // error.message - Error message // error.code - Error code (if available) // error.details - Additional error details (if available) }, }); }; return (
{authData && (

Authentication Successful!

Account ID: {authData.accountId}

Username: {authData.username}

)} {error && (

Authentication Failed

{error.message}

)}
); } ```
```vue ``` ```svelte
{#if authData}

Authentication Successful!

Account ID: {authData.accountId}

Username: {authData.username}

{/if} {#if error}

Authentication Failed

{error.message}

{/if}
```
```typescript import { Component } from '@angular/core'; import { startOnlyFansAuthentication } from '@onlyfansapi/auth'; @Component({ selector: 'app-auth', template: `

Authentication Successful!

Account ID: {{ authData.accountId }}

Username: {{ authData.username }}

Authentication Failed

{{ error.message }}

` }) export class AuthComponent { isLoading = false; authData: any = null; error: any = null; handleAuthentication() { this.isLoading = true; this.error = null; startOnlyFansAuthentication('ofapi_cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', { onSuccess: (data) => { console.log('Authentication successful:', data); this.authData = data; this.isLoading = false; }, onError: (error) => { console.error('Authentication failed:', error); this.error = error; this.isLoading = false; }, }); } } ```
```html OnlyFans API Auth
```
## Response Data The library provides TypeScript types for better type safety. Import them if needed: ```typescript import type { AuthSuccessData, AuthError } from '@onlyfansapi/auth'; ``` ### Success Response When authentication is successful, the `onSuccess` callback receives an `AuthSuccessData` object: ```typescript interface AuthSuccessData { accountId: string; // The authenticated OnlyFans account ID username: string; // The authenticated OnlyFans username response: object; // Full response object from the API containing additional metadata } ``` **Example usage:** ```typescript onSuccess: (data) => { // Store the account ID for future API requests localStorage.setItem('ofAccountId', data.accountId); // Redirect to dashboard or update UI console.log(`Authenticated as ${data.username}`); } ``` ### Error Response When authentication fails, the `onError` callback receives an `AuthError` object: ```typescript interface AuthError { message: string; // Human-readable error message code?: string; // Error code (if available) for programmatic handling details?: object; // Additional error details (if available) } ``` **Common error scenarios:** * User cancels the authentication flow * Network connectivity issues * Invalid or expired client session token * OnlyFans account access issues **Example error handling:** ```typescript onError: (error) => { if (error.code === 'AUTH_CANCELLED') { // User closed the authentication modal console.log('Authentication cancelled by user'); } else { // Handle other errors console.error('Authentication failed:', error.message); // Display error to user } } ``` ## Security The authentication library implements multiple security measures to protect user data: * **Origin validation**: All communication with the authentication iframe is validated by origin * **Domain whitelisting**: Only messages from the configured OnlyFansAPI.com domain are accepted * **Secure token transmission**: Client session tokens are passed securely via URL parameters * **HTTPS required**: The library requires HTTPS connections in production environments ## Best Practices ### Storing Client Session Tokens Store your client session token securely: ```typescript // ✅ Good: Use environment variables (if using a build tool) const CLIENT_SECRET = process.env.NEXT_PUBLIC_OFAPI_CLIENT_SECRET; // ✅ Good: Fetch from your backend API (most secure) const clientSecret = await fetch('/api/client-secret').then(r => r.json()); // ❌ Bad: Hardcode in your source code const CLIENT_SECRET = 'ofapi_cs_...'; ``` ### Error Handling Always handle both success and error cases: ```typescript startOnlyFansAuthentication("clientSecret", { onSuccess: (data) => { // Update your application state // Persist authentication data if needed // Redirect or update UI }, onError: (error) => { // Log errors for debugging // Show user-friendly error messages // Provide fallback options }, }); ``` ### User Experience * Show a loading state while authentication is in progress * Disable the authentication button during the flow to prevent duplicate requests * Provide clear feedback on success or failure * Consider adding a "try again" option if authentication fails ## Troubleshooting ### Common Issues **Authentication modal doesn't open:** * Ensure your client session token is valid and properly formatted * Check browser console for any error messages * Verify that pop-ups aren't blocked by your browser **"Invalid client secret" error:** * Verify your client session token is correct (starts with `ofapi_cs_`) * Check that the token hasn't expired * Ensure you're using a token created via the [Create Client Session API](/api-reference/client-sessions/create-client-session) **Network errors:** * Check your internet connection * Verify OnlyFansAPI.com is accessible from your network * Some corporate firewalls may block the authentication iframe ## Next Steps * Review the [Installation Guide](/auth/installation) if you haven't already * Check out the [NPM package](https://www.npmjs.com/package/@onlyfansapi/auth) for the latest version and updates * Visit [onlyfansapi.com/auth](https://onlyfansapi.com/auth) for more information * Explore the [API Reference](/api-reference) to see what you can do with authenticated accounts # Overview URL: /api-reference Deep dive into our API endpoints and data structures *** title: "Overview" icon: "Star" description: "Deep dive into our API endpoints and data structures" ------------------------------------------------------------------- import { BanknoteArrowDownIcon, BotMessageSquareIcon, ChartSplineIcon, GalleryVerticalEndIcon, ImageDownIcon, ImageIcon, ImageUpIcon, MessageSquareReplyIcon, MessageSquareTextIcon, MessagesSquareIcon, RocketIcon, ScrollTextIcon, SendIcon, SmilePlusIcon, UserCheckIcon, UserSearchIcon, UsersIcon, UserXIcon, } from "lucide-react";

Not sure where to start?

Browse our frequently used API endpoints below to get a feel for what's possible with OnlyFans API. ## Chats & Messages \[!toc] } href="/api-reference/chats/list-chats" title="List Chats"> Retrieve the latest chats, including details like last message and fan details. } href="/api-reference/chat-messages/list-chat-messages" title="List Chat Messages"> Retrieve messages from a specific chat. } href="/api-reference/chat-messages/send-message" title="Send Message"> Send a new chat message to a fan, including support for media and PPVs. } href="/api-reference/mass-messaging/send-mass-message" title="Send Mass Message"> Send or schedule a mass message to collections or individual fans, including support for media and PPVs. ## Payouts & Earnings \[!toc] } href="/api-reference/payouts/get-earning-statistics" title="Earning Statistics"> Get a summary of model earnings over time, including totals and breakdowns. } href="/api-reference/payouts/list-transactions-earnings" title="List Transactions (Earnings)"> Get a list of earning transactions, including details like amount, type, and fan info. } href="/api-reference/payouts/request-manual-withdrawal" title="Request Manual Withdrawal"> Initiate a manual withdrawal, perfect for automating daily payouts. ## Fans & Subscribers \[!toc] } href="/api-reference/fans/list-all-fans" title="List All Fans"> Retrieve a list of all fans, and filter by online, total spendings, duration, and more. } href="/api-reference/fans/list-active-fans" title="List Active Fans"> Get a list of fans who have an active subscription. } href="/api-reference/fans/list-expired-fans" title="List Expired Fans"> Get a list of fans whose subscriptions have expired. } href="/api-reference/fans/list-latest-fans" title="List Latest Fans"> Get a list of fans within a specific date range. ## Media & Vault \[!toc] } href="/api-reference/media-vault/list-vault-media" title="List Vault Media"> Retrieve a list of all fans, and filter by online, total spendings, duration, and more. } href="/api-reference/media-vault-lists/list-vault-lists" title="List Vault Lists"> Get a list of fans who have an active subscription. } href="/api-reference/media/upload-media-to-the-only-fans-cdn" title="Upload media to OnlyFans"> Upload an image, video or audio file to the OnlyFans CDN to include in a message or post. } href="/api-reference/media/download-media-from-the-only-fans-cdn" title="Download media from OnlyFans"> Download an image, video or audio file from OnlyFans to our own CDN.

Haven't found what you're looking for?

} title="Explore our full API reference in the sidebar" href="/api-reference"> We have over 100 endpoints covering most OnlyFans functionality. Check out the sidebar to explore all available endpoints. } title="Ask our AI chatbot"> Our AI chatbot can help you find the right endpoint for your use case. Click the "Ask AI" button in the bottom right to get started. } title="Request a new functionality" href="mailto:hello@onlyfansapi.com"> Need something specific? Let us know! We're constantly adding new endpoints based on user feedback. # 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: /introduction Welcome to the OnlyFansAPI.com documentation! *** title: Introduction description: "Welcome to the OnlyFansAPI.com documentation!" icon: Hand ---------- import { CodeXmlIcon, KeyRoundIcon, LockIcon, WebhookIcon, } from 'lucide-react'; ## Why OnlyFansAPI.com? OnlyFansAPI.com is a platform that allows you to interact with the OnlyFans API without the need to build your proxy management system, reverse engineer the API, or deal with WebSockets. Our engineers who have been working with the OnlyFans API for years have built **a huge set of simple REST API endpoints** that allows you to: * Access all public information about OnlyFans Creator Profiles * Search within a database of over 3.5m+ OnlyFans Creator Profiles * Connect your own OnlyFans account and: * Get a list of your chats and messages * Send messages (i.e. if you're building AI Chatbot solution) * Get a list of your fans, and automatically follow them back * Literally anything else you can think of! ## Get started Whether you're building a chatbot, OnlyFans Search Engine, OnlyFans CRM, or anything else, you can get started with OnlyFansAPI.com in minutes. } href="/introduction/quickstart"> Learn how to make your first API request and get started with OnlyFans API } href="https://app.onlyfansapi.com/api-keys"> Create your first API Key and start making requests } href="/introduction/guides/connect-onlyfans-account"> Learn how to connect you OnlyFans accounts in under 2 minutes } href="/webhooks"> Get webhook notifications for new messages, new subscribers, tips, ... # Quickstart (2m) URL: /introduction/quickstart Start using the OnlyFans API in minutes *** title: "Quickstart (2m)" description: "Start using the OnlyFans API in minutes" icon: Rocket ------------ import { CodeIcon, CoinsIcon, GaugeIcon, ShieldHalfIcon, ShieldIcon, ShieldUserIcon, } from "lucide-react"; ## Getting Started with OnlyFans API Follow these steps to start using the OnlyFans API for your project. ### 1. Create Your API Key To get started with the OnlyFans API, you'll need an API key: 1. Sign up for an account at [OnlyFansAPI Console](https://app.onlyfansapi.com) 2. Navigate to the API Keys section 3. Create a new API key for your project 4. Save your API key securely - you'll need it for all API requests ### 2. Connect Your OnlyFans Account You'll need to connect your OnlyFans account to use the API. We offer two methods: #### Automated Login Flow (Recommended) 1. Go to [OnlyFansAPI Console -> Accounts](https://app.onlyfansapi.com/accounts) 2. Click "+ Connect Account" 3. Follow the setup process (supports 2FA and captcha) #### Manual cURL Method An alternative method using cURL request is available. See our [detailed guide](/introduction/guides/connect-onlyfans-account) for instructions. ### 3. Essential Concepts Before you start making API calls, familiarize yourself with these important concepts: } href="/introduction/essentials/response-structure"> Understand how our API responses are structured. } href="/introduction/essentials/rate-limits"> Understand API rate limits and how to handle them properly. } href="/introduction/essentials/credits"> Learn about our credit-based billing and how to manage your usage. } href="/introduction/essentials/proxies"> Learn about proxy options for secure API access. ### 4. Next Steps Once you're set up, you can: * Explore our API endpoints in the [API Reference](/api-reference) * Test API calls directly from our documentation * Start building your application with our comprehensive guides # 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/n8n" title="n8n (recommended)"> Best for building complex, multi-step no-code automations. Perfect for users who want powerful automation capabilities with full control over their workflows. } href="/integrations/make" title="Make"> Best for simple OnlyFans automations, all without writing code. Ideal for users who want simple visual workflow design. } 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. Or watch our tutorial video: