Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Captapi

REMOTE · API.CAPTAPI.COM · 2 COMPONENTS

Public social media data: profiles, posts, comments, transcripts and ad libraries, 30+ platforms.

0 this week 88 Trust /100

Last scanned (10 minutes ago)

Scores higher than 96% of remote servers

Unreachable for 1 day in a row. Last reached 4 Nov 2026.

Category News and Social

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security11
Transport & Reachability0
Schema Quality & AI Usability0
  • Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.Unverified
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
  • Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Tool Safety0
  • Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Capabilities0
  • Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified

Unverified: 5 categories

Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 0
    • Endpoint reachability: reachable → unreachable ▼ security
    • Stability: fail → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • HSTS header: fail → unverified ▼ security
    • Authorization: pass → unverified ▼ security
    • TLS certificate: pass → unverified ▼ security
    • Transport: pass → fail ▼ security
    • Capabilities: fail → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • First check of Schema quality: unverified functional
  • 31 Oct 26 0
    • Tool “facebook_ad_library_company_ads” rewrote its description, which is the text the model reads security
    • “facebook_ad_library_company_ads” added an optional parameter “start_date” cosmetic
    • “facebook_ad_library_company_ads” added an optional parameter “sort_by” cosmetic
    • “facebook_ad_library_company_ads” added an optional parameter “end_date” cosmetic
    • “rumble_channel_videos” reworded the description of “url” cosmetic
    • “facebook_ad_library_search” reworded the description of “end_date” cosmetic
    • “facebook_ad_library_search” reworded the description of “start_date” cosmetic
  • 29 Oct 26 +13
    • Authorization: unverified → pass ▲ security
    • First check of Authorization: partial security
    • The server rewrote its instructions, which are the text every model session reads security
  • 26 Oct 26 0
    • Tool “pinterest_search” rewrote its description, which is the text the model reads security
    • “pinterest_search” reworded the description of “cursor” cosmetic
    • “pinterest_search” reworded the description of “limit” cosmetic
  • 25 Oct 26 0
    • Tool “threads_post_details” rewrote its description, which is the text the model reads security
    • Tool “kick_clip” rewrote its description, which is the text the model reads security
    • Tool “threads_profile” rewrote its description, which is the text the model reads security
    • “kick_clip” reworded the description of “limit” cosmetic
    • “threads_user_posts” reworded the description of “limit” cosmetic
  • 23 Oct 26 0
    • “facebook_marketplace_search” reworded the description of “cursor” cosmetic
    • “google_maps_business_search” reworded the description of “limit” cosmetic
    • “facebook_marketplace_search” reworded the description of “details” cosmetic

    3 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.

  • 20 Oct 26 0
    • Tool “tiktok_channel_posts” rewrote its description, which is the text the model reads security
    • Tool “threads_user_posts” rewrote its description, which is the text the model reads security
    • Tool “linkedin_ad_library_search_ads” rewrote its description, which is the text the model reads security
    • Tool “youtube_comments” rewrote its description, which is the text the model reads security
    • Tool “youtube_search” rewrote its description, which is the text the model reads security
    • “tiktok_popular_creators” reworded the description of “follower_count” cosmetic
    • “tiktok_channel_posts” reworded the description of “limit” cosmetic
    • “youtube_search” reworded the description of “sortBy” cosmetic
    • “tiktok_search_users” reworded the description of “fallback” cosmetic
    • “tiktok_search_by_hashtag” reworded the description of “region” cosmetic
  • 19 Oct 26 0
    • Tool “linkedin_company” rewrote its description, which is the text the model reads security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://api.captapi.com/mcp

TLS unreached
DNSSEC insecure

Validation of api.captapi.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
captapi.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Inconclusive

We could not reach the endpoint well enough to judge its authorisation posture.

Result Inconclusive

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.captapi.com/mcp Unreachable
http (plaintext) http://api.captapi.com/mcp HTTPS enforced
MCP tools · 178 exposed · ~37,314 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
spotify_artist ~191

