{
  "openapi": "3.0.1",
  "info": {
    "title": "OnlyFans Search",
    "description": "OnlyFans search engine and OnlyFans scraper: search creators by keyword or niche and export profiles with price, likes, photo and video counts, and Instagram, X and TikTok links. CSV, JSON or API. No login.",
    "version": "1.0",
    "x-build-id": "GrghkZHudmcZDdMXh"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/deepmine~onlyfans-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-deepmine-onlyfans-search",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/deepmine~onlyfans-search/runs": {
      "post": {
        "operationId": "runs-sync-deepmine-onlyfans-search",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/deepmine~onlyfans-search/run-sync": {
      "post": {
        "operationId": "run-sync-deepmine-onlyfans-search",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "searchMode": {
            "title": "🎯 Search type",
            "enum": [
              "query",
              "new",
              "top"
            ],
            "type": "string",
            "description": "Keyword search: find creators matching your search terms. Newest creators: recently joined profiles. Top creators: highest-ranked profiles.",
            "default": "query"
          },
          "keywords": {
            "title": "🔍 Search terms (Keyword search only)",
            "type": "array",
            "description": "Enter one search term per line, such as a niche, look, interest, or city. Each term runs as its own search and the results are merged without duplicates.",
            "default": [
              "cosplay",
              "gamer girl"
            ],
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "📊 Max results per search term",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum profiles to return for each search term (or in total for Newest and Top creators). You may get fewer when a search has fewer matches or your run spending limit is lower.",
            "default": 100
          },
          "requireInstagram": {
            "title": "📸 Only creators with Instagram",
            "type": "boolean",
            "description": "Keep only profiles that list an Instagram account.",
            "default": false
          },
          "freeOnly": {
            "title": "Only free profiles",
            "type": "boolean",
            "description": "Keep only profiles with a free subscription.",
            "default": false
          },
          "minSubscribers": {
            "title": "Min subscribers",
            "minimum": 0,
            "type": "integer",
            "description": "Skip profiles with fewer subscribers than this. Leave blank for no minimum."
          },
          "maxSubscribers": {
            "title": "Max subscribers",
            "minimum": 0,
            "type": "integer",
            "description": "Skip profiles with more subscribers than this. Leave blank for no limit. Profiles that hide their subscriber count count as 0, so they pass any maximum."
          },
          "maxLikes": {
            "title": "Max likes",
            "minimum": 0,
            "type": "integer",
            "description": "Skip profiles with more likes than this. Handy for finding smaller or newer creators. Leave blank for no limit."
          },
          "country": {
            "title": "Country code",
            "type": "string",
            "description": "Two-letter country code, e.g. US, GB, DE or BR. The search index filters its whole catalogue by the rough location it holds for each creator, before any result is read. Rows don't carry a verified country; each row names the filters it matched in matchedSourceFilters. Use either Country or City."
          },
          "city": {
            "title": "City, region or ZIP",
            "type": "string",
            "description": "A place such as miami, los angeles or 90210. The index keeps creators it places near it: a rough location, not a verified residence. Use either Country or City."
          },
          "cityRadiusKm": {
            "title": "Radius around the city",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Optional distance around City. Empty = the index's own default area."
          },
          "gender": {
            "title": "Gender",
            "enum": [
              "any",
              "female",
              "male"
            ],
            "type": "string",
            "description": "The search index's own gender label for each creator (not checked by this Actor). Most of the index is women, so Women changes little; Men narrows the results to male creators.",
            "default": "any"
          },
          "minAge": {
            "title": "Min age",
            "minimum": 18,
            "maximum": 99,
            "type": "integer",
            "description": "The age the search index lists for a creator, as the creator publishes it; not verified. Empty = no limit."
          },
          "maxAge": {
            "title": "Max age",
            "minimum": 18,
            "maximum": 99,
            "type": "integer",
            "description": "Upper end of the index's listed age. Empty = no limit."
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "type": "integer",
            "description": "Keep creators whose subscription costs at least this much. Checked on the price each row shows, after any promotion: a page on a free-trial promotion shows Free and is left out. Empty = no limit."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "type": "integer",
            "description": "Keep creators whose shown subscription price is at most this much (0 = free only). Empty = no limit."
          },
          "newOnly": {
            "title": "Only new creators",
            "type": "boolean",
            "description": "Keep creators the search index lists as joined in the last 30 days.",
            "default": false
          },
          "requireTwitter": {
            "title": "Only creators with X (Twitter)",
            "type": "boolean",
            "description": "Keep only creators whose OnlyFans listing links an X (Twitter) account.",
            "default": false
          },
          "requireTikTok": {
            "title": "Only creators with TikTok",
            "type": "boolean",
            "description": "Keep only creators whose OnlyFans listing links a TikTok account.",
            "default": false
          },
          "minLikes": {
            "title": "Min likes",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only profiles with at least this many likes, to skip inactive pages. Empty = no limit."
          },
          "sortBy": {
            "title": "Sort results by",
            "enum": [
              "relevance",
              "likes",
              "subscribers",
              "photos",
              "videos",
              "score",
              "name"
            ],
            "type": "string",
            "description": "Choose how profiles are ordered in every output dataset. Relevance keeps the original search ranking. It orders the profiles this run collected (up to the maximum per keyword), not the whole search index.",
            "default": "likes"
          },
          "sortOrder": {
            "title": "Sort order",
            "enum": [
              "descending",
              "ascending"
            ],
            "type": "string",
            "description": "Descending shows the highest values first (or Z-A for Name); ascending shows the lowest values first (or A-Z for Name).",
            "default": "descending"
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}