{
  "openapi": "3.0.1",
  "info": {
    "title": "TikTok User Profile Scraper: Business Leads",
    "description": "TikTok User Profile Scraper: Business Leads extracts TikTok creator profiles, usernames, bios, profile URLs, follower counts, business details, contact links, emails, and social profiles. Ideal for B2B lead generation, influencer outreach, prospecting, and market research.",
    "version": "0.1",
    "x-build-id": "cbDvM0iqWncHtFP7r"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/simpleapi~tiktok-user-profile-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-simpleapi-tiktok-user-profile-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/simpleapi~tiktok-user-profile-scraper/runs": {
      "post": {
        "operationId": "runs-sync-simpleapi-tiktok-user-profile-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/simpleapi~tiktok-user-profile-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-simpleapi-tiktok-user-profile-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": {
          "leadUsernames": {
            "title": "👤 Lead handle(s)",
            "type": "array",
            "description": "🎪 One handle per line (examples: nike, @nike). 💡 Leave blank if you use lead IDs or lead links instead.",
            "items": {
              "type": "string"
            }
          },
          "leadUserIds": {
            "title": "🔑 Lead user ID(s)",
            "type": "array",
            "description": "📋 Long number IDs only (digits as text). ✏️ Skip this section if you're using handles or profile links.",
            "items": {
              "type": "string"
            }
          },
          "leadProfileUrls": {
            "title": "🔗 Lead profile link(s)",
            "type": "array",
            "description": "🎬 Paste TikTok profile links here. 💤 You can leave this empty when handles or IDs are enough.",
            "items": {
              "type": "string"
            }
          },
          "usernames": {
            "title": "👤 usernames (legacy key)",
            "type": "array",
            "description": "Same as \"Lead handle(s)\" above — the base actor's original key name.",
            "items": {
              "type": "string"
            }
          },
          "userIds": {
            "title": "🔑 userIds (legacy key)",
            "type": "array",
            "description": "Same as \"Lead user ID(s)\" above — the base actor's original key name.",
            "items": {
              "type": "string"
            }
          },
          "urls": {
            "title": "🔗 urls (legacy key)",
            "type": "array",
            "description": "Same as \"Lead profile link(s)\" above — the base actor's original key name.",
            "items": {
              "type": "string"
            }
          },
          "extractContactInfo": {
            "title": "📇 Extract contact info from bio",
            "type": "boolean",
            "description": "✅ ON (default): adds bioEmail, bioWebsiteUrl, resolvedBioUrl and bioSocialHandles to every row. ❌ OFF: skips parsing and those fields come back null/empty (profile data is unaffected either way).",
            "default": true
          },
          "resolveBioLinkShorteners": {
            "title": "🔗 Resolve link-in-bio shorteners",
            "type": "boolean",
            "description": "✅ ON (default): if a lead's bio link points at a known link-in-bio shortener (Linktree, Beacons, Lnk.Bio, etc.), follow it to the real destination URL. ❌ OFF: keeps the shortener link as-is (faster, one less request per lead). Only applies when contact extraction is ON.",
            "default": true
          },
          "onlyBusinessAccounts": {
            "title": "🏢 Save business accounts only",
            "type": "boolean",
            "description": "❌ OFF (default): every successfully-fetched lead is saved. ✅ ON: only leads with isBusinessAccount = true are saved to the dataset (still fetched and logged, just not charged/saved).",
            "default": false
          },
          "maxRetries": {
            "title": "🔁 Max retries per fetch",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Per-fetch retries on network errors before giving up on a lead. Example: maxRetries=3 (default) retries up to 3 times per URL attempted.",
            "default": 3
          },
          "requestGapMs": {
            "title": "⏱️ Delay between leads (ms)",
            "minimum": 0,
            "maximum": 60000,
            "type": "integer",
            "description": "Pause between one lead lookup and the next, in milliseconds. Default is 750.",
            "default": 750
          },
          "proxyConfiguration": {
            "title": "🛡️ Connection & privacy (optional)",
            "type": "object",
            "description": "⚙️ Standard Apify Proxy picker — choose groups or turn off if you don't need it. 💚 Your choice!"
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}