Skip to content

Captapi

by CDCStream · remote · local (npm) · no sign-in to list tools · v0.5.1 · published by GitHub user CDCStream

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

Final · 3Changes · 130

178 tools: 3 do something that can't be undone, 130 change things and 45 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http captapi https://api.captapi.com/mcp --header 'Authorization: <your-authorization>'

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

178 tools

Can't be undone 3Claude Code: ask
  • facebook_comment_repliesComment Replies Costs 2 credits.No findings

    Why it is in this group

    • The name "facebook_comment_replies" says "comment": a word for a change.
    • The name "facebook_comment_replies" also says "reply": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Comment Replies Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • tiktok_comment_repliesReplies under a TikTok comment — same authorId/authorSecUid/commentLanguage shape as comments.No findings

    Why it is in this group

    • The name "tiktok_comment_replies" says "comment": a word for a change.
    • The name "tiktok_comment_replies" also says "reply": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    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).
  • youtube_comment_repliesReplies under a top-level comment — parentReplyCount + cursor.No findings

    Why it is in this group

    • The name "youtube_comment_replies" says "comment": a word for a change.
    • The name "youtube_comment_replies" also says "reply": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Replies under a top-level comment — parentReplyCount + cursor. Nested reply ids return 404. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
Changes things 130Claude Code: ask
  • account_balancePlan, subscription vs top-up credits, monthly quota, and renewsAt — 0 credits.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Plan, subscription vs top-up credits, monthly quota, and renewsAt — 0 credits. Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • account_daily_usageDay-by-day credit usage for spend monitoring (0 credits).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Day-by-day credit usage for spend monitoring (0 credits). Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • account_most_used_routesRanked list of which Captapi routes your key calls most (0 credits).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Ranked list of which Captapi routes your key calls most (0 credits). Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • account_request_historyRecent API requests for your key — requestId, status, credits, cacheHit (0 credits).No findings

    Why it is in this group

    • The name "account_request_history" says "request": a word for a change.
    Description, as the server wrote it
    Recent API requests for your key — requestId, status, credits, cacheHit (0 credits). Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • amazon_shop_pageThird-party seller storefronts (/sp?seller= / /s?me=) — ASIN + canonical /dp URLs, price, badges.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Third-party seller storefronts (/sp?seller= / /s?me=) — ASIN + canonical /dp URLs, price, badges. Not influencer /shop/{handle}. Costs 1 credit per 16 products (default limit 20 = 2). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • analytics_postUnified metrics for one post, video, or reel — platform auto-detected (1 credit).No findings

    Why it is in this group

    • The name "analytics_post" says "post": a word for a change.
    Description, as the server wrote it
    Unified metrics for one post, video, or reel — platform auto-detected (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • bluesky_post_detailsPost thread via getPostThread — nested replies[], facet links/mentions/hashtags, rich author (1 credit).No findings

    Why it is in this group

    • The name "bluesky_post_details" says "post": a word for a change.
    Description, as the server wrote it
    Post thread via getPostThread — nested replies[], facet links/mentions/hashtags, rich author (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • bluesky_profileBluesky profile — handle, did, bio, counts, banner, verification{}, labels[], and associated{} (1 credit).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Bluesky profile — handle, did, bio, counts, banner, verification{}, labels[], and associated{} (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • bluesky_user_postsAuthor feed — posts and reposts (isRepost marked), quote/external/images embeds, opaque cursor.No findings

    Why it is in this group

    • The name "bluesky_user_posts" says "post": a word for a change.
    Description, as the server wrote it
    Author feed — posts and reposts (isRepost marked), quote/external/images embeds, opaque cursor. Costs ~3 credits (0.1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • facebook_ad_library_ad_detailsOne Meta ad by ID — same creative as search, plus delivery breakdowns when Meta publishes them.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    One Meta ad by ID — same creative as search, plus delivery breakdowns when Meta publishes them. 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).
  • facebook_ad_library_ad_transcriptWritten creative copy from a Meta ad — headline, body, CTA, landing URL.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Written creative copy from a Meta ad — headline, body, CTA, landing URL. Not a speech transcript. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • facebook_ad_library_company_adsAds for one Meta page — active by default, cursor through the HTML batch, same envelope as /facebook/search.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Ads for one Meta page — active by default, cursor through the HTML batch, same envelope as /facebook/search. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • facebook_commentsFacebook post comments with reactionCount, reactions.like when mixed, author.id (pfbid), and replyCount.No findings

    Why it is in this group

    • The name "facebook_comments" says "comment": a word for a change.
    Description, as the server wrote it
    Facebook post comments with reactionCount, reactions.like when mixed, author.id (pfbid), and replyCount. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • facebook_detailsFacebook post or Reel — caption, engagement, author id, video{} playback, and music when Facebook exposes them.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Facebook post or Reel — caption, engagement, author id, video{} playback, and music when Facebook exposes them. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • facebook_group_postsNewest posts from a public Facebook group — caption, author, engagement, sortBy; 1 credit per post.No findings

    Why it is in this group

    • The name "facebook_group_posts" says "post": a word for a change.
    Description, as the server wrote it
    Newest posts from a public Facebook group — caption, author, engagement, sortBy; 1 credit per post. Costs ~20 credits (1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • facebook_marketplace_itemMarketplace listing — title, priceAmount, status, seller{}, condition, coords (2 credits).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Marketplace listing — title, priceAmount, status, seller{}, condition, coords (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • facebook_page_detailsFacebook page profile — likes vs followers (distinct), talkingAbout, category, website, and public email.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Facebook page profile — likes vs followers (distinct), talkingAbout, category, website, and public email. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • facebook_profile_photosPhoto grid from a Facebook Page — full image URL plus accessibilityCaption (alt-text, not a post caption).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Photo grid from a Facebook Page — full image URL plus accessibilityCaption (alt-text, not a post caption). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • facebook_profile_postsLatest posts and Reels from a Facebook page — listingHits / timings.phase; 60s deadline, failures 0 credits.No findings

    Why it is in this group

    • The name "facebook_profile_posts" says "post": a word for a change.
    Description, as the server wrote it
    Latest posts and Reels from a Facebook page — listingHits / timings.phase; 60s deadline, failures 0 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • facebook_profile_reelsLatest Facebook page Reels — views, likes, comments, shares; newest-first without archive padding.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Latest Facebook page Reels — views, likes, comments, shares; newest-first without archive padding. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • github_activityPublic events with typed payload (Push commits/ref, PR/issue action) — 90-event ceiling.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Public events with typed payload (Push commits/ref, PR/issue action) — 90-event ceiling. Costs ~12 credits (0.4/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • github_contributionsGitHub contribution graph — sorted days[], currentStreak (today grace), longestStreak (2 credits).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    GitHub contribution graph — sorted days[], currentStreak (today grace), longestStreak (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • github_followersFollower cards {id, login, type, url, avatar} — ~0.1/row; large accounts are expensive to page fully.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Follower cards {id, login, type, url, avatar} — ~0.1/row; large accounts are expensive to page fully. Costs ~3 credits (0.1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • github_followingAccounts a user follows — same card and ~0.1/row pricing as followers.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Accounts a user follows — same card and ~0.1/row pricing as followers. Costs ~3 credits (0.1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • github_pull_requestsList repo PRs — draft, labels, author{}, head/base, opaque Link cursor (state echoed).No findings

    Why it is in this group

    • The name "github_pull_requests" says "request": a word for a change.
    Description, as the server wrote it
    List repo PRs — draft, labels, author{}, head/base, opaque Link cursor (state echoed). Costs ~12 credits (0.4/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • github_repositoryGitHub repo — stars, real watchers (subscribers), openIssuesAndPrs, license, parent when fork (1 credit).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    GitHub repo — stars, real watchers (subscribers), openIssuesAndPrs, license, parent when fork (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • github_userGitHub public profile — login, type User|Organization, email when public, followers (1 credit).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    GitHub public profile — login, type User|Organization, email when public, followers (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • google_ad_library_ad_detailsGoogle publishes spend and impression ranges only for election ads; commercial advertisers omit both.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Google publishes spend and impression ranges only for election ads; commercial advertisers omit both. isActive is true when lastShown is within 7 UTC days. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • google_ad_library_company_adsGoogle publishes spend and impression ranges only for election ads; commercial advertisers omit both.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Google publishes spend and impression ranges only for election ads; commercial advertisers omit both. isActive is true when lastShown is within 7 UTC days. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • instagram_basic_profileInstagram profile by user ID or @handle — camelCase schema aligned with Channel Details (followers, externalUrl, businessAddress).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Instagram profile by user ID or @handle — camelCase schema aligned with Channel Details (followers, externalUrl, businessAddress). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • instagram_channel_detailsInstagram profile stats — fixed key set (null fillers), fbid, bioLinks, isBusinessAccount, approx flags.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Instagram profile stats — fixed key set (null fillers), fbid, bioLinks, isBusinessAccount, approx flags. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • instagram_channel_postsLatest posts from a public Instagram profile — carousel children[], mediaCount, user{} in one call.No findings

    Why it is in this group

    • The name "instagram_channel_posts" says "post": a word for a change.
    Description, as the server wrote it
    Latest posts from a public Instagram profile — carousel children[], mediaCount, user{} in one call. Costs ~6 credits (0.3/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • instagram_channel_reelsLatest Reels from a public Instagram profile — pass userId to skip resolve; ceil(n×0.3) credits; nextCursor + hasMore.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Latest Reels from a public Instagram profile — pass userId to skip resolve; ceil(n×0.3) credits; nextCursor + hasMore. Costs ~6 credits (0.3/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • instagram_commentsSession-paged Instagram comments — a logged-out 2-row preview of a larger thread is 503 SESSION_UNAVAILABLE at 0 credits.No findings

    Why it is in this group

    • The name "instagram_comments" says "comment": a word for a change.
    Description, as the server wrote it
    Session-paged Instagram comments — a logged-out 2-row preview of a larger thread is 503 SESSION_UNAVAILABLE at 0 credits. Costs ~45 credits (0.9/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • instagram_embedClassic Instagram embed snippet — blockquote.instagram-media + embed.js.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Classic Instagram embed snippet — blockquote.instagram-media + embed.js. Drop html into your page. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • instagram_highlightsPersistent Story Highlight albums for a public profile — id, title, cover, owner.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Persistent Story Highlight albums for a public profile — id, title, cover, owner. 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).
  • instagram_highlights_detailsItems inside one Instagram Story Highlight album — media URLs, type, takenAt.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Items inside one Instagram Story Highlight album — media URLs, type, takenAt. 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).
  • instagram_reels_by_audio_idIs this Instagram sound trending?No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Is this Instagram sound trending? Reels that use it + isTrendingInClips / trendRank / rich music{}. Costs ~28 credits (1.4/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • instagram_tagged_postsPosts that tag an Instagram account — author verified/avatar when available, staleFeed when Instagram only exposes an archive.No findings

    Why it is in this group

    • The name "instagram_tagged_posts" says "post": a word for a change.
    Description, as the server wrote it
    Posts that tag an Instagram account — author verified/avatar when available, staleFeed when Instagram only exposes an archive. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • instagram_transcriptTurn any Instagram Reel's speech into text — the full transcript plus timestamped segments, ready for search, subtitles, or AI pipelines.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Turn any Instagram Reel's speech into text — the full transcript plus timestamped segments, ready for search, subtitles, or AI pipelines. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • komi_pageKomi link-in-bio → identity, socials{} (incl.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Komi link-in-bio → identity, socials{} (incl. website), content LINK/PRODUCT rows with price/currency. 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).
  • kwai_postSingle Kwai video — caption ("" when none), hashtags[], author, mp4 (2 credits).No findings

    Why it is in this group

    • The name "kwai_post" says "post": a word for a change.
    Description, as the server wrote it
    Single Kwai video — caption ("" when none), hashtags[], author, mp4 (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • kwai_user_postsKwai profile posts — caption ("" when none), engagement, mp4 + transcript (~1 credit/post).No findings

    Why it is in this group

    • The name "kwai_user_posts" says "post": a word for a change.
    Description, as the server wrote it
    Kwai profile posts — caption ("" when none), engagement, mp4 + transcript (~1 credit/post). Costs ~20 credits (1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • linkbio_pagelnk.bio → id, socials{}, titled links[], website/email/whatsapp, other[].No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    lnk.bio → id, socials{}, titled links[], website/email/whatsapp, other[]. 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).
  • linkedin_ad_library_ad_detailsOne LinkedIn Ad Library ad by ID.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    One LinkedIn Ad Library ad by ID. LinkedIn withholds Ran-from / impressions / targeting on most creatives — those keys are omitted, not 404. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • linkedin_companyCompany page for B2B intel — specialties, similarPages, employeeCount, founded, slogan, cover.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Company page for B2B intel — specialties, similarPages, employeeCount, founded, slogan, cover. 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).
  • linkedin_company_postsThe recent posts a company page shows logged-out visitors (about 10), with engagement{likes,comments}.No findings

    Why it is in this group

    • The name "linkedin_company_posts" says "post": a word for a change.
    Description, as the server wrote it
    The recent posts a company page shows logged-out visitors (about 10), with engagement{likes,comments}. 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).
  • linkedin_post_detailsGet a LinkedIn post — text, author, reactions, and comments count as structured JSON.No findings

    Why it is in this group

    • The name "linkedin_post_details" says "post": a word for a change.
    Description, as the server wrote it
    Get a LinkedIn post — text, author, reactions, and comments count as structured JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • linkedin_post_transcriptLinkedIn post text as a transcript — paragraph segments, timingSource none.No findings

    Why it is in this group

    • The name "linkedin_post_transcript" says "post": a word for a change.
    Description, as the server wrote it
    LinkedIn post text as a transcript — paragraph segments, timingSource none. 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).
  • linkedin_profilePublic LinkedIn person profile — what a logged-out visitor sees: name, headline, location, about.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Public LinkedIn person profile — what a logged-out visitor sees: name, headline, location, about. 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).
  • linkme_profileLinkme profile → bio, profileVisitCount, featured links, webLinks, email/infoLinks, stripeStatus.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Linkme profile → bio, profileVisitCount, featured links, webLinks, email/infoLinks, stripeStatus. 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).
  • linktree_pageLink-in-bio → creator graph: typed links, socialAccounts{} that feed TikTok/Instagram/Spotify/SoundCloud, email, verticals.No findings

    Why it is in this group

    • The description's first verb is "link": a word for a change.
    Description, as the server wrote it
    Link-in-bio → creator graph: typed links, socialAccounts{} that feed TikTok/Instagram/Spotify/SoundCloud, email, verticals. 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).
  • pillar_pagePillar link-in-bio → identity, socials{}, links[] with per-link clicks, products[].No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Pillar link-in-bio → identity, socials{}, links[] with per-link clicks, products[]. 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).
  • pinterest_boardPins on a Pinterest board — saves, imageOriginal, destinationUrl, top-level author.No findings

    Why it is in this group

    • The description's first verb is "pin": a word for a change.
    Description, as the server wrote it
    Pins on a Pinterest board — saves, imageOriginal, destinationUrl, top-level author. ~0.5 credits/pin. Costs ~13 credits (0.5/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • pinterest_pin_detailsGet a Pinterest pin — title, description, link, board, origin creator, and engagement as structured JSON.No findings

    Why it is in this group

    • The name "pinterest_pin_details" says "pin": a word for a change.
    Description, as the server wrote it
    Get a Pinterest pin — title, description, link, board, origin creator, and engagement as structured JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • pinterest_user_boardsBoards on a Pinterest profile — pinCount, coverImage (474x), privacy, sections.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Boards on a Pinterest profile — pinCount, coverImage (474x), privacy, sections. Board followers when scoped. Costs ~13 credits (0.5/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • pinterest_user_pinsPins from a Pinterest profile — offset cursor, pidgets window ~100.No findings

    Why it is in this group

    • The name "pinterest_user_pins" says "pin": a word for a change.
    Description, as the server wrote it
    Pins from a Pinterest profile — offset cursor, pidgets window ~100. Costs ~13 credits (0.5/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • reddit_post_commentsFlat Reddit comment threads with depth/parentId and the parent post in one call.No findings

    Why it is in this group

    • The name "reddit_post_comments" says "post": a word for a change.
    Description, as the server wrote it
    Flat Reddit comment threads with depth/parentId and the parent post in one call. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • reddit_post_detailsGet a Reddit post — title, body, score, comments count, subreddit, and author as structured JSON.No findings

    Why it is in this group

    • The name "reddit_post_details" says "post": a word for a change.
    Description, as the server wrote it
    Get a Reddit post — title, body, score, comments count, subreddit, and author as structured JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • reddit_post_transcriptWritten post text — title, body and top comments.No findings

    Why it is in this group

    • The name "reddit_post_transcript" says "post": a word for a change.
    Description, as the server wrote it
    Written post text — title, body and top comments. Not a speech transcript. 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).
  • reddit_subreddit_detailsSubreddit card — id (t5_…), weekly visitors and contributions, rules[], ISO createdAt.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Subreddit card — id (t5_…), weekly visitors and contributions, rules[], ISO createdAt. 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).
  • reddit_subreddit_postsList posts from a subreddit with sort, timeframe, and cursor pagination — title, score, upvote ratio, flair, and more.No findings

    Why it is in this group

    • The name "reddit_subreddit_posts" says "post": a word for a change.
    Description, as the server wrote it
    List posts from a subreddit with sort, timeframe, and cursor pagination — title, score, upvote ratio, flair, and more. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • rumble_channel_videosRumble channel uploads — lean streams[{url,type}]; call video-details for rendition meta.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Rumble channel uploads — lean streams[{url,type}]; call video-details for rendition meta. Costs ~12 credits (0.6/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • rumble_commentsRumble top-level comments — publishedAt ISO-8601 UTC from title= on the comment time link.No findings

    Why it is in this group

    • The name "rumble_comments" says "comment": a word for a change.
    Description, as the server wrote it
    Rumble top-level comments — publishedAt ISO-8601 UTC from title= on the comment time link. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • rumble_video_detailsRumble video metadata — uniform streams[] with rendition meta, captions[], audioStreams.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Rumble video metadata — uniform streams[] with rendition meta, captions[], audioStreams. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • rumble_video_transcriptRumble published captions as timed segments — parses the .vtt from video-details (not speech-to-text).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Rumble published captions as timed segments — parses the .vtt from video-details (not speech-to-text). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • snapchat_user_profileSnapchat profile — stable identity card, millisecond timestamps, mediaType image/video (1 credit).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Snapchat profile — stable identity card, millisecond timestamps, mediaType image/video (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • soundcloud_artistSoundCloud artist — handle + name, subscriptionTier, externalLinks, verified (1 credit).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    SoundCloud artist — handle + name, subscriptionTier, externalLinks, verified (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • soundcloud_artist_tracksArtist track list — opaque cursor, native-window when the api-v2 page ends (2 credits; empty is 0).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Artist track list — opaque cursor, native-window when the api-v2 page ends (2 credits; empty is 0). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • soundcloud_trackSoundCloud track — plays/likes/license, tags[], nested artist{}, streamUrl when streamable (1 credit).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    SoundCloud track — plays/likes/license, tags[], nested artist{}, streamUrl when streamable (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • spotify_albumSpotify album — tracks[] with playCount, joinable artists[], releaseDate, explicit (1 credit).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Spotify album — tracks[] with playCount, joinable artists[], releaseDate, explicit (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • spotify_artistSpotify artist — followers, monthlyListeners, worldRank, topCities, topTracks with playCount, concerts, and related artists (1 credit).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • spotify_podcastSpotify podcast show — publisher, rating, topics, explicit flag, and totalEpisodes as clean JSON.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • spotify_podcast_episodesPodcast episode archive — previewUrl, releaseDate, explicit, cursor pagination (flat 2 credits).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • spotify_trackSpotify track — playCount, joinable artists[]/album{}, explicit, releaseDate (1 credit).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • threads_post_detailsThreads post — engagement (views when exposed), comments[], relatedPosts[], threadId/isReply.No findings

    Why it is in this group

    • The name "threads_post_details" says "post": a word for a change.
    Description, as the server wrote it
    Threads post — engagement (views when exposed), comments[], relatedPosts[], 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).
  • threads_profileThreads profile — displayName, private/isPrivate, bioLinks (Meta verified), isThreadsOnlyUser, transparencyLabel, bioFragments, HD avatars (1 credit).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Threads profile — displayName, private/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).
  • threads_user_postsRecent Threads posts — engagement{views,likes,replies,reposts,quotes}, threadId/isReply.No findings

    Why it is in this group

    • The name "threads_user_posts" says "post": a word for a change.
    Description, as the server wrote it
    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).
  • tiktok_ad_library_ad_detailsOne TikTok Commercial Content Library ad by ID — calendar-day dates, always 2 credits.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • tiktok_ad_library_top_adsTikTok Creative Center Top Ads — one ~20-row leaderboard page, not a library search (flat 2; ~1/ad on the fallback path).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • tiktok_audience_demographicsAudience country + language mix for a TikTok creator — engagement sample, not a follower census.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • tiktok_channel_postsLatest videos from a TikTok profile, cursor-paginated.No findings

    Why it is in this group

    • The name "tiktok_channel_posts" says "post": a word for a change.
    Description, as the server wrote it
    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).
  • tiktok_commentsTikTok comments — clean schema plus authorName, stable authorId/authorSecUid and commentLanguage for listening loops.No findings

    Why it is in this group

    • The name "tiktok_comments" says "comment": a word for a change.
    Description, as the server wrote it
    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).
  • tiktok_liveCheck 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • tiktok_live_infoIdentical to TikTok Live (isLive, creator.id/secUid, streamQualities hls/cmaf).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • tiktok_music_postsList TikTok videos that use a specific sound — caption, author, exact engagement, canonical hashtags, and mentions, with cursor pagination.No findings

    Why it is in this group

    • The name "tiktok_music_posts" says "post": a word for a change.
    Description, as the server wrote it
    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).
  • tiktok_shop_product_detailsPDP — price (sku_min when guest min is *), sold vs stock, seller id/url, images[].No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • tiktok_shop_product_reviewsTikTok Shop product reviews — star rating, text, SKU variant, verified purchase, country, and review photos.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • tiktok_shop_productsStore catalog with shopInfo (sold/followers/rating) + products priced with sold, rating, typed discount.No findings

    Why it is in this group

    • The description's first verb is "store": a word for a change.
    Description, as the server wrote it
    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).
  • tiktok_shop_user_showcaseCreator Shop showcase — affiliate shelf products with per-product sold, rating, typed discount, and seller name/url.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • tiktok_song_detailsTikTok sound metadata — usageCount, artists[{id,secUid,handle}], audio{bpm,loudness,beats}, commerce rights (1 credit; 2 via the fallback path).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • tiktok_transcriptTranscript Costs 2 credits.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Transcript Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • truth_social_postOne Truth — text, links[], card, reblog/quote chain, media.meta, externalVideoId.No findings

    Why it is in this group

    • The name "truth_social_post" says "post": a word for a change.
    Description, as the server wrote it
    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).
  • truth_social_profileProminent public Truth Social profiles — isPrivate/bot/group, CP-F counts, avatar/banner.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • truth_social_user_postsRecent Truths — same post mapper as /post (links, card, reblog/quote, mentions).No findings

    Why it is in this group

    • The name "truth_social_user_posts" says "post": a word for a change.
    Description, as the server wrote it
    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).
  • twitch_clipTwitch clip — curator vs channel, signedVideoUrl, unwrapped token, relatedClips (1 credit).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • twitch_profileTwitch channel — handle + displayName, socials[], topClips, schedule preview, stream only when live (1 credit).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • twitch_user_scheduleTwitch channel schedule — startAt/endAt, title, game, isRecurring (0 credits when empty).No findings

    Why it is in this group

    • The name "twitch_user_schedule" says "schedule": a word for a change.
    Description, as the server wrote it
    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).
  • twitch_user_videosTwitch channel VODs — lean rows, video-id cursor, filter/sort, top-level broadcaster{} (flat 2).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • twitter_communityX Community metadata — ISO createdAt, flat creator handle, isNsfw + bannerImage, rules[].No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • twitter_community_tweetsPosts in an X Community — same 6-metric tweet shape as search.No findings

    Why it is in this group

    • The description's first verb is "post": a word for a change.
    Description, as the server wrote it
    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).
  • twitter_profileX profile: verified + blue/legacy/identity, displayName, avatar/banner, tipjar→contact{}, expanded website.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • twitter_transcriptTweet text as a transcript — timingSource none (not speech-to-text).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Tweet text as a transcript — timingSource none (not speech-to-text). 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).
  • twitter_tweet_detailsOne tweet as JSON — text, author (followers), likes/replies/retweets/quotes, media, ISO publishedAt.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    One tweet as JSON — text, author (followers), likes/replies/retweets/quotes, media, ISO publishedAt. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • twitter_user_tweetsMost popular public tweets from a Twitter/X profile (~100 cap) — not chronological.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Most popular public tweets from a Twitter/X profile (~100 cap) — not chronological. Text, author, engagement, hashtags, media. 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).
  • video_transcriptAI transcription of an uploaded file — 1 credit/min; noSpeech=true and 0 credits when there is no speech.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    AI transcription of an uploaded file — 1 credit/min; noSpeech=true and 0 credits when there is no speech. Costs 1 credit/min. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • youtube_audio_transcriptSpeech-to-text for YouTube audio.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Speech-to-text for YouTube audio. Use it when a video has no captions — or when you want a transcript of what was actually spoken rather than YouTube's published captions. Priced per started minute of audio. Costs 2 credits/min of audio. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • youtube_channel_detailsYouTube channel stats — ISO country, createdAt date-only, real banner or null, quote-aware SEO tags, absolute links.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    YouTube channel stats — ISO country, createdAt date-only, real banner or null, quote-aware SEO tags, absolute links. 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).
  • youtube_channel_playlistsChannel playlists with cursor pagination — id, title, totalVideos, thumbnailUrl.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Channel playlists with cursor pagination — id, title, totalVideos, thumbnailUrl. Flat 2 credits/page. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • youtube_channel_shortsChannel Shorts with cursor pagination — same row shape as channel-videos (exact publishedAt).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Channel Shorts with cursor pagination — same row shape as channel-videos (exact publishedAt). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • youtube_channel_streamsChannel Live tab only — liveStatus per row; 0 credits when hasLiveTab is false.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Channel Live tab only — liveStatus per row; 0 credits when hasLiveTab is false. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • youtube_channel_videosChannel uploads with cursor pagination — exact publishedAt from reel_item_watch (same as channel-shorts).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Channel uploads with cursor pagination — exact publishedAt from reel_item_watch (same as channel-shorts). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • youtube_commentsGet comments on any YouTube video — text, author, likes, and truncated publishedTimeApprox from the relative label, with cursor pagination (nextCursor + hasMore).No findings

    Why it is in this group

    • The name "youtube_comments" says "comment": a word for a change.
    Description, as the server wrote it
    Get comments on any YouTube video — text, author, likes, and truncated publishedTimeApprox from the relative label, with cursor pagination (nextCursor + hasMore). Flat 2 credits per call; 0 when the video has comments turned off (commentsDisabled: true). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • youtube_community_post_detailsOne community post — list schema + commentCount trio + isEdited.No findings

    Why it is in this group

    • The name "youtube_community_post_details" says "post": a word for a change.
    Description, as the server wrote it
    One community post — list schema + commentCount trio + isEdited. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • youtube_community_postsCommunity posts — channel{}, publishedTimeApprox, likeCountIsApproximate, linkedVideos[], cursor (1 credit).No findings

    Why it is in this group

    • The name "youtube_community_posts" says "post": a word for a change.
    Description, as the server wrote it
    Community posts — channel{}, publishedTimeApprox, likeCountIsApproximate, linkedVideos[], cursor (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • youtube_playlistPlaylist metadata only — title, channel{}, totalVideos, thumbnailUrl.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Playlist metadata only — title, channel{}, totalVideos, thumbnailUrl. No videos[]. 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).
  • youtube_playlist_videosPaginated playlist contents — cursor/nextCursor/hasMore, same row shape as channel-videos.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Paginated playlist contents — cursor/nextCursor/hasMore, same row shape as channel-videos. Flat 2 credits/page. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • youtube_shorts_commentsComments on a YouTube Short — rejects long-form videos (≤3 min only).No findings

    Why it is in this group

    • The name "youtube_shorts_comments" says "comment": a word for a change.
    Description, as the server wrote it
    Comments on a YouTube Short — rejects long-form videos (≤3 min only). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • youtube_shorts_detailsYouTube Short metadata — same schema as Video Details, with isShort:true; long-form videos get HTTP 422.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    YouTube Short metadata — same schema as Video Details, with isShort:true; long-form videos get HTTP 422. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • youtube_shorts_transcriptTranscript for a YouTube Short — rejects long-form videos (≤3 min only).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Transcript for a YouTube Short — rejects long-form videos (≤3 min only). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • youtube_transcriptYouTube's published captions with timestamps — not speech-to-text.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    YouTube's published captions with timestamps — not speech-to-text. Flat 1 credit; 404 is free. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • youtube_video_detailsYouTube video metadata + stats.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    YouTube video metadata + stats. Always includes degraded / degradedReason — retry when degraded is true. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • youtube_video_sponsorsSponsorBlock community segments — free while the CC BY-NC-SA commercial-use exception is pending.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    SponsorBlock community segments — free while the CC BY-NC-SA commercial-use exception is pending. Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
Only reads 45Claude Code: allow
  • analytics_compareCompare unified metrics across up to 10 URLs — each row is the analytics/post object (1 credit/resolved URL).No findings

    Why it is in this group

    • The name "analytics_compare" says "compare": a word for reading.
    Description, as the server wrote it
    Compare unified metrics across up to 10 URLs — each row is the analytics/post object (1 credit/resolved URL). Costs 1 credit/url. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • facebook_ad_library_search_companiesFind Meta Ad Library pages by brand — name-matched, pageId for company-ads (not profileId).No findings

    Why it is in this group

    • The name "facebook_ad_library_search_companies" says "search": a word for reading.
    Description, as the server wrote it
    Find Meta Ad Library pages by brand — name-matched, pageId for company-ads (not profileId). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • facebook_event_detailsGet a Facebook event — title, local start/end, timezone, place, host id, and attendance when exposed.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get a Facebook event — title, local start/end, timezone, place, host id, and attendance when exposed. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • facebook_profile_eventsList a Facebook Page's events — local startDate, timezone, venue.No findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.
    Description, as the server wrote it
    List a Facebook Page's events — local startDate, timezone, venue. 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • facebook_summarizeSummarizer Costs 4 credits.No findings

    Why it is in this group

    • The name "facebook_summarize" says "summarize": a word for reading.
    Description, as the server wrote it
    Summarizer Costs 4 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • github_repositoriesList a user's repos with sort/direction/type — opaque Link cursor (~0.4/repo).No findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.
    Description, as the server wrote it
    List a user's repos with sort/direction/type — opaque Link cursor (~0.4/repo). Costs ~12 credits (0.4/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • instagram_detailsGet an Instagram post, Reel or carousel — caption, likes, comments, views, media URLs, author, and per-slide children on carousels.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get an Instagram post, Reel or carousel — caption, likes, comments, views, media URLs, author, and per-slide children on carousels. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • instagram_summarizeGet an AI summary of any Instagram Reel — a short paragraph plus key points, without watching the video.No findings

    Why it is in this group

    • The name "instagram_summarize" says "summarize": a word for reading.
    Description, as the server wrote it
    Get an AI summary of any Instagram Reel — a short paragraph plus key points, without watching the video. Costs 4 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • kick_clipGet a Kick clip — source, 7d clip cache, fallback paths on a miss.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get a Kick clip — source, 7d clip cache, fallback paths on a miss. 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).
  • kwai_profileFetch Kwai profile — display name, bio, counts, and verification as structured JSON.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetch Kwai profile — display name, bio, counts, and verification as structured JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • linkedin_ad_library_search_adsLinkedIn publishes run dates, impressions and targeting only on a subset of creatives.No findings

    Why it is in this group

    • The name "linkedin_ad_library_search_ads" says "search": a word for reading.
    Description, as the server wrote it
    LinkedIn publishes run dates, impressions and targeting only on a subset of creatives. Search is the SERP card; source is native. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • linkedin_search_postsKeyword search of public LinkedIn posts — offset cursor, ceiling 50.No findings

    Why it is in this group

    • The name "linkedin_search_posts" says "search": a word for reading.
    Description, as the server wrote it
    Keyword search of public LinkedIn posts — offset cursor, ceiling 50. Costs ~16 credits (0.8/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • threads_search_usersThreads user discovery from keyword search — id, handle, avatar, verified.No findings

    Why it is in this group

    • The name "threads_search_users" says "search": a word for reading.
    Description, as the server wrote it
    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).
  • tiktok_channel_detailsResolve a TikTok @handle to id + secUid — createTime, ttSeller, bioLink, decoded privacy flags.No findings

    Why it is in this group

    • The description's first verb is "resolve": a word for reading.
    Description, as the server wrote it
    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).
  • tiktok_profile_regionFind out where a TikTok creator is likely based and what language they use — country, language, stable ids, and core profile stats.No findings

    Why it is in this group

    • The description's first verb is "find": a word for reading.
    Description, as the server wrote it
    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).
  • tiktok_search_by_hashtagVideos from TikTok's /tag/{name} challenge feed — not keyword or username search.No findings

    Why it is in this group

    • The name "tiktok_search_by_hashtag" says "search": a word for reading.
    Description, as the server wrote it
    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).
  • tiktok_search_suggestionsGet 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.No findings

    Why it is in this group

    • The name "tiktok_search_suggestions" says "search": a word for reading.
    Description, as the server wrote it
    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).
  • tiktok_search_usersSearch TikTok users — distinct creators only, id + secUid, per-counter isApproximate flags, cursor pagination.No findings

    Why it is in this group

    • The name "tiktok_search_users" says "search": a word for reading.
    Description, as the server wrote it
    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).
  • tiktok_summarizeSummarizer Costs 4 credits.No findings

    Why it is in this group

    • The name "tiktok_summarize" says "summarize": a word for reading.
    Description, as the server wrote it
    Summarizer Costs 4 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • tiktok_user_followersList a TikTok user's followers — id, secUid, createTime, region, language, cursor pagination.No findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.
    Description, as the server wrote it
    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).
  • tiktok_user_followingsList who a TikTok user follows — id, secUid, createTime, region, language, cursor pagination.No findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.
    Description, as the server wrote it
    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).
  • tiktok_video_detailsGet everything about one TikTok video from its URL — caption, view/like/comment/share/save counts, creator, sound, hashtags, and thumbnail.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    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).
  • video_summarizeAI transcription + summary of an uploaded file — transcript included; 1 credit/min + 1.No findings

    Why it is in this group

    • The name "video_summarize" says "summarize": a word for reading.
    Description, as the server wrote it
    AI transcription + summary of an uploaded file — transcript included; 1 credit/min + 1. Costs 1 credit/min +1. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • youtube_shorts_summarizeAI summary of a YouTube Short — rejects long-form videos (≤3 min only).No findings

    Why it is in this group

    • The name "youtube_shorts_summarize" says "summarize": a word for reading.
    Description, as the server wrote it
    AI summary of a YouTube Short — rejects long-form videos (≤3 min only). Costs 3 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
  • youtube_summarizeAI summary from YouTube's published captions — same source as /transcript.No findings

    Why it is in this group

    • The name "youtube_summarize" says "summarize": a word for reading.
    Description, as the server wrote it
    AI summary from YouTube's published captions — same source as /transcript. Flat 3 credits; caption-miss 404 is free. Costs 3 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.5.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http captapi https://api.captapi.com/mcp --header 'Authorization: <your-authorization>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__captapi__youtube_summarize",
      "mcp__captapi__youtube_search",
      "mcp__captapi__youtube_shorts_summarize",
      "mcp__captapi__youtube_hashtag_search",
      "mcp__captapi__tiktok_summarize",
      "mcp__captapi__tiktok_video_details",
      "mcp__captapi__tiktok_channel_details",
      "mcp__captapi__tiktok_profile_region",
      "mcp__captapi__tiktok_search_suggestions",
      "mcp__captapi__tiktok_user_followers",
      "mcp__captapi__tiktok_user_followings",
      "mcp__captapi__tiktok_top_search",
      "mcp__captapi__tiktok_search_by_hashtag",
      "mcp__captapi__tiktok_search_users",
      "mcp__captapi__instagram_summarize",
      "mcp__captapi__instagram_details",
      "mcp__captapi__instagram_reels_search",
      "mcp__captapi__instagram_hashtag_search",
      "mcp__captapi__instagram_profile_search",
      "mcp__captapi__facebook_summarize",
      "mcp__captapi__reddit_search",
      "mcp__captapi__reddit_subreddit_search",
      "mcp__captapi__threads_search",
      "mcp__captapi__threads_search_users",
      "mcp__captapi__pinterest_search",
      "mcp__captapi__linkedin_search_posts",
      "mcp__captapi__rumble_search",
      "mcp__captapi__tiktok_shop_search",
      "mcp__captapi__facebook_marketplace_search",
      "mcp__captapi__facebook_marketplace_location_search",
      "mcp__captapi__facebook_event_search",
      "mcp__captapi__facebook_event_details",
      "mcp__captapi__facebook_profile_events",
      "mcp__captapi__facebook_ad_library_search",
      "mcp__captapi__facebook_ad_library_search_companies",
      "mcp__captapi__tiktok_ad_library_search",
      "mcp__captapi__google_ad_library_advertiser_search",
      "mcp__captapi__linkedin_ad_library_search_ads",
      "mcp__captapi__github_repositories",
      "mcp__captapi__spotify_search",
      "mcp__captapi__kick_clip",
      "mcp__captapi__analytics_compare",
      "mcp__captapi__video_summarize",
      "mcp__captapi__kwai_profile",
      "mcp__captapi__google_maps_business_search"
    ],
    "ask": [
      "mcp__captapi__youtube_transcript",
      "mcp__captapi__youtube_audio_transcript",
      "mcp__captapi__youtube_video_details",
      "mcp__captapi__youtube_comments",
      "mcp__captapi__youtube_channel_details",
      "mcp__captapi__youtube_channel_videos",
      "mcp__captapi__youtube_playlist_videos",
      "mcp__captapi__youtube_playlist",
      "mcp__captapi__youtube_shorts_transcript",
      "mcp__captapi__youtube_shorts_details",
      "mcp__captapi__youtube_shorts_comments",
      "mcp__captapi__youtube_channel_shorts",
      "mcp__captapi__youtube_trending_shorts",
      "mcp__captapi__youtube_channel_streams",
      "mcp__captapi__youtube_comment_replies",
      "mcp__captapi__youtube_channel_playlists",
      "mcp__captapi__youtube_community_posts",
      "mcp__captapi__youtube_community_post_details",
      "mcp__captapi__youtube_video_sponsors",
      "mcp__captapi__tiktok_transcript",
      "mcp__captapi__tiktok_comments",
      "mcp__captapi__tiktok_audience_demographics",
      "mcp__captapi__tiktok_channel_posts",
      "mcp__captapi__tiktok_comment_replies",
      "mcp__captapi__tiktok_music_posts",
      "mcp__captapi__tiktok_song_details",
      "mcp__captapi__tiktok_trending_feed",
      "mcp__captapi__tiktok_popular_hashtags",
      "mcp__captapi__tiktok_live",
      "mcp__captapi__tiktok_live_info",
      "mcp__captapi__tiktok_popular_creators",
      "mcp__captapi__instagram_transcript",
      "mcp__captapi__instagram_comments",
      "mcp__captapi__instagram_channel_details",
      "mcp__captapi__instagram_channel_posts",
      "mcp__captapi__instagram_channel_reels",
      "mcp__captapi__instagram_trending_reels",
      "mcp__captapi__instagram_tagged_posts",
      "mcp__captapi__instagram_reels_by_audio_id",
      "mcp__captapi__instagram_embed",
      "mcp__captapi__instagram_highlights",
      "mcp__captapi__instagram_highlights_details",
      "mcp__captapi__instagram_basic_profile",
      "mcp__captapi__facebook_details",
      "mcp__captapi__facebook_comments",
      "mcp__captapi__facebook_page_details",
      "mcp__captapi__facebook_profile_posts",
      "mcp__captapi__facebook_profile_reels",
      "mcp__captapi__facebook_group_posts",
      "mcp__captapi__facebook_comment_replies",
      "mcp__captapi__facebook_profile_photos",
      "mcp__captapi__twitter_tweet_details",
      "mcp__captapi__twitter_transcript",
      "mcp__captapi__twitter_profile",
      "mcp__captapi__twitter_user_tweets",
      "mcp__captapi__twitter_community",
      "mcp__captapi__twitter_community_tweets",
      "mcp__captapi__reddit_subreddit_posts",
      "mcp__captapi__reddit_post_details",
      "mcp__captapi__reddit_post_comments",
      "mcp__captapi__reddit_post_transcript",
      "mcp__captapi__reddit_subreddit_details",
      "mcp__captapi__threads_profile",
      "mcp__captapi__threads_user_posts",
      "mcp__captapi__threads_post_details",
      "mcp__captapi__bluesky_profile",
      "mcp__captapi__bluesky_user_posts",
      "mcp__captapi__bluesky_post_details",
      "mcp__captapi__pinterest_pin_details",
      "mcp__captapi__pinterest_user_pins",
      "mcp__captapi__pinterest_board",
      "mcp__captapi__pinterest_user_boards",
      "mcp__captapi__linkedin_profile",
      "mcp__captapi__linkedin_company",
      "mcp__captapi__linkedin_post_details",
      "mcp__captapi__linkedin_post_transcript",
      "mcp__captapi__linkedin_company_posts",
      "mcp__captapi__rumble_video_details",
      "mcp__captapi__rumble_video_transcript",
      "mcp__captapi__rumble_channel_videos",
      "mcp__captapi__rumble_comments",
      "mcp__captapi__tiktok_shop_products",
      "mcp__captapi__tiktok_shop_product_details",
      "mcp__captapi__tiktok_shop_product_reviews",
      "mcp__captapi__tiktok_shop_user_showcase",
      "mcp__captapi__facebook_marketplace_item",
      "mcp__captapi__facebook_ad_library_company_ads",
      "mcp__captapi__facebook_ad_library_ad_details",
      "mcp__captapi__facebook_ad_library_ad_transcript",
      "mcp__captapi__tiktok_ad_library_top_ads",
      "mcp__captapi__tiktok_ad_library_ad_details",
      "mcp__captapi__google_ad_library_company_ads",
      "mcp__captapi__google_ad_library_ad_details",
      "mcp__captapi__linkedin_ad_library_ad_details",
      "mcp__captapi__amazon_shop_page",
      "mcp__captapi__github_user",
      "mcp__captapi__github_pull_requests",
      "mcp__captapi__github_activity",
      "mcp__captapi__github_followers",
      "mcp__captapi__github_following",
      "mcp__captapi__github_contributions",
      "mcp__captapi__github_repository",
      "mcp__captapi__github_trending_repositories",
      "mcp__captapi__github_trending_developers",
      "mcp__captapi__twitch_profile",
      "mcp__captapi__twitch_user_videos",
      "mcp__captapi__twitch_user_schedule",
      "mcp__captapi__twitch_clip",
      "mcp__captapi__spotify_artist",
      "mcp__captapi__spotify_track",
      "mcp__captapi__spotify_album",
      "mcp__captapi__spotify_podcast",
      "mcp__captapi__spotify_podcast_episodes",
      "mcp__captapi__soundcloud_artist",
      "mcp__captapi__soundcloud_artist_tracks",
      "mcp__captapi__soundcloud_track",
      "mcp__captapi__linktree_page",
      "mcp__captapi__snapchat_user_profile",
      "mcp__captapi__truth_social_profile",
      "mcp__captapi__truth_social_user_posts",
      "mcp__captapi__truth_social_post",
      "mcp__captapi__account_balance",
      "mcp__captapi__account_request_history",
      "mcp__captapi__account_daily_usage",
      "mcp__captapi__account_most_used_routes",
      "mcp__captapi__analytics_post",
      "mcp__captapi__video_transcript",
      "mcp__captapi__kwai_user_posts",
      "mcp__captapi__kwai_post",
      "mcp__captapi__komi_page",
      "mcp__captapi__pillar_page",
      "mcp__captapi__linkbio_page",
      "mcp__captapi__linkme_profile"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as captapi. Review it before you use it.