{
  "openapi": "3.0.1",
  "info": {
    "title": "TikTok Lookalike Scraper | Influencers, Emails and Engagement",
    "description": "TikTok lookalike scraper: find influencers similar to any creator, niche keyword or TikTok link. One username returned 20 similar creators in 24 seconds, 35 fields each: bio emails, followers, recent views, likes, engagement rate, posting rhythm and shared hashtags, ranked by match score. No login.",
    "version": "1.0",
    "x-build-id": "tZr1J1sgIIot0YoDZ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/silentflow~tiktok-lookalike-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-silentflow-tiktok-lookalike-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/silentflow~tiktok-lookalike-scraper/runs": {
      "post": {
        "operationId": "runs-sync-silentflow-tiktok-lookalike-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/silentflow~tiktok-lookalike-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-silentflow-tiktok-lookalike-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",
        "properties": {
          "usernames": {
            "title": "🎯 Seed creators",
            "type": "array",
            "description": "The TikTok creators you want more of, one per line: a username (<code>brynn_ann</code>), an @handle or a profile link. The run reads what each seed posts, works out its niche from the hashtags it keeps using, and returns the creators posting in that niche, ranked by how close they are. With several seeds, creators matching more than one rank highest. Keep the seeds of one run in the same niche.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "🔎 Niche keywords",
            "type": "array",
            "description": "No seed creator yet? Type a niche, one per line: <code>sourdough</code>, <code>home workout</code>, <code>#booktok</code>. The run collects the creators posting under that hashtag and the accounts TikTok's search finds for it, then ranks them on the hashtags that niche uses most. Works alone or next to seed creators.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "🔗 TikTok links",
            "type": "array",
            "description": "TikTok links, one per line. A profile or video link (<code>https://www.tiktok.com/@brynn_ann</code>) seeds its creator; a hashtag link (<code>https://www.tiktok.com/tag/sourdough</code>) or a search link seeds its keyword; a short share link from the app (<code>https://vm.tiktok.com/…</code>) is opened first.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "🔢 Max creators",
            "minimum": 1,
            "type": "integer",
            "description": "The run stops after this many lookalike creators, one row each, best match first, or earlier when the niche has no more creators. On our test run, 20 creators took 26 seconds.",
            "default": 50
          },
          "minFollowers": {
            "title": "👥 Min followers",
            "minimum": 0,
            "type": "integer",
            "description": "Keep creators with at least this many followers. Leave empty for no lower bound."
          },
          "maxFollowers": {
            "title": "👥 Max followers",
            "minimum": 0,
            "type": "integer",
            "description": "Keep creators with at most this many followers, for example <code>100000</code> to find micro-influencers in a big creator's niche. Leave empty for no upper bound."
          },
          "language": {
            "title": "🌐 Content language",
            "type": "string",
            "description": "Keep creators whose recent videos are mostly in this language. Pick one, or type its code (<code>en</code>, <code>eng</code>) or its English name. Seed creators who post in that language too: results resemble your seeds. Leave empty for any language."
          },
          "onlyWithEmail": {
            "title": "📧 Only creators with an email",
            "type": "boolean",
            "description": "Keep only creators who publish a contact email in their TikTok bio, ready for outreach. Fewer rows, all of them reachable.",
            "default": false
          },
          "excludeUsernames": {
            "title": "🚫 Exclude creators",
            "type": "array",
            "description": "Creators you already work with or never want back, one per line (username, @handle or profile link). Paste the <code>username</code> column of a previous run to get only new creators.",
            "items": {
              "type": "string"
            }
          },
          "debugMode": {
            "title": "🐞 Debug log",
            "type": "boolean",
            "description": "Write a detailed log of each step. Leave off unless support asks for it.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}