Tiktok Comments Scraper
Pricing
from $0.30 / 1,000 dataset items
Tiktok Comments Scraper
Effortlessly scrape Tiktok data: comments, users, and all the other insights. Overcome API limitations, and ensure real-time monitoring for seamless extraction.
Tiktok Comments Scraper
Pricing
from $0.30 / 1,000 dataset items
Effortlessly scrape Tiktok data: comments, users, and all the other insights. Overcome API limitations, and ensure real-time monitoring for seamless extraction.
You can access the Tiktok Comments Scraper programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, youβll need an Apify account and your API token, found in API & Integrations in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "0.0", "x-build-id": "e1dh4H3oKalmMPIvc" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/epctex~tiktok-comment-scraper/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-epctex-tiktok-comment-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/epctex~tiktok-comment-scraper/runs": { "post": { "operationId": "runs-sync-epctex-tiktok-comment-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/epctex~tiktok-comment-scraper/run-sync": { "post": { "operationId": "run-sync-epctex-tiktok-comment-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": [ "startUrls" ], "properties": { "startUrls": { "title": "Start URLs", "type": "array", "description": "TikTok video and photo URLs to scrape comments from. REQUIRED.", "items": { "type": "string" } }, "includeReplies": { "title": "Include replies for each comment", "type": "boolean", "description": "Enable to scrape replies for each comment. Triggers a Reply Query charge per comment thread that has replies.", "default": false }, "endPage": { "title": "List end page", "type": "integer", "description": "The page number that you want to end with. By default there is no end page. This applies to all request and startUrls individually." }, "maxItems": { "title": "Maximum number of items on output", "type": "integer", "description": "Maximum total comments/replies to output across entire run." }, "customMapFunction": { "title": "Custom map function", "type": "string", "description": "JavaScript function to transform each output comment/reply. Use to add computed fields, modify values, or remove unnecessary data. NOT intended for filtering - filtering may result in automatic bans." }, "outputConnector": { "title": "Send results to Notion, Todoist, β¦ (optional)", "type": "string", "description": "Pick an MCP connector you authorized in Console β Settings β API & Integrations β MCP connectors (e.g. Notion, Todoist β any service whose MCP server offers non-destructive write tools works best-effort). The scraped results are written through your own connector β the Actor never sees your third-party credentials. Only non-destructive write tools are used; it can never delete or overwrite your existing data." }, "deliverTarget": { "title": "Destination target", "type": "string", "description": "Where to write into the connector β paste the URL or ID. Notion example: https://www.notion.so/My-Comments-24f8a1b2c3d44e5f8a9b0c1d2e3f4a5b. Leave empty for services that need no target (e.g. Todoist Inbox, Slack). For Notion, share the page or database with your connector first (Notion's β’β’β’ β Connections menu), and point at a PAGE for structured columns (the Actor builds the database for you) β an empty database receives only the title (the rest of each record goes to the row's body)." }, "deliverMode": { "title": "Write mode", "enum": [ "perPost", "summary" ], "type": "string", "description": "perPost writes one record per scraped comment/reply; summary writes a single roll-up for the run.", "default": "perPost" }, "deliverMaxItems": { "title": "Max records to deliver β perPost only (optional)", "minimum": 1, "type": "integer", "description": "Cap on how many records perPost mode writes to the connector; ignored in summary mode. Leave empty to deliver everything scraped." } } }, "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 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Tiktok Comments Scraper from the options below:
If youβd like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: