OnlyFans API Google Sheets Integration
Auto-sync OnlyFans API Google Sheets data for revenue reporting, subscriber tracking, and payout reconciliation. Stop manually copying numbers from dashboards into spreadsheets. This integration pulls live data from the OFAPI and writes it directly into the Google Sheets your team already uses for reporting — automatically, on a schedule, or in real time via webhooks.
What Gets Synced
Revenue by creator
Daily and monthly earnings broken down by subs, tips, PPV, and referrals.
Subscriber counts
Total active, new, and expired subscribers per creator per day.
Payout history
Every payout transaction with amounts, dates, and status for reconciliation.
Top fan rankings
Top spenders by total value, updated on each sync cycle.
Setup Guide
Create a Service Account
Go to the Google Cloud Console, create a new project (or use an existing one), enable the Google Sheets API, and create a service account. Download the JSON key file. This gives your script programmatic access to write to spreadsheets.
pip install gspread google-auth requests
Share Your Spreadsheet
Open your target Google Sheet and share it with the service account email (found in the JSON key file, looks like your-bot@project.iam.gserviceaccount.com). Give it Editor access.
Deploy the Sync Script
This Python script fetches revenue data from the OFAPI and appends it to your Google Sheet. Run it on a cron job or trigger it from a webhook relay.
import os, requests, gspread from google.oauth2.service_account import Credentials # Config API_KEY = os.environ["OFAPI_KEY"] BASE_URL = "http://157.180.79.226:4024/api/v1/onlyfans" SHEET_NAME = "OFAPI Revenue" # Auth — Google Sheets creds = Credentials.from_service_account_file( "service-account.json", scopes=["https://www.googleapis.com/auth/spreadsheets"] ) gc = gspread.authorize(creds) sheet = gc.open(SHEET_NAME).sheet1 # Fetch creators headers = {"X-API-Key": API_KEY} models = requests.get(f"{BASE_URL}/models", headers=headers).json() for model in models["models"]: # Fetch revenue for each creator stats = requests.get( f"{BASE_URL}/models/{model['id']}/statistics/overview", headers=headers ).json() # Append row: [date, creator, subs, tips, ppv, total] sheet.append_row([ stats["date"], model["username"], stats["subscriptions"], stats["tips"], stats["ppv"], stats["total_revenue"], ]) print(f"Synced {len(models['models'])} creators to Google Sheets")
Automate It
Run the script on a daily cron schedule for batch reporting, or set up a webhook relay that triggers the sync in real time whenever a revenue.received event fires. For no-code setups, you can also trigger this via Zapier or Make.
Automate your revenue reporting
Stop copying numbers by hand. Sync OnlyFans revenue data to Google Sheets in minutes.