{
  "openapi": "3.0.1",
  "info": {
    "title": "TikTok User Search Scraper - Find Creators [NO LOGIN] ✅",
    "description": "Search TikTok users and creators by keyword. Get handles, bios, follower counts, and recent videos. Built for creator discovery, influencer research, and lead generation by topic or niche. No login, no cookies. Pair with our Followers Scraper to map full audiences.",
    "version": "0.0",
    "x-build-id": "3UdILbdf34OanBwA6"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/unseenuser~tiktok-user-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-unseenuser-tiktok-user-search-scraper",
        "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/unseenuser~tiktok-user-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-unseenuser-tiktok-user-search-scraper",
        "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/unseenuser~tiktok-user-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-unseenuser-tiktok-user-search-scraper",
        "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",
        "required": [
          "queries"
        ],
        "properties": {
          "queries": {
            "title": "Search terms, TikTok handles, or profile URLs",
            "minItems": 1,
            "uniqueItems": true,
            "type": "array",
            "description": "What you want to look up on TikTok. Each entry can be:  (a) a plain keyword or phrase, for example 'fashion influencer' or 'vegan recipes';  (b) a bare TikTok handle, for example 'khaby.lame' or '@charlidamelio' (the leading @ is removed automatically);  (c) a full profile URL, for example 'https://www.tiktok.com/@zachking' (the Actor extracts the handle for you). Add many entries to run them all in one job. Duplicates are removed automatically.",
            "items": {
              "type": "string"
            }
          },
          "max_pages": {
            "title": "Pages to search per query (0 = all results)",
            "minimum": 0,
            "type": "integer",
            "description": "How many pages of TikTok's search results to walk for each query. Each page holds up to 30 creators (typically 20-30 on full pages, fewer on the final page). So 5 pages per query returns up to ~150 creators per query. Set to 0 for all results - the Actor walks every page until TikTok's search runs out of best-match results, which usually plateaus by page 3-5 for broad keywords and by page 15-20 for niche ones. No upper limit is enforced; the natural stop is TikTok itself.",
            "default": 0
          },
          "auto_expand_query": {
            "title": "Also search ~60 related phrases of each query (recommended)",
            "type": "boolean",
            "description": "Default ON. When ON, each entry is also searched as ~60 variants - for example 'fashion' is also searched as 'fashion nyc', 'fashion london', 'fashion vintage', '@fashion', and more. Results are merged and de-duplicated by @handle. Typically returns 10x-30x more unique creators per query because it goes past TikTok's ~60-100 best-match limit on an exact phrase. Turn OFF when your queries are exact handles that you want looked up verbatim without any extra variants (e.g. a known @handle list).",
            "default": true
          },
          "deep_search": {
            "title": "Also look up matching videos and Top posts (recommended)",
            "type": "boolean",
            "description": "Default ON. Searches each query against three TikTok surfaces at once: user profiles, videos whose captions match the keyword (whose authors are collected), and TikTok's Top search tab. Results are merged and de-duplicated. Typically returns 10x-50x more unique creators per query than searching user profiles alone. Each output row has a '_metadata.source' field so you can tell which surface found a given creator. Turn OFF if you only want strict user-profile matches.",
            "default": true
          },
          "enrich_profiles": {
            "title": "Enrich with business, growth, and bio-link data (adds $0.012 per creator)",
            "type": "boolean",
            "description": "Default OFF. Turn ON to add 26 extra fields to every creator row: average engagement rate, average views per video, posting cadence, estimated rate card, fake-follower score, top hashtags, recent sponsored-content signal, account creation date, TikTok user ID, business account flag, TikTok Shop seller flag, bio link destination (resolved), content language, and more. Each enriched creator costs $0.012 in addition to the base $0.004 per creator. Example: a 500-creator run costs $2.00 with this OFF and $8.00 with it ON. Enrichment runs after de-duplication, so you only pay for the final unique creator set.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}