TikTok MCP server for your agent
To give Claude, Cursor, ChatGPT or another MCP client TikTok data, add Apify's hosted MCP server with the Actors ticked below as tools (6 by default); the URL is in every config. Sign in with your Apify account or pass an API token; each call runs the Actor and returns TikTok records to the agent.
One click, signs in with Apify on first use:
Any other client, one command (writes the config for 25+ agents, including Windsurf, Zed, Cline and Goose):
npx add-mcp "https://mcp.apify.com/?tools=fetch-actor-details,vexaloom-labs/tiktok-keyword-search-and-discovery-scraper,dataspryva/tiktok-keyword-and-brand-mention-monitor,nimbryxo-studio/tiktok-hashtag-video-feed-and-stats-extractor,vexaloom-labs/tiktok-comment-and-reply-thread-extractor,vexaloom-labs/tiktok-account-stats-and-repost-history-scraper,vexaloom-labs/tiktok-video-subtitle-and-transcript-extractor" --name apify-tiktok - Catalogue Actors
- 17
- In this bundle
- 6
- Official API
- Limited
- Data checked
- 2026-11-12
Config for your client
Claude Code configterminal or .mcp.json
claude mcp add --transport http apify-tiktok "https://mcp.apify.com/?tools=fetch-actor-details,vexaloom-labs/tiktok-keyword-search-and-discovery-scraper,dataspryva/tiktok-keyword-and-brand-mention-monitor,nimbryxo-studio/tiktok-hashtag-video-feed-and-stats-extractor,vexaloom-labs/tiktok-comment-and-reply-thread-extractor,vexaloom-labs/tiktok-account-stats-and-repost-history-scraper,vexaloom-labs/tiktok-video-subtitle-and-transcript-extractor" - Run the command in your project folder. Add --scope user to make it available in every project.
- Start Claude Code, type /mcp, pick the server and sign in to Apify in the browser window.
- No browser sign-in? Add --header "Authorization: Bearer YOUR_APIFY_TOKEN" to the command instead.
Sign-in: OAuth sign-in on first use, or a token header.
Claude Desktop configclaude_desktop_config.json
{
"mcpServers": {
"apify-tiktok": {
"command": "npx",
"args": [
"-y",
"@apify/actors-mcp-server",
"--tools",
"fetch-actor-details,vexaloom-labs/tiktok-keyword-search-and-discovery-scraper,dataspryva/tiktok-keyword-and-brand-mention-monitor,nimbryxo-studio/tiktok-hashtag-video-feed-and-stats-extractor,vexaloom-labs/tiktok-comment-and-reply-thread-extractor,vexaloom-labs/tiktok-account-stats-and-repost-history-scraper,vexaloom-labs/tiktok-video-subtitle-and-transcript-extractor"
],
"env": {
"APIFY_TOKEN": "YOUR_APIFY_TOKEN"
}
}
}
} - Easiest: open Customize, then Connectors, choose Add custom connector, paste the server URL (the ChatGPT tab shows it on its own) and sign in to Apify.
- Local alternative (needs Node.js): merge this into claude_desktop_config.json (Settings, Developer, Edit config) and replace YOUR_APIFY_TOKEN.
- Restart Claude Desktop and enable the server from the tools menu in a chat.
Sign-in: Connector with OAuth, or a token in the local config.
Cursor config~/.cursor/mcp.json
{
"mcpServers": {
"apify-tiktok": {
"url": "https://mcp.apify.com/?tools=fetch-actor-details,vexaloom-labs/tiktok-keyword-search-and-discovery-scraper,dataspryva/tiktok-keyword-and-brand-mention-monitor,nimbryxo-studio/tiktok-hashtag-video-feed-and-stats-extractor,vexaloom-labs/tiktok-comment-and-reply-thread-extractor,vexaloom-labs/tiktok-account-stats-and-repost-history-scraper,vexaloom-labs/tiktok-video-subtitle-and-transcript-extractor",
"headers": {
"Authorization": "Bearer ${env:APIFY_TOKEN}"
}
}
}
} - Save as ~/.cursor/mcp.json for every project, or .cursor/mcp.json for one project. Merge with servers you already have.
- Set APIFY_TOKEN in the environment Cursor starts from, or replace ${env:APIFY_TOKEN} with your token.
- Open Cursor Settings, then MCP, and check that the server lists its tools.
Sign-in: Token read from the APIFY_TOKEN environment variable.
VS Code config.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "apify-token",
"description": "Apify API token",
"password": true
}
],
"servers": {
"apify-tiktok": {
"type": "http",
"url": "https://mcp.apify.com/?tools=fetch-actor-details,vexaloom-labs/tiktok-keyword-search-and-discovery-scraper,dataspryva/tiktok-keyword-and-brand-mention-monitor,nimbryxo-studio/tiktok-hashtag-video-feed-and-stats-extractor,vexaloom-labs/tiktok-comment-and-reply-thread-extractor,vexaloom-labs/tiktok-account-stats-and-repost-history-scraper,vexaloom-labs/tiktok-video-subtitle-and-transcript-extractor",
"headers": {
"Authorization": "Bearer ${input:apify-token}"
}
}
}
} - Save as .vscode/mcp.json in your workspace.
- Start the server from the file or the MCP servers view. VS Code asks for the token once and stores it securely.
- Use the tools from Copilot Chat in agent mode.
Sign-in: Token prompted once and stored by VS Code.
ChatGPT configPlugins > Add custom MCP server
https://mcp.apify.com/?tools=fetch-actor-details,vexaloom-labs/tiktok-keyword-search-and-discovery-scraper,dataspryva/tiktok-keyword-and-brand-mention-monitor,nimbryxo-studio/tiktok-hashtag-video-feed-and-stats-extractor,vexaloom-labs/tiktok-comment-and-reply-thread-extractor,vexaloom-labs/tiktok-account-stats-and-repost-history-scraper,vexaloom-labs/tiktok-video-subtitle-and-transcript-extractor - In ChatGPT on the web, open Plugins, select + and choose Add custom MCP server.
- Name it, paste the URL under Connection as the Server URL and choose OAuth for authentication.
- Accept the risk warning (I understand and want to continue), select Create as a plugin, then install the plugin from your plugins, sign in to Apify and use it in a new chat.
Sign-in: OAuth sign-in with your Apify account.
Codex CLI config~/.codex/config.toml
[mcp_servers.apify-tiktok]
url = "https://mcp.apify.com/?tools=fetch-actor-details,vexaloom-labs/tiktok-keyword-search-and-discovery-scraper,dataspryva/tiktok-keyword-and-brand-mention-monitor,nimbryxo-studio/tiktok-hashtag-video-feed-and-stats-extractor,vexaloom-labs/tiktok-comment-and-reply-thread-extractor,vexaloom-labs/tiktok-account-stats-and-repost-history-scraper,vexaloom-labs/tiktok-video-subtitle-and-transcript-extractor"
bearer_token_env_var = "APIFY_TOKEN" - Add the block to ~/.codex/config.toml, or .codex/config.toml in a project.
- Export APIFY_TOKEN in the shell that starts Codex. Or skip the token line and run codex mcp login to sign in.
- Start codex and type /mcp to check that the tools are listed.
Sign-in: Token read from the APIFY_TOKEN environment variable.
Gemini CLI configterminal (writes ~/.gemini/settings.json)
gemini mcp add -t http -s user -H "Authorization: Bearer $APIFY_TOKEN" apify-tiktok "https://mcp.apify.com/?tools=fetch-actor-details,vexaloom-labs/tiktok-keyword-search-and-discovery-scraper,dataspryva/tiktok-keyword-and-brand-mention-monitor,nimbryxo-studio/tiktok-hashtag-video-feed-and-stats-extractor,vexaloom-labs/tiktok-comment-and-reply-thread-extractor,vexaloom-labs/tiktok-account-stats-and-repost-history-scraper,vexaloom-labs/tiktok-video-subtitle-and-transcript-extractor" - Export APIFY_TOKEN first: the shell expands it and Gemini CLI saves the header, token included, in plain text in ~/.gemini/settings.json (keep that file private). In PowerShell write $env:APIFY_TOKEN instead of $APIFY_TOKEN. Drop -s user to save it in the project's .gemini/settings.json.
- Start gemini and type /mcp to check that the server is connected and lists its tools.
- Saved by hand, a remote server uses the httpUrl key for streamable HTTP (url means the older SSE transport).
Sign-in: Token header saved by gemini mcp add.
n8n AI Agent configMCP Client Tool node
https://mcp.apify.com/?tools=fetch-actor-details,vexaloom-labs/tiktok-keyword-search-and-discovery-scraper,dataspryva/tiktok-keyword-and-brand-mention-monitor,nimbryxo-studio/tiktok-hashtag-video-feed-and-stats-extractor,vexaloom-labs/tiktok-comment-and-reply-thread-extractor,vexaloom-labs/tiktok-account-stats-and-repost-history-scraper,vexaloom-labs/tiktok-video-subtitle-and-transcript-extractor - Add an AI Agent node, then attach an MCP Client Tool node to its tool input.
- Paste the URL as the endpoint and choose HTTP Streamable as the transport.
- Choose Bearer auth and create a credential that holds your Apify token.
Sign-in: Bearer auth credential.
Validated, not executed: 7 of 7 checks pass
- Uses Apify's hosted MCP endpoint over HTTPS
- The tools parameter lists exactly the chosen Actors as owner/name
- JSON configs parse and use the client's top-level key and the same URL
- Codex TOML has a [mcp_servers.<name>] table with url and bearer_token_env_var
- CLI commands quote the same URL and use the streamable HTTP transport
- One-click install links decode back to the same URL and carry no token
- Only placeholders, no real token
Official API or an Actor?
TikTok has an official API with limited access
TikTok offers Display APIs for authorized accounts, a Research API for approved academic researchers, and business products. There is no open general-purpose public content API.
Separate products have their own terms; general access is not sold as a self-serve per-call API.
Approval, research eligibility and rate limits apply.
Public content only; respect TikTok's terms and local privacy rules; not legal advice.
Which Actor for which job
- TikTok Keyword Search & Discovery Scraper fits finding videos by keyword or phrase, with optional discovery expansion; its output includes
queryandplayCount. - TikTok Verified Mention Tracker fits finding posts that tag or mention tracked accounts; its output includes
targetUsernameandmentionType. - TikTok Comment & Reply Thread Extractor fits collecting comments and replies with thread context; its output includes
textandisReply. - TikTok Explore Feed Trending Post Scraper fits examining trending Explore posts across content categories; its output includes
marketRegionandcategoryName. - TikTok Video, Audio & Cover Downloader fits retrieving available video, audio, cover and slideshow assets while recording unavailable inputs; its output includes
assetTypeandstatus. - TikTok Account Stats & Repost History Scraper fits reviewing account statistics, videos, reposts and playlists; its output includes
rowTypeandfollowerCount. - TikTok Anonymous For You Feed Snapshot Scraper fits recording posts shown in an anonymous feed; its output includes
rankandobservedRegion. Include this Actor in the MCP tool list to make it available. - TikTok Follow Graph & Audience Export Scraper fits exporting follower or following account records; its output includes
sourceUsernameandlistType. Include this Actor in the MCP tool list to make it available.
Where it stops
An anonymous feed snapshot does not represent your personalized For You feed. Private, unavailable, region-blocked or age-gated media may produce status records instead of downloadable assets. Authenticate token-based configurations with your own Apify API token; this does not grant TikTok account access through OAuth, and Recipe for Agents has not authenticated with either service for you. TikTok's Display APIs serve authorized accounts, while its Research API requires academic approval; there is no open general-purpose public content API.
Every TikTok Actor in the catalogue
| Actor | Returns | Fields | Store price | Last update |
|---|---|---|---|---|
| TikTok Keyword Search & Discovery Scraper | Search TikTok by keyword or phrase and get matching videos with engagement stats, author profiles, music metadata, hashtags, and location… Fields include postId, searchType, caption. | 13 | $0.99 per 1,000 results | 2026-11-05 |
| TikTok Verified Mention Tracker | TikTok posts that tag or @mention the tracked accounts: mention type, matching tag, caption, post date, views, likes, comments, shares… Fields include targetUsername, mentionType, postUrl. | 12 | $0.99 per 1,000 results | 2026-11-09 |
| TikTok Comment & Reply Thread Extractor | One record per TikTok comment or reply, with text, like/reply counts, pinned/hearted flags, reply-thread links, and commenter details. Fields include rowType, commentId, postId. | 14 | $0.99 per 1,000 results | 2026-10-18 |
| TikTok Explore Feed Trending Post Scraper | Collect trending posts from TikTok's Explore feed across one or more content categories, with engagement stats, author snapshot, sound and… Fields include marketRegion, categoryName, categoryId. | 18 | $0.99 per 1,000 results | 2026-11-01 |
| TikTok Video, Audio & Cover Downloader | One dataset row per asset (video clean/watermarked, audio, cover, slideshow frame, metadata) plus explicit status rows for unavailable… Fields include postId, postUrl, assetType. | 12 | $0.99 per 1,000 results | 2026-10-25 |
| TikTok Account Stats & Repost History Scraper | Account rows with exact stats and live status, video and repost rows with engagement metrics and media metadata, and playlist rows for the… Fields include rowType, username, displayName. | 7 | $0.99 per 1,000 results | 2026-10-17 |
| TikTok Anonymous For You Feed Snapshot Scraper | Posts captured from the anonymous TikTok For You feed, with rank, engagement metrics, author, music, video, subtitles, POI, and category… Fields include postId, postUrl, caption. | 10 | $0.99 per 1,000 results | 2026-11-05 |
| TikTok Follow Graph & Audience Export Scraper | One record per TikTok follower or following account, with profile identity, exact audience stats, source context, and optional bio email. Fields include sourceUsername, listType, userId. | 17 | $0.99 per 1,000 results | 2026-11-05 |
| TikTok Hashtag Momentum & Top Creator Tracker | Trending-hashtag rows with ranks, post and view counts, popularity curves, momentum signals and top creators; optional creator-leader… Fields include rowType, rankIndex, hashtagName. | 13 | $0.99 per 1,000 results | 2026-10-19 |
| TikTok LIVE Room Status & Chat Capture Tool | One row per creator (live status, room metadata, playback URLs, host and audience stats) or one row per real-time LIVE event (chat, gift… Fields include isLive, hostUsername, liveTitle. | 14 | $0.99 per 1,000 results | 2026-11-10 |
| TikTok Sound Lookup: Metadata & Videos Using It | Sound metadata rows (rowType=music), videos using each sound (rowType=post), and optional error rows (rowType=error), joined by… Fields include rowType, musicTitle, authorName. | 17 | $0.99 per 1,000 results | 2026-10-31 |
| TikTok Top Ads Leaderboard - 122 Markets & Metrics | Top-performing TikTok ads from the Creative Center. Each row includes the ad ID, title, brand, CTR, likes, cost tier, industry and… Fields include adId, adTitle, brandName. | 12 | $0.99 per 1,000 results | 2026-11-05 |
| TikTok Video Subtitle & Transcript Extractor | One row per video language with timestamped caption segments, full transcript, source flags, available languages and optional VTT/SRT. Fields include username, languageCode, segmentCount. | 11 | $0.99 per 1,000 results | 2026-10-22 |
| TikTok Hashtag Video Feed & Stats Extractor | Aggregate hashtag stats rows (video/view totals, source, region) and video rows (caption, author, music, engagement, provenance). Use the… Fields include searchedHashtag, hashtagName, videoCount. | 16 | $0.99 per 1,000 results | 2026-10-25 |
| TikTok Keyword & Brand Mention Monitor | One row per public TikTok post matched to a keyword, hashtag, handle, photo search, related search or explicit sound, with match evidence… Fields include postId, mentionInCaption, caption. | 24 | $0.99 per 1,000 results | 2026-11-01 |
| TikTok Playlist Discovery & Video Order Scraper | Playlist and collection metadata rows, ordered video rows with engagement and media fields, and visible status rows. Fields include rowType, playlistType, playlistId. | 17 | $0.99 per 1,000 results | 2026-11-03 |
| TikTok Post & Slideshow Detail Scraper | Post rows with engagement stats, author snapshot, music, media, hashtags/mentions; comment rows with replies; and explicit status rows for… Fields include postId, postUrl, postType. | 23 | $0.99 per 1,000 results | 2026-10-26 |
Call these Actors from code: the TikTok data API page
Store links: tiktok-keyword-search-and-discovery-scraper, tiktok-profile-mention-scraper, tiktok-comment-and-reply-thread-extractor, tiktok-explore-feed-trending-post-scraper, tiktok-video-audio-and-cover-downloader, tiktok-account-stats-and-repost-history-scraper, tiktok-anonymous-for-you-feed-snapshot-scraper, tiktok-follow-graph-and-audience-export-scraper, tiktok-hashtag-momentum-and-top-creator-tracker, tiktok-live-room-status-and-chat-capture-tool, tiktok-sound-lookup-metadata-and-videos-using-it, tiktok-top-ads-leaderboard-by-country, tiktok-video-subtitle-and-transcript-extractor, tiktok-hashtag-video-feed-and-stats-extractor, tiktok-keyword-and-brand-mention-monitor, tiktok-playlist-discovery-and-video-order-scraper, tiktok-post-and-slideshow-detail-scraper
TikTok recipes for n8n
TikTok hashtag trends to Google Sheets
Log the view and video counts of the TikTok hashtags you follow in a Google Sheet every day, so you can…
TikTokGoogle SheetsTikTok brand mentions to Notion
File new TikTok posts that mention your brand in a Notion database for review, with plays, likes and the…
TikTokNotion
Troubleshooting
Why does the client say Unauthorized or invalid token?
Every Apify Actor tool needs a signed-in Apify account. Reconnect the server so the OAuth sign-in runs again, or switch to the token variant: an Authorization: Bearer header with an API token from Apify Console, Settings, API and integrations. For a local server the token must be in the server's own env block, not only in your shell.
Source: Apify MCP server README
Why did my agent's tool list change after an update?
Without a tools parameter Apify's server loads its default tool set, which changes between releases. The URLs on this site pin the tools with ?tools=, so the agent always gets the same Actor tool plus fetch-actor-details. Apify's README gives the same advice for production.
Source: Apify MCP server README
What happens when the agent sends input the Actor rejects?
The server answers with the Actor's input schema, so the agent can fix the arguments and call again. The fetch-actor-details tool in every scoped URL lets it read that schema before the first call.
Source: Apify MCP server README
Claude Code shows Needs authentication. Why?
The server is added but not signed in. Type /mcp in an interactive session and authenticate, or run claude mcp login with the server name. Headless runs with claude -p cannot complete OAuth, so sign in once interactively or use the --header token variant.
Source: Claude Code MCP documentation
Claude Code warns that a tool result is too large. What can I change?
Claude Code warns above 10,000 tokens of tool output and caps it at 25,000 by default (MAX_MCP_OUTPUT_TOKENS raises it). Ask the agent for fewer results per call, for example a lower result limit for the Actor.
Source: Claude Code MCP documentation
Cursor does not show the server's tools. What should I check?
Open the Output panel and pick MCP Logs to see the connection error. A deeplink install that does nothing usually means an older Cursor build; update it or paste the JSON into mcp.json by hand.
Source: Cursor MCP documentation
Questions
How can I search TikTok from Claude?
Connect Claude to Apify using the TikTok MCP configuration and authenticate your Apify account. Ask for TikTok Keyword Search & Discovery Scraper when you want matching videos with engagement and author context.
Do I need to sign into TikTok for this connection?
The MCP configuration authenticates access to Apify rather than establishing a TikTok OAuth session. Recipe for Agents has not logged into either account for you, and the connection does not grant access to private TikTok content.
Can my agent download TikTok audio and covers?
TikTok Video, Audio & Cover Downloader covers audio, covers, videos and slideshow assets. Its results can report unavailable or restricted inputs instead of returning an asset.
Can Claude collect my personalized For You feed?
TikTok Anonymous For You Feed Snapshot Scraper captures an anonymous feed rather than your signed-in recommendations. That Actor also needs to be added to the MCP tool list before Claude can use it.
Sources
- Apify MCP server documentation, checked 2026-11-10
- TikTok APIs documentation, checked 2026-11-09
- TikTok terms