Public Profiles

Full-text search for profiles with filters for pricing, free trials, location, media count and more.

get/api/search

Request

  • Base URL
    https://app.onlyfansapi.com
  • URL
    https://app.onlyfansapi.com/api/search
  • Auth
    HTTP bearer

Query parameters

querystring

Query for full text search in username, display name, bio. Must be at least 3 characters.

min_subscribe_pricenumber

Filter by minimum subscribe price. Must be at least 0.00.

max_subscribe_pricenumber

Filter by maximum subscribe price. Must be at least 0.00.

Example:200
locationstring

Filter by location.

websitestring

Filter by website.

instagramstring

Filter by Instagram username.

tiktokstring

Filter by TikTok username.

limitinteger

The number of profiles to return. For each returned profile we charge your account 1 credit. Default: 10. Must be at least 1. Must not be greater than 100.

Example:10
cursorstring nullable

Cursor for pagination. Use the next_cursor from the previous response to get the next page of results.

sort'likes' | 'photos' | 'videos' | 'subscribers' | 'subscribe_price' | 'min_subscribe_price' | 'join_date' | 'last_seen'

Field to sort by. ⭐️ Only available on the Pro and Enterprise plan.

sortDirection'desc' | 'asc'

Direction for sorting. desc - highest value first. asc - lowest value first.

filterobject
filter.gender'female' | 'male' | 'trans' | 'trans_ftm' | 'trans_mtf' | 'couple'

Filter by gender (available: female, male, trans, trans_ftm (Female-to-Male), trans_mft (Male-to-Female), couple). ⭐️ Only available on the Pro and Enterprise plan.

Response

Example response

{
  "data": [
    {
      "ofapi_gender": "female",
      "ofapi_gender_confidence": 0.98,
      "onlyfans_id": 5140520,
      "stats_updated_at": "2025-12-15T21:00:42.000000Z",
      "username": "madison420ivy",
      "name": "Madison Ivy",
      "avatar_url": "https://public.onlyfans.com/files/v/v3/v30/v302xscgzgb1qijezrvsotwo4dxn00pe1760573833/5140520/avatar.jpg",
      "header_url": "https://public.onlyfans.com/files/i/iz/izt/iztyiyvqu9mg54vccnxjjivnkz2cyivm1617484103/header.jpg",
      "subscribe_price": 0,
      "min_subscribe_price": 0,
      "posts_count": 157,
      "photos_count": 530,
      "videos_count": 207,
      "audios_count": 0,
      "favorites_count": 16,
      "favorited_count": 570621,
      "subscribers_count": null,
      "is_verified": true,
      "website": "Www.fleshlight.com/Madisonivy",
      "location": "CannaBliss",
      "wishlist": null,
      "about": "<p>My wish in life is to be your personal lil fuck toy. WELCOME to my naughty corner of the world. <br /> I hope you’ll love my extremely up-close and personal POVs. I want to give you a true feeling of being with me. <br /> Let me tease you and please you.<br /> Command me, Master. For I am your little pet. <br /> And I am waiting… 😈💦<br /><br /> I absolutely love suggestions, so please feel free to send me a DM with ideas! I always try to include as much as possibles 💋<br /> 🚨Also about my page 👇👇👇👇👇👇👇👇<br /><br /> ...............................................................................................<br /> 💖 Custom Video Contest is returning soon!!!<br /> (Watch page for details)<br /> 💙Tipping is NEVER required. <br /> (But because my page is free, I’m starting to only respond to messages with tips. I’m very sorry about this, but for the past 5 years I’ve answered every single message. And they’re just isn’t enough time in the day.)  <br /> Xoxo<br />     Ur little fuck toy,<br />           </p>",
      "last_seen_at": null,
      "is_performer": true,
      "is_real_performer": true,
      "is_adult_content": false,
      "bundles": null,
      "instagram": null,
      "twitter": null,
      "tiktok": null,
      "facebook": null,
      "promotions": null,
      "join_date": "2018-11-11T00:00:00.000000Z",
      "fansly": null,
      "pornhub": null,
      "manyvids": null
    },
    {
      "ofapi_gender": "male",
      "ofapi_gender_confidence": 0.95,
      "onlyfans_id": 117183,
      "stats_updated_at": "2025-12-15T21:59:51.000000Z",
      "username": "johnnysins",
      "name": "Johnny Sins",
      "avatar_url": "https://public.onlyfans.com/files/e/ex/exf/exflcllrevoeqnhfeccma55z5desn4ct1686490893/117183/avatar.jpg",
      "header_url": null,
      "subscribe_price": 0,
      "min_subscribe_price": 0,
      "posts_count": 9431,
      "photos_count": 57499,
      "videos_count": 14116,
      "audios_count": 1,
      "favorites_count": 72,
      "favorited_count": 250727,
      "subscribers_count": 202344,
      "is_verified": true,
      "website": "https://Onlyfans.com/solojohnny",
      "location": null,
      "wishlist": null,
      "about": "<p>THE ONLY OFFICIAL JOHNNY SINS ONLYFANS<br /><br /> 🔥 NEW SUBSCRIBERS GET A FREE VIDEO FOR JOINING!!!<br /> 🔥 NEW scenes 2x per week!! </p>",
      "last_seen_at": "2025-12-15T21:01:35.000000Z",
      "is_performer": true,
      "is_real_performer": true,
      "is_adult_content": true,
      "bundles": null,
      "instagram": "Mosttalentedbaldman",
      "twitter": "johnnysins",
      "tiktok": "Johnnysins",
      "facebook": null,
      "promotions": null,
      "join_date": "2017-01-25T00:00:00.000000Z",
      "fansly": null,
      "pornhub": null,
      "manyvids": null
    }
  ],
  "_pagination": {
    "total_results": 10000,
    "next_cursor": "WzEsIjEwIl0=",
    "next_page_url": "https://app.onlyfansapi.com/api/search?limit=50&cursor=WzEsIjEwIl0%3D"
  },
  "_meta": {
    "_credits": {
      "used": 1,
      "balance": 115530,
      "note": "Always"
    },
    "_cache": {
      "is_cached": false,
      "note": "Cache disabled for this endpoint"
    },
    "_rate_limits": {
      "limit_minute": 1000,
      "limit_day": 50000,
      "remaining_minute": 998,
      "remaining_day": 49998
    }
  }
}

Changes

    • breaking

      removed the request body

    • breaking

      for the query request parameter limit, the type changed from string to integer

    • breaking

      for the query request parameter max_subscribe_price, the type changed from string to number

    • breaking

      for the query request parameter min_subscribe_price, the type changed from string to number

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the // response's property type changed from string to integer for status

    • warning

      removed the optional property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • info

      added the new optional query request parameter cursor

    • info

      added the new optional query request parameter filter

    • info

      added the new optional query request parameter filter.gender

    • info

      added the new optional query request parameter instagram

    • info

      added the new optional query request parameter sort

    • info

      added the new optional query request parameter sortDirection

    • info

      added the new optional query request parameter tiktok

    • info

      added the new optional query request parameter website

    • info

      the query request parameter query became optional

    • info

      added the optional property / to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status