{
  "openapi": "3.0.1",
  "info": {
    "title": "TikTok Scraper & API | EveryInfra",
    "description": "TikTok data via one Actor: search, profile, user_videos, video, comments, hashtag, followers, transcript, shop_search, shop_creator. Pay per request, no start fee. First 3 requests free across EveryInfra Actors.",
    "version": "0.1",
    "x-build-id": "8DVKco9j4sjaKPKEn"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/blushing_parachute~everyinfra-tiktok-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-blushing_parachute-everyinfra-tiktok-api",
        "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/blushing_parachute~everyinfra-tiktok-api/runs": {
      "post": {
        "operationId": "runs-sync-blushing_parachute-everyinfra-tiktok-api",
        "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/blushing_parachute~everyinfra-tiktok-api/run-sync": {
      "post": {
        "operationId": "run-sync-blushing_parachute-everyinfra-tiktok-api",
        "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": [
          "action"
        ],
        "properties": {
          "action": {
            "title": "Action",
            "enum": [
              "search",
              "profile",
              "user_videos",
              "video",
              "comments",
              "hashtag",
              "followers",
              "transcript",
              "shop_search",
              "shop_creator"
            ],
            "type": "string",
            "description": "What to fetch. Each action uses only the fields listed for it below; other fields are ignored when empty.",
            "default": "search"
          },
          "keyword": {
            "title": "keyword",
            "type": "string",
            "description": "Used by `search` (required), `shop_search` (required). Specifies the search query string for public video searches in the `search` action. In `shop_search`, this searches TikTok Shop products instead, which draw from a distinct dataset."
          },
          "content_type": {
            "title": "content_type",
            "enum": [
              "profile",
              "top",
              "video"
            ],
            "type": "string",
            "description": "Used by `search`. Filters results by tab in the `search` action. Allowed values are `video` for videos, `profile` for users, and `top` for top content. Providing this parameter in fixed author, video, or hashtag actions does not guarantee that filtering will take effect, so verify returned response objects and fields after changing tabs."
          },
          "username": {
            "title": "username",
            "type": "string",
            "description": "Used by `profile` (required), `user_videos` (required), `followers` (required), `shop_creator` (required). Public TikTok handle, which may optionally include the leading `@`. Do not supply Douyin `secUid` tokens or full profile URLs. In `followers`, this returns follower counts; in `shop_creator`, it queries creator e-commerce details for a designated market."
          },
          "min_likes": {
            "title": "min_likes",
            "type": "integer",
            "description": "Used by `user_videos`. Numeric threshold filtering videos by minimum like count. It applies to user_videos only and does not filter author follower counts or comment like thresholds."
          },
          "sort": {
            "title": "sort",
            "enum": [
              "newest",
              "oldest",
              "popular"
            ],
            "type": "string",
            "description": "Used by `user_videos`. Sorts author video lists in the `user_videos` action. Allowed values are `newest`, `oldest`, and `popular`. It applies to `user_videos` only."
          },
          "until": {
            "title": "until",
            "type": "string",
            "description": "Used by `user_videos`. Sets an upper date bound for video publication time rather than data ingestion time. It applies to user_videos only."
          },
          "url": {
            "title": "url",
            "type": "string",
            "description": "Used by `video` (required), `comments` (required), `transcript` (required). Target TikTok video URL required for `video`, `comments`, and `transcript` actions. In `comments`, it retrieves post-level comments where each top-level comment includes at most two replies, without guaranteeing a complete conversation tree."
          },
          "hashtag": {
            "title": "hashtag",
            "type": "string",
            "description": "Used by `hashtag` (required). Target hashtag name for the `hashtag` action, with or without the leading `#`. This parameter filters specifically by hashtag and does not function as an arbitrary full-text search term."
          },
          "channel": {
            "title": "channel",
            "type": "string",
            "description": "Used by `followers`. Compatibility account handle input for the `followers` action. Precedence is lower than `username`. It is not used for TikTok Shop product searches."
          },
          "country": {
            "title": "country",
            "type": "string",
            "description": "Used by `shop_search`, `shop_creator`. Market region code for `shop_search` and `shop_creator` actions, defaulting to `US` or `us`. It does not filter creator nationality or platform-wide content location. See the catalog for supported markets."
          },
          "page": {
            "title": "page",
            "type": "integer",
            "description": "Used by `shop_search`. 1-based integer page number for `shop_search` product pagination, defaulting to `1`. It does not paginate video comments or author video lists."
          },
          "limit": {
            "title": "limit",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "How many results to request for list actions. Defaults and maximums per action: `search` 10 (max 200); `user_videos` 10 (max 50); `comments` 20 (max 200); `hashtag` 10 (max 30); `shop_search` 20 (max 100). Billing: `search` one event per started block of 10 results; `user_videos` one event per started block of 10 results; `comments` one event per started block of 20 results; `hashtag` one event per started block of 10 results; `shop_search` one event per started block of 20 results."
          },
          "params": {
            "title": "params (advanced)",
            "type": "object",
            "description": "Optional JSON object with the same fields as above, for API and integration use. Flat fields and params must not disagree."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}