{
  "openapi": "3.0.1",
  "info": {
    "title": "Tiktok Profile Scraper",
    "description": "Extract TikTok profile data quickly and accurately. Collect usernames, bios, follower counts, following counts, likes, profile URLs, and more. Perfect for influencer research, competitor analysis, and audience insights with clean, structured data output.",
    "version": "0.1",
    "x-build-id": "S5MHnKd1Tk8D1lWsr"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapepilotapi~tiktok-profile-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapepilotapi-tiktok-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/scrapepilotapi~tiktok-profile-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapepilotapi-tiktok-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/scrapepilotapi~tiktok-profile-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapepilotapi-tiktok-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",
        "required": [
          "profiles"
        ],
        "properties": {
          "profiles": {
            "title": "👤 TikTok Profile(s) to Scrape",
            "type": "array",
            "description": "📝 Add TikTok usernames you want to scrape (one per line). Examples: mrbeast\\nkhaby.lame\\ncharlidamelio",
            "items": {
              "type": "string"
            }
          },
          "profileScrapeSections": {
            "title": "📂 Content Sections to Scrape",
            "type": "array",
            "description": "🎯 Choose which content to scrape: Videos (original posts) or Reposts. Select 'Reposts' to include reposted content from profiles.",
            "items": {
              "type": "string",
              "enum": [
                "videos",
                "reposts"
              ]
            },
            "default": [
              "videos"
            ]
          },
          "profileSorting": {
            "title": "🔀 Video Sorting Order",
            "enum": [
              "latest",
              "popular",
              "oldest"
            ],
            "type": "string",
            "description": "📊 Choose how videos are sorted: Latest (newest first) 🆕 | Popular (most liked) 🔥 | Oldest (oldest first) 📜\n\n⚠️ Note: Date filters work only with Latest and Oldest. Sorting applies to Videos section only.",
            "default": "latest"
          },
          "resultsPerPage": {
            "title": "📊 Maximum Posts per Profile",
            "minimum": 1,
            "type": "integer",
            "description": "🎯 Set the maximum number of posts to scrape from each profile. Higher numbers = more data but longer processing time.",
            "default": 20
          },
          "oldestPostDateUnified": {
            "title": "📅 Start Date - Videos Published After",
            "type": "string",
            "description": "🗓️ Set the earliest date for videos to scrape. Use Absolute tab for specific dates (YYYY-MM-DD) or Relative tab for days ago (e.g., 7 = last 7 days)"
          },
          "newestPostDate": {
            "title": "📅 End Date - Videos Published Before",
            "type": "string",
            "description": "🗓️ Set the latest date for videos to scrape. Use Absolute tab for specific dates (YYYY-MM-DD) or Relative tab for days ago (e.g., 0 = today)"
          },
          "mostDiggs": {
            "title": "❤️ Maximum Hearts Filter (<)",
            "minimum": 1,
            "type": "integer",
            "description": "🎯 Scrape only videos with fewer hearts than this number. Perfect for finding less popular content.\n\n⚠️ Note: This filter doesn't work when date filters are enabled."
          },
          "leastDiggs": {
            "title": "❤️ Minimum Hearts Filter (≥)",
            "minimum": 1,
            "type": "integer",
            "description": "🔥 Scrape only videos with at least this many hearts. Great for finding viral or popular content.\n\n⚠️ Note: This filter doesn't work when date filters are enabled."
          },
          "excludePinnedPosts": {
            "title": "📌 Exclude Pinned Posts",
            "type": "boolean",
            "description": "✅ Enable this to skip pinned posts (usually the first videos displayed on a profile). Useful for avoiding duplicate or promotional content.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "🔒 Proxy & Security Settings",
            "type": "object",
            "description": "🛡️ Configure proxy settings for secure scraping. Automatically falls back to residential proxies if requests are blocked."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}