Spotify artist — followers, monthlyListeners, worldRank, topCities, topTracks with playCount, concerts, and related artists (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
rawboolean–Include the upstream GraphQL payload as data.raw. Default false — omit unless you need fields not in the normalized shape (~80% of the old response body).
urlstringyesSpotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to R…

No output schema declared.

No examples provided.

spotify_podcast ~121

Spotify podcast show — publisher, rating, topics, explicit flag, and totalEpisodes as clean JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
urlstringyesSpotify show/podcast URL, URI, or ID (e.g. https://open.spotify.com/show/…). Not an artist URL.

No output schema declared.

No examples provided.

spotify_podcast_episodes ~212

Podcast episode archive — previewUrl, releaseDate, explicit, cursor pagination (flat 2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
cursorstring–Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.
limitinteger–Max items to return (default 20, max 50). Flat 2 credits per call.
rawboolean–Include slimmed per-episode upstream payload as episodes[].raw. Default false. visualIdentity / playedState / podcastV2 are never included.
urlstringyesSpotify show/podcast URL, URI, or ID (e.g. https://open.spotify.com/show/…). Not an artist URL.

No output schema declared.

No examples provided.

spotify_search ~179

Search Spotify — canonical spotify: URIs, explicit, fetchedAt (flat 2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
limitinteger–Max items to return (default 20, max 50). Flat 2 credits per call.
qstringyesSearch term (min 2 chars).
rawboolean–Include per-result upstream payload as results[].raw. Default false. Pathfinder GraphQL vs fallback-path shapes differ — see FAQ.
typestring–Result kind: tracks (default), albums, artists, podcasts, or episodes.

No output schema declared.

No examples provided.

spotify_track ~172

Spotify track — playCount, joinable artists[]/album{}, explicit, releaseDate (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
rawboolean–Include the upstream GraphQL payload as data.raw. Default false — getTrack embeds bulky artist discography.
urlstringyesSpotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to R…

No output schema declared.

No examples provided.

threads_post_details ~158

Threads post — engagement (views when exposed), comments[], suggestedPosts[], threadId/isReply. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
urlstringyesThreads post URL, e.g. https://threads.net/@user/post/CODE. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, Linke…

No output schema declared.

No examples provided.

threads_profile ~165

Threads profile — displayName, isPrivate, bioLinks (Meta verified), isThreadsOnlyUser, transparencyLabel, bioFragments, HD avatars (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
urlstringyesThreads profile URL or @handle, e.g. https://threads.net/@username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Faceboo…

No output schema declared.

No examples provided.

threads_search ~192

Threads keyword search — posts with engagement + media. orderBy relevant | post_dated | engagement. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
limitinteger–Max items to return (default 25, max 200). Flat 2 credits per call.
orderBystring–Sort the fetched page: relevant (default, Meta Top / similar to query), post_dated (newest publishedAt first), or engagement (likes+replies+reposts+quotes+views). Unknown values are 400.
qstringyesKeyword or phrase to search public Threads posts (min 2 characters).

No output schema declared.

No examples provided.

threads_search_users ~133

Threads user discovery from keyword search — id, handle, avatar, verified. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
limitinteger–Max items to return (default 20, max 100). Flat 1 credit per call.
qstringyesKeyword to find Threads users / creators (min 2 characters).

No output schema declared.

No examples provided.

threads_user_posts ~209

Recent Threads posts — engagement{views,likes,replies,reposts,quotes}, threadId/isReply. Flat 2 credits. source + timings. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
limitinteger–Max items to return (default 20, max 100). Threads exposes only a short window of recent public posts on this surface. limit caps what you receive; it cannot increase what Threads returns. Flat 2 cre…
urlstringyesThreads profile URL or @handle. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pintere…

No output schema declared.

No examples provided.

tiktok_ad_library_ad_details ~248

One TikTok Commercial Content Library ad by ID — calendar-day dates, always 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
countrystring–Two-letter ISO country code. Default GB. Only EU/EEA + UK + CH are covered by TikTok's library; other codes return 400 UNSUPPORTED_REGION.
urlstringyesTikTok Ad Library URL or numeric ad ID. Inputs with no extractable numeric ID are a definitive 400. An ID TikTok's library positively reports as nonexistent is a definitive 404 AD_NOT_FOUND (ads outs…

No output schema declared.

No examples provided.

tiktok_ad_library_search ~302

Search TikTok Commercial Content Library — relevance-filtered, uniform null schema (2 credits native, 5 via fallback). Costs 2 credits (5 via fallback path). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
countrystring–Two-letter ISO country code (e.g. GB, DE, FR). Default GB. TikTok's Commercial Content Library only covers the EU/EEA, the UK and Switzerland (32 countries) — other codes (US, SA, …) return 400 UNSUP…
limitinteger–Max items to return (default 20, max 200). Does not change the price: 2 credits native, 5 via the fallback path, 0 when empty.
matchstring–Keyword token mode: "any" (default, OR whole-word) or "all" (AND). hair ≠ wheelchair. Literal hits lead; already-fetched SERP ads fill behind them up to limit (matchedFrom [] = ranked fill). Empty re…
qstringyesKeyword or advertiser to search TikTok Commercial Content Library (min 2 characters).

No output schema declared.

No examples provided.

tiktok_ad_library_top_ads ~511

TikTok Creative Center Top Ads — one ~20-row leaderboard page, not a library search (flat 2; ~1/ad on the fallback path). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
adFormatstring–Optional format filter: spark or non_spark. Served only by the extended fetcher — while it is disabled, adFormat returns 503 filter_unavailable (retryable false, not billed). Omit adFormat for the na…
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
countrystring–Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY (Creative Center used to quietly return an empty leaderboard for them).
industrystring–Optional industry key or label from Creative Center.
limitinteger–Max items to return (default 20, max 20). One Creative Center leaderboard page is ~20 rows; limit only trims that pool — it cannot scan more candidates. Flat 2 credits on the native path; the fallbac…
matchstring–Keyword token mode: "any" (default, OR) or "all" (AND). Zero whole-word hits still return TikTok's keyword-ranked page as matchBasis=ranked (literalMatches=0).
objectivestring–Optional campaign objective (e.g. Traffic, Conversion, Reach).
orderBystring–Sort: for_you, likes, ctr, impressions, or cost. Default for_you.
periodinteger–Lookback window in days: 7, 30, or 180. Default 30.
qstring–Optional keyword that ranks the one ~20-row leaderboard page — not a library search. Case-insensitive whole-word hits on title/brandName/industry/objective (hair ≠ wheelchair) come first; the rest of…

No output schema declared.

No examples provided.

tiktok_audience_demographics ~240

Audience country + language mix for a TikTok creator — engagement sample, not a follower census. Costs 3 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
countriesLimitinteger–Max countries in audienceLocations; remainder folds into other{count,percentage}. Omit for the full list (other is omitted when unused).
urlstringyesTikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. You…
videosinteger–How many recent videos to sample comments from: 12 (default, 3 credits), 30 (5 credits), or 60 (8 credits).

No output schema declared.

No examples provided.

tiktok_channel_details ~269

Resolve a TikTok @handle to id + secUid — createTime, ttSeller, bioLink, decoded privacy flags. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.
cacheMaxAgestring–Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.
rawboolean–Set true to include TikTok's upstream user/statsV2 blob under raw, plus createTimeUnix (unix twin of createTime). Default false — curated fields only.
urlstringyesTikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. You…

No output schema declared.

No examples provided.

tiktok_channel_posts ~267

Latest videos from a TikTok profile, cursor-paginated. Flat 2 credits; failures are 0 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
cursorstring–Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (TikTok's max_cursor timestamp, e.g. 1783614676000). A null nextCursor means the en…
limitinteger–How many of the creator's latest videos to return on this page (default 20, max 200). Newest first. Flat 2 credits per successful call.
urlstringyesTikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. You…

No output schema declared.

No examples provided.

tiktok_comment_replies ~264

Replies under a TikTok comment — same authorId/authorSecUid/commentLanguage shape as comments. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
commentIdstringyesID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id.
cursorstring–Pagination cursor. Leave empty for the first page; then pass the nextCursor value from the previous response.
limitinteger–Max items to return (default 50, max 500). Flat 2 credits per call.
urlstringyesPublic TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cro…

No output schema declared.

No examples provided.

tiktok_comments ~268

TikTok comments — clean schema plus authorName, stable authorId/authorSecUid and commentLanguage for listening loops. Unresolvable videos are 404 at 0 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
cursorstring–Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (a numeric offset, e.g. 50). A null nextCursor means the end of the comments.
limitinteger–Max items to return (default 50, max 500). Flat 2 credits per call.
urlstringyesPublic TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cro…

No output schema declared.

No examples provided.

tiktok_live ~191

Check whether a TikTok creator is live right now and get the stream URLs (CMAF/DASH + FLV, HLS when TikTok exposes it) — one GET with an @handle, 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
urlstringyesTikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. You…

No output schema declared.

No examples provided.

tiktok_live_info ~170

Identical to TikTok Live (isLive, creator.id/secUid, streamQualities hls/cmaf). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
urlstringyesTikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. You…

No output schema declared.

No examples provided.

tiktok_music_posts ~262

List TikTok videos that use a specific sound — caption, author, exact engagement, canonical hashtags, and mentions, with cursor pagination. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
cursorstring–Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. hasMore is true only when nextCursor is present.
limitinteger–Most videos to return (default 20, 1–50; outside that range is a 400). TikTok serves this feed in short pages, so a call can return fewer than limit with a nextCursor to continue. Flat 2 credits per…
urlstringyesTikTok music/sound URL, e.g. https://tiktok.com/music/name-ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, Li…

No output schema declared.

No examples provided.

tiktok_popular_creators ~257

Creative Center creators + createTime / bioLinkRisk / ttSeller hydrate for partnership vetting. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.
cacheMaxAgestring–Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.
countrystring–Two-letter ISO country code. Default US.
follower_countstring–Optional range on the For You ranking: 10k-100k, 100k-1m, 1m-10m, >10m.
limitinteger–Max items to return (default 20, max 100). Flat 2 credits per call.
pageinteger–Creative Center page (default 1).
sortstring–follower, engagement, or popularity. Default follower.

No output schema declared.

No examples provided.

tiktok_popular_hashtags ~324

Related TikTok hashtags — Creative Center chart when it answers, otherwise a disclosed niche fallback. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
countrystring–Two-letter ISO country for the Creative Center chart. Default US.
industryIdstring–Optional Creative Center industry_id.
limitinteger–Max items to return (default 20, max 100). Flat 2 credits per call.
newOnBoardboolean–Only hashtags newly on the Top 100.
pageinteger–Creative Center page (default 1).
periodinteger–Lookback days: 7, 30, or 120 (180→120). Default 7.
querystring–Optional niche seed for co-occurrence + challenge/detail enrich. Omit, or pass trending, to try the Creative Center chart (10s cap); a miss falls through to related tags for fyp (source=niche_fallbac…
sortBystring–Chart sort: popular (default).

No output schema declared.

No examples provided.

tiktok_profile_region ~266

Find out where a TikTok creator is likely based and what language they use — country, language, stable ids, and core profile stats. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 7d response cache (0 credits on hit). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.
cacheMaxAgestring–Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.
rawboolean–Set true to include TikTok's upstream user/statsV2 blob under raw. Default false — curated fields only.
urlstringyesTikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. You…

No output schema declared.

No examples provided.

tiktok_search_by_hashtag ~246

Videos from TikTok's /tag/{name} challenge feed — not keyword or username search. Cursor + hasMore. Costs ~14 credits (0.7/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
cursorinteger–Pagination offset. Leave at 0 (or omit) for the first page; then pass the nextCursor value returned in the previous response. A null nextCursor means the end of the results.
limitinteger–Max items to return (default 20, max 100). Billed per result.
qstringyesSingle hashtag token for the /tag/{name} challenge feed, with or without # (min 2). Spaces are 400 — use /v1/tiktok/top-search for a keyword query.
regionstring–Two-letter ISO 3166-1 country code. Default US. Accepted for compatibility; does not filter results by country.

No output schema declared.

No examples provided.

tiktok_search_suggestions ~207

Get the autocomplete terms TikTok suggests in its search bar for a keyword — the real phrases people search, ranked, so you can find trending queries and long-tail keyword ideas. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
countrystring–Two-letter ISO country code that localizes the suggestions to a market, e.g. US, GB, DE. Default US.
languagestring–Interface language for the suggestions, e.g. en-US or de-DE. Default en-US.
limitinteger–Max items to return (default 20, max 100). Flat 2 credits per call.
qstringyesSeed keyword to expand into autocomplete suggestions, e.g. skincare.

No output schema declared.

No examples provided.

tiktok_search_users ~248

Search TikTok users — distinct creators only, id + secUid, per-counter isApproximate flags, cursor pagination. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
cursorstring–Pagination cursor. Omit (or pass 0) for the first page; then pass the nextCursor value from the previous response verbatim — it carries the search session, not just an offset. A null nextCursor means…
fallbackboolean–Deprecated — no effect, removed on 2026-12-17. Sending it adds an X-Captapi-Warning response header. When native search is unavailable the response is an empty degraded page (0 credits).
limitinteger–Max items to return (default 20, max 100). Flat 1 credit per call.
qstringyesSearch query matched against usernames, display names and bios (min 2 characters).

No output schema declared.

No examples provided.

tiktok_shop_product_details ~248

PDP — price (sku_min when guest min is *), sold vs stock, seller id/url, images[]. Unresolved URL is 404 at 0 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
regionstring–Two-letter market region (default US). A region= or oec_region= query on the product URL wins over this default so a BR share URL is not fetched as US. Echoed as data.region.
urlstringyesTikTok Shop product URL, e.g. https://shop.tiktok.com/view/product/1731410956394792439?region=BR or https://www.tiktok.com/shop/pdp/1731098552908944370. The URL platform must match this endpoint's pl…

No output schema declared.

No examples provided.

tiktok_shop_product_reviews ~198

TikTok Shop product reviews — star rating, text, SKU variant, verified purchase, country, and review photos. Costs ~45 credits (2.25/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
limitinteger–Max items to return (default 20, max 200). Billed per result.
urlstringyesTikTok Shop product URL, e.g. https://www.tiktok.com/shop/pdp/1731962298839634826. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Insta…

No output schema declared.

No examples provided.

tiktok_shop_products ~346

Store catalog with shopInfo (sold/followers/rating) + products priced with sold, rating, typed discount. Costs 2 credits (fallback: 2.8/product, min 2). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
limitinteger–Max items to return (default 20, max 200). 2 credits when served natively (limit ≤ 30); above 30, or when the native page misses, the fallback path bills 2.8 credits per product returned, rounded up,…
regionstring–Two-letter market region (default US). Non-US coverage depends on TikTok exposing that shop in the selected region — empty results outside the US are often a platform limit, not a Captapi bug.
urlstringyesTikTok Shop store URL with numeric shop id, e.g. https://www.tiktok.com/shop/store/goli-nutrition/7495794203056835079. A slug-only /shop/store/{name} URL is a definitive 400 — TikTok's catalog SSR is…

No output schema declared.

No examples provided.

tiktok_shop_search ~193

TikTok Shop keyword search — priced products with sold, rating/reviews, typed discount, seller id. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
limitinteger–Max items to return (default 10, max 10). Flat 2 credits per call.
qstringyesProduct search query (min 2 characters), e.g. phone case.
regionstring–Two-letter market region for the search (default US). Echoed on the response as data.region — not a creator home country. Native search is a SERP window (not TikTok's full catalog); compare requested…

No output schema declared.

No examples provided.

tiktok_shop_user_showcase ~159

Creator Shop showcase — affiliate shelf products with per-product sold, rating, typed discount, and seller name/url. Costs ~45 credits (2.25/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
limitinteger–Max items to return (default 20, max 200). Billed per result.
usernamestringyesTikTok username, @handle, or profile URL, e.g. jeffreestar or https://www.tiktok.com/@jeffreestar.

No output schema declared.

No examples provided.

tiktok_song_details ~182

TikTok sound metadata — usageCount, artists[{id,secUid,handle}], audio{bpm,loudness,beats}, commerce rights (1 credit; 2 via the fallback path). Costs 1 credit (2 via fallback path). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
urlstringyesTikTok music/sound URL, e.g. https://tiktok.com/music/name-ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, Li…

No output schema declared.

No examples provided.

tiktok_summarize ~197

Summarizer Costs 4 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
languagestring–ISO code, e.g. "tr": pins the speech language and sets the summary output language. Defaults to auto-detect + English summary.
urlstringyesPublic TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cro…

No output schema declared.

No examples provided.

tiktok_top_search ~170

TikTok Top/General search — videos and photo carousels when TikTok includes them, with contentType + images[]. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
cursorinteger–Pagination cursor. Leave 0 for the first page; then pass nextCursor from the previous response. TikTok may return duplicates across pages.
limitinteger–Max items to return (default 20, max 200). Flat 2 credits per call.
qstringyesSearch query or keywords (min 2 characters).

No output schema declared.

No examples provided.

tiktok_transcript ~187

Transcript Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Serve from the 24h shared cache when available (0 credits on hit). Default true — set false to always fetch fresh.
languagestring–Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect.
urlstringyesPublic TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cro…

No output schema declared.

No examples provided.

tiktok_trending_feed ~323

For You by default; pass orderBy/period/page for Creative Center popular videos (like/hot/comment/repost) with totalCount. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
countrystring–Two-letter ISO country (default US). For You: region-availability hint. Creative Center mode: chart market.
countryCodestring–Alias of country. Wins when both are set.
limitinteger–Max items to return (default 20, max 200). Flat 2 credits per call.
orderBystring–Creative Center sort: hot (views), like, comment, or repost. Unknown values are 400. vv/views/plays are aliases of hot — the response echoes the public name. Setting this (or period / page>1) switche…
pageinteger–Creative Center page (default 1). page>1 triggers chart mode.
periodinteger–Lookback days: 7, 30, or 120 (180→120). Triggers chart mode. Every returned publishedAt is inside this window — a For You fallthrough is filtered the same way.

No output schema declared.

No examples provided.

tiktok_user_followers ~231

List a TikTok user's followers — id, secUid, createTime, region, language, cursor pagination. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
cursorstring–Pagination cursor (TikTok minCursor). Leave empty for the first page; then pass nextCursor from the previous response.
limitinteger–Max items to return (default 50, max 500). Flat 1 credit per call.
urlstringyesTikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. You…

No output schema declared.

No examples provided.

tiktok_user_followings ~232

List who a TikTok user follows — id, secUid, createTime, region, language, cursor pagination. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
cursorstring–Pagination cursor (TikTok minCursor). Leave empty for the first page; then pass nextCursor from the previous response.
limitinteger–Max items to return (default 50, max 500). Flat 1 credit per call.
urlstringyesTikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. You…

No output schema declared.

No examples provided.

tiktok_video_details ~188

Get everything about one TikTok video from its URL — caption, view/like/comment/share/save counts, creator, sound, hashtags, and thumbnail. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
urlstringyesPublic TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cro…

No output schema declared.

No examples provided.

truth_social_post ~152

One Truth — text, links[], card, reblog/quote chain, media.meta, externalVideoId. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
urlstringyesTruth Social post URL or post ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinte…

No output schema declared.

No examples provided.

truth_social_profile ~150

Prominent public Truth Social profiles — isPrivate/bot/group, CP-F counts, avatar/banner. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
urlstringyesTruth Social profile URL or @username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or…

No output schema declared.

No examples provided.

truth_social_user_posts ~243

Recent Truths — same post mapper as /post (links, card, reblog/quote, mentions). 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
cursorstring–Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.
limitinteger–Max posts to return (default 20, max 80). Truth Social's statuses page is ~20 items — a full page returns nextCursor. On the extended path hasMore can be true with nextCursor null (truncatedReason=si…
urlstringyesTruth Social profile URL or @username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or…

No output schema declared.

No examples provided.

twitch_clip ~215

Twitch clip — curator vs channel, signedVideoUrl, unwrapped token, relatedClips (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.
cacheMaxAgestring–Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.
urlstringyesTwitch clip URL (clips.twitch.tv/<slug> or twitch.tv/<channel>/clip/<slug>). The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram t…

No output schema declared.

No examples provided.

twitch_profile ~215

Twitch channel — handle + displayName, socials[], topClips, schedule preview, stream only when live (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.
cacheMaxAgestring–Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.
urlstringyesTwitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook…

No output schema declared.

No examples provided.

twitch_user_schedule ~183

Twitch channel schedule — startAt/endAt, title, game, isRecurring (0 credits when empty). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
limitinteger–Max schedule segments to return (default 50, max 100). Flat 1 credit per call.
urlstringyesTwitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook…

No output schema declared.

No examples provided.

twitch_user_videos ~304

Twitch channel VODs — lean rows, video-id cursor, filter/sort, top-level broadcaster{} (flat 2). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
cursorstring–Pagination cursor = last video id from the previous nextCursor. Leave empty for the first page. Pages the first 100 matching videos only (not a raw offset).
filterBystring–ARCHIVE | HIGHLIGHT | UPLOAD. Omit for all types — there is no default filter (unset filterBy is omitted, not null).
limitinteger–Max items to return (default 20, max 100). Flat 2 credits per call. Hard ceiling: first 100 matching videos only — deeper history is not available (windowMax=100).
sortBystring–TIME (default, newest first) or VIEWS.
urlstringyesTwitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook…

No output schema declared.

No examples provided.

twitter_community ~162

X Community metadata — ISO createdAt, flat creator handle, isNsfw + bannerImage, rules[]. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
urlstringyesX community URL (x.com/i/communities/ID) or community ID — not a tweet/status URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Insta…

No output schema declared.

No examples provided.

twitter_community_tweets ~189

Posts in an X Community — same 6-metric tweet shape as search. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
limitinteger–Max items to return (default 25, max 200). Flat 2 credits per call.
urlstringyesX community URL (x.com/i/communities/ID) or community ID — not a tweet/status URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Insta…

No output schema declared.

No examples provided.

twitter_profile ~215

X profile: verified + blue/legacy/identity, displayName, avatar/banner, tipjar→contact{}, expanded website. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

NameTypeReqDescription
cacheboolean–Set true to use the 1-hour profile cache (0 credits on hit). Default false — always fetch fresh. Prefer cacheMaxAge for 1d–30d.
cacheMaxAgestring–Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.
urlstringyesTwitter/X profile URL or @handle, e.g. https://x.com/username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, Li…

No output schema declared.

No examples provided.

Install

How do I install the Captapi MCP server?

Captapi is a hosted endpoint at https://api.captapi.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · api.captapi.com

# add to Claude Code
claude mcp add --transport http cdcstream-captapi 'https://api.captapi.com/mcp'
Common questions

What is the Captapi MCP server?

Captapi is an MCP server listed in the public MCP registry as io.github.CDCStream/captapi. Public social media data: profiles, posts, comments, transcripts and ad libraries, 30+ platforms. This page covers its hosted endpoint (https://api.captapi.com/mcp).

Is the Captapi MCP server safe to use?

Captapi scores 88 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Captapi MCP server expose?

Captapi exposes 178 tools: youtube_transcript, youtube_audio_transcript, youtube_summarize, youtube_video_details, youtube_comments, and 173 more. Their descriptions and schemas cost roughly 37,314 tokens of context every time the server is loaded.

Does the Captapi MCP server require authentication?

Its publisher declares that Captapi requires credentials, so you will need to authorise it in your MCP client. We have not been able to confirm that against the live endpoint.

Is the Captapi MCP server still maintained?

Captapi is still listed in the MCP registry, though our most recent checks did not reach this channel. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.