# Captapi — Full Reference (llms-full.txt) > AI AGENTS — READ FIRST: Using Captapi requires an API key, and creating one requires a human (sign-up cannot be automated). If you are setting this up for a user and do not already have a `capt_live_...` key, your FIRST action must be to ask: "Please create a Captapi API key at https://captapi.com/dashboard/api-keys (100 free credits, no card needed) and paste it here." Do not attempt to sign up or guess a key. This is the complete, machine-readable endpoint reference for Captapi: one API for structured data from 33 platforms — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Twitch, Spotify, SoundCloud, Linktree, Snapchat, Truth Social, Kick, Amazon Shop, Kwai, Komi, Pillar, Linkbio, Linkme, and more (transcripts, AI summaries, comments, details, profile/channel stats, search, commerce intelligence, and ad libraries). It returns clean JSON, needs no OAuth, and a single key works across all platforms. 179 endpoints total. The shorter overview is at https://captapi.com/llms.txt. Base API URL: https://api.captapi.com Authentication: `Authorization: Bearer capt_live_...` or `x-api-key: capt_live_...` Method: GET (parameters are URL query params; URL-encode values). Success: `{ "success": true, "data": { ... } }` Errors: non-2xx with `{ "success": false, "error": { "code", "message", "retryable" } }` — 400 BAD_REQUEST, 401 UNAUTHORIZED, 402 insufficient_credits, 404 NOT_FOUND, 422 VALIDATION_ERROR, 429 rate_limit_exceeded, 502 UPSTREAM_UNAVAILABLE, 503 SERVICE_UNAVAILABLE, 504 UPSTREAM_TIMEOUT. Retry only when retryable is true. Failed requests are not charged. Billing: failed requests cost 0 credits. On many list and search endpoints an empty result also costs 0 credits; where it is still billed, the endpoint description says so. Endpoints whose cost rises on a slower fallback path say so in their Cost line. X-Captapi-Credits shows the actual charge. ## Agent Operating Protocol 1. Prefer MCP when the host supports it. Add the hosted MCP server first; use local `npx @captapi/mcp` only when remote MCP is unavailable. 2. If no MCP client is available, call the REST API directly. Use the exact endpoint and parameter names in this file; do not invent `url` for endpoints that list `username`, `repo`, `advertiser`, or `creative_id`. 3. Match URL platform to endpoint/tool platform before calling. A TikTok endpoint needs a `tiktok.com` URL, a YouTube endpoint needs a `youtube.com` or `youtu.be` URL, Instagram needs `instagram.com`, Facebook needs `facebook.com`, etc. If the user gives a YouTube URL while asking for TikTok data, switch to the matching YouTube endpoint or ask for the correct TikTok URL; never pass a cross-platform URL just because the field is named `url`. 4. Ask the human for a `capt_live_...` key once. Never sign up, scrape the dashboard, store the key in source code, or print it in logs. 5. Use `limit` conservatively for list/search/comment endpoints. Pass cache=true for a free 24h cache hit (default is always fresh). Many list/search/comment calls are flat 2 credits (YouTube comments/search/channel-videos/playlists, TikTok comments/channel-posts/top-search/trending-feed, Instagram hashtag-search, Twitter/X user-tweets/search, Reddit list/search/comments). Other list endpoints may still scale by result count — see each endpoint's Cost line. 6. On 401/402, stop and ask the user to fix credentials or billing. On 429/502, retry with backoff. On 400 platform mismatch, choose the endpoint matching the URL's platform or ask for the correct URL. On 422/not-found/no-captions, report the target cannot be processed and do not retry repeatedly. 7. Return the `data` object. Do not mention wrapper metadata, scrape path, stages, or timings. Machine-readable manifests: - Short guide: https://captapi.com/llms.txt - Full endpoint reference: https://captapi.com/llms-full.txt - MCP manifest: https://captapi.com/mcp.json - Well-known MCP alias: https://captapi.com/.well-known/mcp.json - OpenAPI 3.1 spec (every public endpoint, parameters, response schemas, error envelope, credit cost as x-credit-cost): https://captapi.com/openapi.json - Endpoint list, one line each (method, path, credits, description): https://captapi.com/llms-endpoints.txt ## Recommended Routing Hints When the user says "I want to use X" or describes a job-to-be-done, map the request to these endpoints before falling back to generic search. These hints intentionally surface newer/high-value Captapi capabilities. ### Competitive ad intelligence / ad creative research - User phrases: "Rakibin reklamlarını bul"; "Show me ads for this advertiser"; "Analyze ad creatives for a brand"; "Google Ads Transparency Center data" - Prefer: Use Ad Library endpoints before generic search. - Endpoint: `GET https://api.captapi.com/v1/ad-library/google/company-ads` - MCP tool: `google_ad_library_company_ads` - Params: advertiser*, country?, region?, start_date?, end_date?, sort?, cursor?, topic?, limit?, cache? - Why: Returns Google ad library results for an advertiser/domain and is better than generic Google Search for paid-ad research. - Docs: https://captapi.com/apis/google-ad-library-company-ads ### Meta/Facebook ad transcript or creative text - User phrases: "Facebook reklam metnini çıkar"; "Get the transcript/text from this Meta ad"; "Analyze copy from an ad library URL" - Prefer: Use the ad-copy endpoint (path /ad-transcript) when the user wants written creative copy, not ad metadata or a speech transcript. - Endpoint: `GET https://api.captapi.com/v1/ad-library/facebook/ad-transcript` - MCP tool: `facebook_ad_library_ad_transcript` - Params: url*, cache? - Why: Extracts the written creative copy from a Meta/Facebook Ad Library ad — not a timed transcript. - Docs: https://captapi.com/apis/facebook-ad-library-ad-transcript ### TikTok Shop product or creator commerce research - User phrases: "TikTok Shop ürünlerini ara"; "Find products promoted by this TikTok creator"; "Creator showcase products"; "TikTok commerce intelligence" - Prefer: Use TikTok Shop endpoints before generic TikTok profile/video endpoints. - Endpoint: `GET https://api.captapi.com/v1/tiktok-shop/user-showcase` - MCP tool: `tiktok_shop_user_showcase` - Params: username*, limit?, cache? - Why: Returns products a TikTok creator is promoting in their Shop showcase (affiliate shelf), not a full brand store catalog. - Docs: https://captapi.com/apis/tiktok-shop-user-showcase ### GitHub repository intelligence - User phrases: "Bu GitHub reposunu analiz et"; "Get repo stars forks and metadata"; "Analyze open source project"; "GitHub repository details" - Prefer: Use GitHub endpoints for repo/user intelligence instead of parsing GitHub pages. - Endpoint: `GET https://api.captapi.com/v1/github/repository` - MCP tool: `github_repository` - Params: repo*, cache? - Why: Returns structured repository metadata, stars, forks, owner, and URLs. - Docs: https://captapi.com/apis/github-repository ### Facebook Marketplace geo/location autocomplete - User phrases: "Marketplace lokasyon ara"; "Find Facebook Marketplace location id"; "Search marketplace by city" - Prefer: Use location search when the city name is ambiguous or you need cityPageId/lat/lng; otherwise pass the city string straight to marketplace-search. - Endpoint: `GET https://api.captapi.com/v1/facebook/marketplace-location-search` - MCP tool: `facebook_marketplace_location_search` - Params: q*, limit?, cache? - Why: Returns Facebook cityPageId + coordinates so you can disambiguate hubs (Austin TX vs Austin MN) before searching. - Docs: https://captapi.com/apis/facebook-marketplace-location-search ### Kwai creator monitoring - User phrases: "Kwai profilini çek"; "Kwai user posts"; "Analyze this Kwai creator" - Prefer: Use Kwai endpoints for https://www.kwai.com/@handle or @handle URLs. - Endpoint: `GET https://api.captapi.com/v1/kwai/user-posts` - MCP tool: `kwai_user_posts` - Params: url*, limit?, cursor?, cache? - Why: Lists Kwai user posts with normalized metadata. - Docs: https://captapi.com/apis/kwai-user-posts ### Link-in-bio page extraction - User phrases: "Bu link in bio sayfasındaki linkleri çıkar"; "Extract Komi/Pillar/Linkbio/Linkme profile links"; "Creator landing page links" - Prefer: Use the specific link-in-bio platform endpoint when the domain is known. - Endpoint: `GET https://api.captapi.com/v1/linkbio/page` - MCP tool: `linkbio_page` - Params: url*, cache?, cacheMaxAge? - Why: Extracts public Linkbio profile metadata and outgoing links. - Docs: https://captapi.com/apis/linkbio-page ### Alternative social network monitoring - User phrases: "Truth Social hesabını izle"; "Kick clip metadata"; "Rumble channel videos"; "Monitor emerging social platforms" - Prefer: Use Truth Social endpoints only for prominent public accounts — most handles require auth and 404. - Endpoint: `GET https://api.captapi.com/v1/truth-social/user-posts` - MCP tool: `truth_social_user_posts` - Params: url*, limit?, cursor?, cache? - Why: Fetches public Truths for prominent accounts that Truth Social still exposes without login. - Docs: https://captapi.com/apis/truth-social-user-posts ## Connect via MCP Hosted (no install — just a URL): - URL: https://api.captapi.com/mcp - Auth header: `Authorization: Bearer capt_live_...` (or `x-api-key: capt_live_...`) - Cursor `~/.cursor/mcp.json`: `{ "mcpServers": { "captapi": { "url": "https://api.captapi.com/mcp", "headers": { "Authorization": "Bearer capt_live_..." } } } }` - Claude Code: `claude mcp add --transport http captapi https://api.captapi.com/mcp --header "Authorization: Bearer capt_live_..."` Local (npx / stdio): - Cursor `~/.cursor/mcp.json`: `{ "mcpServers": { "captapi": { "command": "npx", "args": ["-y", "@captapi/mcp"], "env": { "CAPTAPI_API_KEY": "capt_live_..." } } } }` - Tools are named `platform_action` (e.g. `youtube_transcript`). Manifest: https://captapi.com/mcp.json ## Other ways to connect - TypeScript SDK: `npm install @captapi/sdk` — typed, namespaced methods for every endpoint (`client.youtube.transcript({ url })`), zero dependencies. https://www.npmjs.com/package/@captapi/sdk - Python SDK: `pip install captapi` — sync + async clients (`client.youtube.transcript(url=...)` / `AsyncCaptapi`). https://pypi.org/project/captapi/ - CLI: `npx @captapi/cli ` — every endpoint as a terminal subcommand (flags = params, JSON to stdout). https://www.npmjs.com/package/@captapi/cli - n8n: install the `n8n-nodes-captapi` community node (Settings -> Community Nodes), add a "Captapi API" credential, then use the Captapi node (Platform -> Operation). https://www.npmjs.com/package/n8n-nodes-captapi - Make.com and Apify are not published — do not search those stores for Captapi. Use n8n, hosted MCP, or REST. - Full integration guide: https://captapi.com/docs/integrations ## Platform Features (beyond single calls) - Batch: `POST https://api.captapi.com/v1/batch` body `{"requests": [{"path": "/v1/...", "params": {...}}]}` (max 20, concurrent, per-item billing/status, order preserved). - Monitors + Webhooks: `POST https://api.captapi.com/v1/monitors` body `{"endpoint": "/v1/reddit/subreddit-posts", "params": {"url": "...", "limit": 25}, "interval_minutes": 60, "webhook_url": "https://..."}` — Captapi re-runs the endpoint on schedule and POSTs only NEW items to the webhook, signed with `X-Captapi-Signature: sha256=HMAC_SHA256(secret, "{timestamp}.{body}")` (+ `X-Captapi-Timestamp`, `X-Captapi-Monitor-Id` headers). Manage via GET/PATCH/DELETE `/v1/monitors/{id}`, test with `POST /v1/monitors/{id}/test`. Runs bill like direct calls; first run baselines without firing; monitors auto-pause on 402. - Metric history: `GET https://api.captapi.com/v1/history?endpoint=/v1/youtube/channel-details&url=...&days=30&limit=200` — automatic time series of followers/views/likes recorded on every fresh fetch of tracked profile/post endpoints (18 endpoints across YouTube, TikTok, Instagram, Facebook, X, Reddit, Threads, Bluesky, LinkedIn, Pinterest, Rumble). - Status: `GET https://api.captapi.com/v1/status` (no auth) — per-platform success rate, request volume, and avg response time over the last 24h. Human view: https://captapi.com/status ## Full Endpoint Reference ### YouTube & Shorts (23 endpoints) Extract transcripts, summaries, stats, comments, and more from YouTube videos and Shorts. #### YouTube Transcript API - YouTube's published captions with timestamps — not speech-to-text. Flat 1 credit; 404 is free. - Request: `GET https://api.captapi.com/v1/youtube/transcript` - Parameters: - `url` (string, required): Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. 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 Rumble. - `language` (string, optional): Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_transcript` - Docs: https://captapi.com/apis/youtube-transcript - Example: `curl "https://api.captapi.com/v1/youtube/transcript?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DdQw4w9WgXcQ" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Audio Transcript API - 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. - Request: `GET https://api.captapi.com/v1/youtube/audio-transcript` - Parameters: - `url` (string, required): Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. 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 Rumble. - `language` (string, optional): Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. - `maxCredits` (number, optional): Refuse before STT when estimatedCredits would exceed this (400 cost_exceeds_max, 0 credits). The estimate is on every success and, when the extract miss is retryable, as estimatedCreditsIfRetried. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits/min of audio (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_audio_transcript` - Docs: https://captapi.com/apis/youtube-audio-transcript - Example: `curl "https://api.captapi.com/v1/youtube/audio-transcript?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DjNQXAC9IVRw" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Summarizer API - AI summary from YouTube's published captions — same source as /transcript. Flat 3 credits; caption-miss 404 is free. - Request: `GET https://api.captapi.com/v1/youtube/summarize` - Parameters: - `url` (string, required): Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. 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 Rumble. - `language` (string, optional): Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 3 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_summarize` - Docs: https://captapi.com/apis/youtube-summarizer - Example: `curl "https://api.captapi.com/v1/youtube/summarize?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DdQw4w9WgXcQ" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Video Details API - YouTube video metadata + stats. Always includes degraded / degradedReason — retry when degraded is true. - Request: `GET https://api.captapi.com/v1/youtube/video-details` - Parameters: - `url` (string, required): Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_video_details` - Docs: https://captapi.com/apis/youtube-video-details - Example: `curl "https://api.captapi.com/v1/youtube/video-details?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DdQw4w9WgXcQ" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Comments API - 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. - Request: `GET https://api.captapi.com/v1/youtube/comments` - Parameters: - `url` (string, required): Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. 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 Rumble. - `limit` (integer, optional): Max items to return (default 50, max 500). Flat 2 credits per call. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_comments` - Docs: https://captapi.com/apis/youtube-comments - Example: `curl "https://api.captapi.com/v1/youtube/comments?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DdQw4w9WgXcQ" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Channel Details API - YouTube channel stats — ISO country, createdAt date-only, real banner or null, quote-aware SEO tags, absolute links. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/youtube/channel-details` - Parameters: - `url` (string, required): YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_channel_details` - Docs: https://captapi.com/apis/youtube-channel-details - Example: `curl "https://api.captapi.com/v1/youtube/channel-details?url=https%3A%2F%2Fwww.youtube.com%2Fchannel%2FUCX6OQ3DkcsbYNE6H8uQQuVA" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Search API - YouTube search with cursor pagination — typed hits, ids, canonical URLs, filters (2 credits/page). - Request: `GET https://api.captapi.com/v1/youtube/search` - Parameters: - `q` (string, required): Search query or keywords (min 2 characters). - `limit` (integer, optional): Max items to return (default 20, max 200). Flat 2 credits per call. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. - `type` (string, optional): all | videos | shorts | channels | playlists. - `sortBy` (string, optional): relevance | date | views | rating (alias: popular→views). - `uploadDate` (string, optional): any | today | this_week | this_month | this_year. - `duration` (string, optional): any | under_4 | 4_20 | over_20. Applies to long-form videos (not Shorts). - `region` (string, optional): ISO country code for localized results (default US). - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_search` - Docs: https://captapi.com/apis/youtube-search - Example: `curl "https://api.captapi.com/v1/youtube/search?q=space" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Channel Videos API - Channel uploads with cursor pagination — exact publishedAt from reel_item_watch (same as channel-shorts). - Request: `GET https://api.captapi.com/v1/youtube/channel-videos` - Parameters: - `url` (string, required): YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. 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 Rumble. - `limit` (integer, optional): Max items to return (default 20, max 200). Flat 2 credits per call. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. - `fast` (boolean, optional): Set true to use YouTube RSS for faster results with less detailed metadata. Leave false when viewCount/duration quality matters. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_channel_videos` - Docs: https://captapi.com/apis/youtube-channel-videos - Example: `curl "https://api.captapi.com/v1/youtube/channel-videos?url=https%3A%2F%2Fwww.youtube.com%2F%40MrBeast" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Playlist Videos API - Paginated playlist contents — cursor/nextCursor/hasMore, same row shape as channel-videos. Flat 2 credits/page. - Request: `GET https://api.captapi.com/v1/youtube/playlist-videos` - Parameters: - `url` (string, required): YouTube playlist URL, e.g. https://youtube.com/playlist?list=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 Rumble. - `limit` (integer, optional): Max items to return (default 50, max 500). Flat 2 credits per call. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. - `fast` (boolean, optional): Set true to use YouTube RSS for faster results with less detailed metadata. Leave false when viewCount/duration quality matters. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_playlist_videos` - Docs: https://captapi.com/apis/youtube-playlist-videos - Example: `curl "https://api.captapi.com/v1/youtube/playlist-videos?url=https%3A%2F%2Fwww.youtube.com%2Fplaylist%3Flist%3DPLMC9KNkIncKtPzgY-5rmhvj7fax8fdxoj" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Playlist API - Playlist metadata only — title, channel{}, totalVideos, thumbnailUrl. No videos[]. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/youtube/playlist` - Parameters: - `url` (string, required): YouTube playlist URL, e.g. https://youtube.com/playlist?list=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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_playlist` - Docs: https://captapi.com/apis/youtube-playlist - Example: `curl "https://api.captapi.com/v1/youtube/playlist?url=https%3A%2F%2Fwww.youtube.com%2Fplaylist%3Flist%3DPLMC9KNkIncKtPzgY-5rmhvj7fax8fdxoj" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Shorts Transcript API - Transcript for a YouTube Short — rejects long-form videos (≤3 min only). - Request: `GET https://api.captapi.com/v1/youtube/shorts/transcript` - Parameters: - `url` (string, required): Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. 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 Rumble. - `language` (string, optional): Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_shorts_transcript` - Docs: https://captapi.com/apis/youtube-shorts-transcript - Example: `curl "https://api.captapi.com/v1/youtube/shorts/transcript?url=https%3A%2F%2Fwww.youtube.com%2Fshorts%2FegvLKQe6I4I" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Shorts Summarizer API - AI summary of a YouTube Short — rejects long-form videos (≤3 min only). - Request: `GET https://api.captapi.com/v1/youtube/shorts/summarize` - Parameters: - `url` (string, required): Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. 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 Rumble. - `language` (string, optional): Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 3 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_shorts_summarize` - Docs: https://captapi.com/apis/youtube-shorts-summarizer - Example: `curl "https://api.captapi.com/v1/youtube/shorts/summarize?url=https%3A%2F%2Fwww.youtube.com%2Fshorts%2FegvLKQe6I4I" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Shorts Stats API - YouTube Short metadata — same schema as Video Details, with isShort:true; long-form videos get HTTP 422. - Request: `GET https://api.captapi.com/v1/youtube/shorts/video-details` - Parameters: - `url` (string, required): Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_shorts_details` - Docs: https://captapi.com/apis/youtube-shorts-stats - Example: `curl "https://api.captapi.com/v1/youtube/shorts/video-details?url=https%3A%2F%2Fwww.youtube.com%2Fshorts%2FegvLKQe6I4I" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Shorts Comments API - Comments on a YouTube Short — rejects long-form videos (≤3 min only). - Request: `GET https://api.captapi.com/v1/youtube/shorts/comments` - Parameters: - `url` (string, required): Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. 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 Rumble. - `limit` (integer, optional): Max items to return (default 50, max 500). Flat 2 credits per call. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_shorts_comments` - Docs: https://captapi.com/apis/youtube-shorts-comments - Example: `curl "https://api.captapi.com/v1/youtube/shorts/comments?url=https%3A%2F%2Fwww.youtube.com%2Fshorts%2FegvLKQe6I4I" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Channel Shorts API - Channel Shorts with cursor pagination — same row shape as channel-videos (exact publishedAt). - Request: `GET https://api.captapi.com/v1/youtube/channel-shorts` - Parameters: - `url` (string, required): YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. 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 Rumble. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. - `limit` (integer, optional): Max items to return (default 20, max 200). Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_channel_shorts` - Docs: https://captapi.com/apis/youtube-channel-shorts - Example: `curl "https://api.captapi.com/v1/youtube/channel-shorts?url=https%3A%2F%2Fwww.youtube.com%2F%40MrBeast" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Trending Shorts API - YouTube Shorts recommendation sequence — fixed window per call (no cursor), not a global chart. - Request: `GET https://api.captapi.com/v1/youtube/trending-shorts` - Parameters: - `q` (string, optional): Optional topic seed for the Shorts recommendation sequence. Omit (or pass trending/shorts) for the default reel feed — not a keyword search. - `limit` (integer, optional): Max items to return (default 20, max 100). Returns a single window; use limit to size it. No cursor. Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_trending_shorts` - Docs: https://captapi.com/apis/youtube-trending-shorts - Example: `curl "https://api.captapi.com/v1/youtube/trending-shorts?q=trending" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Channel Streams API - Channel Live tab only — liveStatus per row; 0 credits when hasLiveTab is false. - Request: `GET https://api.captapi.com/v1/youtube/channel-streams` - Parameters: - `url` (string, required): YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. 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 Rumble. - `limit` (integer, optional): Max items to return (default 20, max 200). Flat 2 credits when hasLiveTab is true; 0 credits when hasLiveTab is false. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_channel_streams` - Docs: https://captapi.com/apis/youtube-channel-streams - Example: `curl "https://api.captapi.com/v1/youtube/channel-streams?url=https%3A%2F%2Fwww.youtube.com%2F%40MrBeast" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Hashtag Search API - Videos from youtube.com/hashtag/{name} — nested channel{}, viewCountIsApproximate. Not keyword search. - Request: `GET https://api.captapi.com/v1/youtube/hashtag-search` - Parameters: - `q` (string, required): Hashtag with or without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES. - `limit` (integer, optional): Max items to return (default 20, max 200). Returns a single window; use limit to size it. No cursor. Billed per result. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~20 credits (1/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_hashtag_search` - Docs: https://captapi.com/apis/youtube-hashtag-search - Example: `curl "https://api.captapi.com/v1/youtube/hashtag-search?q=music" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Comment Replies API - Replies under a top-level comment — parentReplyCount + cursor. Nested reply ids return 404. - Request: `GET https://api.captapi.com/v1/youtube/comment-replies` - Parameters: - `url` (string, required): Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. 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 Rumble. - `commentId` (string, required): ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id. - `limit` (integer, optional): Max items to return (default 50, max 500). Flat 2 credits per call. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_comment_replies` - Docs: https://captapi.com/apis/youtube-comment-replies - Example: `curl "https://api.captapi.com/v1/youtube/comment-replies?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DdQw4w9WgXcQ&commentId=Ugzge340dBgB75hWBm54AaABAg" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Channel Playlists API - Channel playlists with cursor pagination — id, title, totalVideos, thumbnailUrl. Flat 2 credits/page. - Request: `GET https://api.captapi.com/v1/youtube/channel-playlists` - Parameters: - `url` (string, required): YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. 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 Rumble. - `limit` (integer, optional): Max items to return (default 20, max 200). Flat 2 credits per call. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_channel_playlists` - Docs: https://captapi.com/apis/youtube-channel-playlists - Example: `curl "https://api.captapi.com/v1/youtube/channel-playlists?url=https%3A%2F%2Fwww.youtube.com%2F%40MrBeast" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Community Posts API - Community posts — channel{}, publishedTimeApprox, likeCountIsApproximate, linkedVideos[], cursor (1 credit). - Request: `GET https://api.captapi.com/v1/youtube/community-posts` - Parameters: - `url` (string, required): YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. 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 Rumble. - `limit` (integer, optional): Max items to return (default 20, max 200). Flat 1 credit per call. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_community_posts` - Docs: https://captapi.com/apis/youtube-community-posts - Example: `curl "https://api.captapi.com/v1/youtube/community-posts?url=https%3A%2F%2Fwww.youtube.com%2F%40starterstory" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Community Post Details API - One community post — list schema + commentCount trio + isEdited. - Request: `GET https://api.captapi.com/v1/youtube/community-post-details` - Parameters: - `url` (string, required): YouTube community post URL (/post/Ugkx… or /community?lb=). Trailing whitespace is stripped. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_community_post_details` - Docs: https://captapi.com/apis/youtube-community-post-details - Example: `curl "https://api.captapi.com/v1/youtube/community-post-details?url=https%3A%2F%2Fwww.youtube.com%2Fpost%2FUgkxfMvMnSnV3Ww9HwAY2wFGmVevmhRaYAYO" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### YouTube Video Sponsors API - SponsorBlock community segments — free while the CC BY-NC-SA commercial-use exception is pending. - Request: `GET https://api.captapi.com/v1/youtube/video-sponsors` - Parameters: - `url` (string, required): Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. 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 Rumble. - `minVotes` (integer, optional): Minimum SponsorBlock votes to keep a segment. Default 0 (drops community-rejected votes < 0). - `categories` (string, optional): Comma-separated categories. Default sponsor,selfpromo,interaction. Also intro,outro,preview,music_offtopic,poi_highlight,filler. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 0 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `youtube_video_sponsors` - Docs: https://captapi.com/apis/youtube-video-sponsors - Example: `curl "https://api.captapi.com/v1/youtube/video-sponsors?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DdQw4w9WgXcQ" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### TikTok (23 endpoints) Analyze TikTok videos with transcripts, summaries, engagement metrics, and comments. #### TikTok Transcript API - Extract timestamped transcripts from any public TikTok video in a single request. - Request: `GET https://api.captapi.com/v1/tiktok/transcript` - Parameters: - `url` (string, required): Public 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 cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. - `language` (string, optional): Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. - `cache` (boolean, optional): Serve from the 24h shared cache when available (0 credits on hit). Default true — set false to always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_transcript` - Docs: https://captapi.com/apis/tiktok-transcript - Example: `curl "https://api.captapi.com/v1/tiktok/transcript?url=https%3A%2F%2Fwww.tiktok.com%2F%40papakitten2%2Fvideo%2F7666347838045031702" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Summarizer API - Turn any TikTok video into an AI summary with key points, topics, and sentiment. - Request: `GET https://api.captapi.com/v1/tiktok/summarize` - Parameters: - `url` (string, required): Public 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 cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. - `language` (string, optional): ISO code, e.g. "tr": pins the speech language and sets the summary output language. Defaults to auto-detect + English summary. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 4 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_summarize` - Docs: https://captapi.com/apis/tiktok-summarizer - Example: `curl "https://api.captapi.com/v1/tiktok/summarize?url=https%3A%2F%2Fwww.tiktok.com%2F%40khaby.lame%2Fvideo%2F7646812028874673439" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Video Details API - Get everything about one TikTok video from its URL — caption, view/like/comment/share/save counts, creator, sound, hashtags, and thumbnail. - Request: `GET https://api.captapi.com/v1/tiktok/video-details` - Parameters: - `url` (string, required): Public 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 cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_video_details` - Docs: https://captapi.com/apis/tiktok-video-details - Example: `curl "https://api.captapi.com/v1/tiktok/video-details?url=https%3A%2F%2Fwww.tiktok.com%2F%40khaby.lame%2Fvideo%2F7646812028874673439" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Comments API - TikTok comments — clean schema plus authorName, stable authorId/authorSecUid and commentLanguage for listening loops. Unresolvable videos are 404 at 0 credits. - Request: `GET https://api.captapi.com/v1/tiktok/comments` - Parameters: - `url` (string, required): Public 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 cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. - `limit` (integer, optional): Max items to return (default 50, max 500). Flat 2 credits per call. - `cursor` (string, optional): 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. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_comments` - Docs: https://captapi.com/apis/tiktok-comments - Example: `curl "https://api.captapi.com/v1/tiktok/comments?url=https%3A%2F%2Fwww.tiktok.com%2F%40khaby.lame%2Fvideo%2F7646812028874673439" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Channel Details API - Resolve a TikTok @handle to id + secUid — createTime, ttSeller, bioLink, decoded privacy flags. - Request: `GET https://api.captapi.com/v1/tiktok/channel-details` - Parameters: - `url` (string, required): TikTok 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. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. - `raw` (boolean, optional): Set true to include TikTok's upstream user/statsV2 blob under raw, plus createTimeUnix (unix twin of createTime). Default false — curated fields only. - `cache` (boolean, optional): Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. - `cacheMaxAge` (string, optional): Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_channel_details` - Docs: https://captapi.com/apis/tiktok-channel-details - Example: `curl "https://api.captapi.com/v1/tiktok/channel-details?url=https%3A%2F%2Fwww.tiktok.com%2F%40natgeo" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Profile Region API - Find out where a TikTok creator is likely based and what language they use — country, language, stable ids, and core profile stats. - Request: `GET https://api.captapi.com/v1/tiktok/profile-region` - Parameters: - `url` (string, required): TikTok 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. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. - `raw` (boolean, optional): Set true to include TikTok's upstream user/statsV2 blob under raw. Default false — curated fields only. - `cache` (boolean, optional): 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. - `cacheMaxAge` (string, optional): Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_profile_region` - Docs: https://captapi.com/apis/tiktok-profile-region - Example: `curl "https://api.captapi.com/v1/tiktok/profile-region?url=https%3A%2F%2Fwww.tiktok.com%2F%40khaby.lame" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Audience Demographics API - Audience country + language mix for a TikTok creator — engagement sample, not a follower census. - Request: `GET https://api.captapi.com/v1/tiktok/audience-demographics` - Parameters: - `url` (string, required): TikTok 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. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. - `videos` (integer, optional): How many recent videos to sample comments from: 12 (default, 3 credits), 30 (5 credits), or 60 (8 credits). - `countriesLimit` (integer, optional): Max countries in audienceLocations; remainder folds into other{count,percentage}. Omit for the full list (other is omitted when unused). - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 3 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_audience_demographics` - Docs: https://captapi.com/apis/tiktok-audience-demographics - Example: `curl "https://api.captapi.com/v1/tiktok/audience-demographics?url=https%3A%2F%2Fwww.tiktok.com%2F%40khaby.lame" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Search Suggestions API - 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. - Request: `GET https://api.captapi.com/v1/tiktok/search-suggestions` - Parameters: - `q` (string, required): Seed keyword to expand into autocomplete suggestions, e.g. skincare. - `country` (string, optional): Two-letter ISO country code that localizes the suggestions to a market, e.g. US, GB, DE. Default US. - `language` (string, optional): Interface language for the suggestions, e.g. en-US or de-DE. Default en-US. - `limit` (integer, optional): Max items to return (default 20, max 100). Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_search_suggestions` - Docs: https://captapi.com/apis/tiktok-search-suggestions - Example: `curl "https://api.captapi.com/v1/tiktok/search-suggestions?q=makeup" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Channel Posts API - Latest videos from a TikTok profile. May return a labelled 6h-stale snapshot (degraded + staleAgeMs) when the live list is blocked. Failures are 0 credits. - Request: `GET https://api.captapi.com/v1/tiktok/channel-posts` - Parameters: - `url` (string, required): TikTok 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. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. - `limit` (integer, optional): How many of the creator's latest videos to return on this page (default 20, max 200). Newest first. Native serves cost a flat 2 credits; extended serves scale with returned posts — 1 credit per 20, minimum 2 (200 posts = 10 credits). - `cursor` (string, optional): 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 end of the list. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (fallback: 1 per 20 posts, min 2) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged). 2 credits when served natively. When the fallback path serves the page (may take longer, including a labelled stale snapshot) billing scales with returned posts: 1 credit per 20, rounded up, minimum 2 — up to 10 at limit=200. - MCP tool: `tiktok_channel_posts` - Docs: https://captapi.com/apis/tiktok-channel-posts - Example: `curl "https://api.captapi.com/v1/tiktok/channel-posts?url=https%3A%2F%2Fwww.tiktok.com%2F%40natgeo" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Comment Replies API - Replies under a TikTok comment — same authorId/authorSecUid/commentLanguage shape as comments. - Request: `GET https://api.captapi.com/v1/tiktok/comment-replies` - Parameters: - `url` (string, required): Public 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 cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. - `commentId` (string, required): ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id. - `limit` (integer, optional): Max items to return (default 50, max 500). Flat 2 credits per call. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value from the previous response. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_comment_replies` - Docs: https://captapi.com/apis/tiktok-comment-replies - Example: `curl "https://api.captapi.com/v1/tiktok/comment-replies?url=https%3A%2F%2Fwww.tiktok.com%2F%40khaby.lame%2Fvideo%2F7646812028874673439&commentId=7652622392003003157" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok User Followers API - List a TikTok user's followers — id, secUid, createTime, region, language, cursor pagination. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/tiktok/user-followers` - Parameters: - `url` (string, required): TikTok 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. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. - `limit` (integer, optional): Max items to return (default 50, max 500). Flat 1 credit per call. - `cursor` (string, optional): Pagination cursor (TikTok minCursor). Leave empty for the first page; then pass nextCursor from the previous response. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_user_followers` - Docs: https://captapi.com/apis/tiktok-user-followers - Example: `curl "https://api.captapi.com/v1/tiktok/user-followers?url=https%3A%2F%2Fwww.tiktok.com%2F%40khaby.lame" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok User Followings API - List who a TikTok user follows — id, secUid, createTime, region, language, cursor pagination. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/tiktok/user-followings` - Parameters: - `url` (string, required): TikTok 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. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. - `limit` (integer, optional): Max items to return (default 50, max 500). Flat 1 credit per call. - `cursor` (string, optional): Pagination cursor (TikTok minCursor). Leave empty for the first page; then pass nextCursor from the previous response. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_user_followings` - Docs: https://captapi.com/apis/tiktok-user-followings - Example: `curl "https://api.captapi.com/v1/tiktok/user-followings?url=https%3A%2F%2Fwww.tiktok.com%2F%40khaby.lame" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Music Posts API - List TikTok videos that use a specific sound — caption, author, exact engagement, canonical hashtags, and mentions, with cursor pagination. - Request: `GET https://api.captapi.com/v1/tiktok/music-posts` - Parameters: - `url` (string, required): TikTok 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, LinkedIn to X/Twitter, or Pinterest to Rumble. - `limit` (integer, optional): 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 call. - `cursor` (string, optional): 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. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_music_posts` - Docs: https://captapi.com/apis/tiktok-music-posts - Example: `curl "https://api.captapi.com/v1/tiktok/music-posts?url=https%3A%2F%2Fwww.tiktok.com%2Fmusic%2Foriginal-sound-7646812079113898783" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Top Search API - TikTok Top/General search — videos and photo carousels when TikTok includes them, with contentType + images[]. - Request: `GET https://api.captapi.com/v1/tiktok/top-search` - Parameters: - `q` (string, required): Search query or keywords (min 2 characters). - `limit` (integer, optional): Max items to return (default 20, max 200). Flat 2 credits per call. - `cursor` (integer, optional): Pagination cursor. Leave 0 for the first page; then pass nextCursor from the previous response. TikTok may return duplicates across pages. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_top_search` - Docs: https://captapi.com/apis/tiktok-top-search - Example: `curl "https://api.captapi.com/v1/tiktok/top-search?q=nasa" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Search by Hashtag API - Videos from TikTok's /tag/{name} challenge feed — not keyword or username search. Cursor + hasMore. - Request: `GET https://api.captapi.com/v1/tiktok/search/hashtag` - Parameters: - `q` (string, required): Single hashtag token for the /tag/{name} challenge feed, with or without # (min 2). Spaces are 400 — use /v1/tiktok/search/top for a keyword query. - `limit` (integer, optional): Max items to return (default 20, max 100). Billed per result. - `cursor` (integer, optional): 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. - `region` (string, optional): Two-letter ISO 3166-1 country our request is sent from. Default US. Does not filter results by country. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~14 credits (0.7/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_search_by_hashtag` - Docs: https://captapi.com/apis/tiktok-search-by-hashtag - Example: `curl "https://api.captapi.com/v1/tiktok/search/hashtag?q=skincare" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Search Users API - Search TikTok users — distinct creators only, id + secUid, per-counter isApproximate flags, cursor pagination. - Request: `GET https://api.captapi.com/v1/tiktok/search/users` - Parameters: - `q` (string, required): Search query matched against usernames, display names and bios (min 2 characters). - `limit` (integer, optional): Max items to return (default 20, max 100). Flat 1 credit per call. - `cursor` (string, optional): 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 the end of the results. - `fallback` (boolean, optional): Opt into the slower fallback path when native search is unavailable (~2 min, capped at 100 s, degraded-empty on timeout). Default false — return an empty degraded page (0 credits) instead. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_search_users` - Docs: https://captapi.com/apis/tiktok-search-users - Example: `curl "https://api.captapi.com/v1/tiktok/search/users?q=khaby" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Song Details API - TikTok sound metadata — usageCount, artists[{id,secUid,handle}], audio{bpm,loudness,beats}, commerce rights (1 credit; 2 via the fallback path). - Request: `GET https://api.captapi.com/v1/tiktok/song-details` - Parameters: - `url` (string, required): TikTok 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, LinkedIn to X/Twitter, or Pinterest to Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (2 via fallback path) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged). 1 credit when served natively; 2 credits when served via the fallback path (may take longer). In the last 30 days 38 of 43 calls took the fallback path and were billed 2. - MCP tool: `tiktok_song_details` - Docs: https://captapi.com/apis/tiktok-song-details - Example: `curl "https://api.captapi.com/v1/tiktok/song-details?url=https%3A%2F%2Fwww.tiktok.com%2Fmusic%2FPumpin-Blood-7659457659034175489" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Trending Feed API - For You by default; pass orderBy/period/page for Creative Center popular videos (like/hot/comment/repost) with totalCount. Flat 2 credits. - Request: `GET https://api.captapi.com/v1/tiktok/trending-feed` - Parameters: - `country` (string, optional): Two-letter ISO country (default US). For You: region-availability hint. Creative Center mode: chart market. - `countryCode` (string, optional): Alias of country. Wins when both are set. - `orderBy` (string, optional): 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) switches from For You to the popular-videos chart. On a For You fallthrough the same sort is applied locally. - `period` (integer, optional): 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. - `page` (integer, optional): Creative Center page (default 1). page>1 triggers chart mode. - `limit` (integer, optional): Max items to return (default 20, max 200). Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_trending_feed` - Docs: https://captapi.com/apis/tiktok-trending-feed - Example: `curl "https://api.captapi.com/v1/tiktok/trending-feed?country=US" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Popular Hashtags API - Related TikTok hashtags — Creative Center chart when it answers, otherwise a disclosed niche fallback. Flat 2 credits. - Request: `GET https://api.captapi.com/v1/tiktok/popular-hashtags` - Parameters: - `country` (string, optional): Two-letter ISO country for the Creative Center chart. Default US. - `period` (integer, optional): Lookback days: 7, 30, or 120 (180→120). Default 7. - `page` (integer, optional): Creative Center page (default 1). - `sortBy` (string, optional): Chart sort: popular (default). - `newOnBoard` (boolean, optional): Only hashtags newly on the Top 100. - `industryId` (string, optional): Optional Creative Center industry_id. - `query` (string, optional): Optional niche seed for co-occurrence + challenge/detail enrich. Omit, or pass trending, to try the Creative Center chart (25s); a miss falls through to related tags for fyp (source=niche_fallback) and opens a service-wide chart circuit. Later default calls skip the chart (chartStatus=skipped_circuit_open) until the cooldown expires. Any other value skips the chart. - `limit` (integer, optional): Max items to return (default 20, max 100). Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_popular_hashtags` - Docs: https://captapi.com/apis/tiktok-popular-hashtags - Example: `curl "https://api.captapi.com/v1/tiktok/popular-hashtags?country=US" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Popular Songs API - Removed 26 Sep 2026 — TikTok deleted the public Creative Center song chart in its TikTok One migration. Calls answer 410 Gone at 0 credits; the endpoint returns if TikTok restores the chart. - Request: `GET https://api.captapi.com/v1/tiktok/popular-songs` - Parameters: - `country` (string, optional): Two-letter ISO country. Default US. - `period` (integer, optional): 7, 30, or 120 days (180→120). Default 7. - `page` (integer, optional): Creative Center page (1–20). Echoed on a native chart 200 with hasMore. Omitted on the extended path — that list is one page. - `rankType` (string, optional): popular | surging. Default popular. - `newOnBoard` (boolean, optional): Only sounds newly on the Top 100. - `commercialMusic` (boolean, optional): Only Commercial Music Library–cleared sounds. - `limit` (integer, optional): Max items to return (default 20, max 20). Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_popular_songs` - Docs: https://captapi.com/apis/tiktok-popular-songs - Example: `curl "https://api.captapi.com/v1/tiktok/popular-songs?country=US" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Live API - 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. - Request: `GET https://api.captapi.com/v1/tiktok/live` - Parameters: - `url` (string, required): TikTok 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. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_live` - Docs: https://captapi.com/apis/tiktok-live - Example: `curl "https://api.captapi.com/v1/tiktok/live?url=https%3A%2F%2Fwww.tiktok.com%2F%40khaby.lame" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Live Info API - Identical to TikTok Live (isLive, creator.id/secUid, streamQualities hls/cmaf). - Request: `GET https://api.captapi.com/v1/tiktok/live-info` - Parameters: - `url` (string, required): TikTok 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. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_live_info` - Docs: https://captapi.com/apis/tiktok-live-info - Example: `curl "https://api.captapi.com/v1/tiktok/live-info?url=https%3A%2F%2Fwww.tiktok.com%2F%40khaby.lame" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Popular Creators API - Creative Center creators + createTime / bioLinkRisk / ttSeller hydrate for partnership vetting. - Request: `GET https://api.captapi.com/v1/tiktok/popular-creators` - Parameters: - `country` (string, optional): Two-letter ISO country code. Default US. - `sort` (string, optional): follower, engagement, or popularity. Default follower. - `page` (integer, optional): Creative Center page (default 1). - `follower_count` (string, optional): Optional range on the For You / fallback path: 10k-100k, 100k-1m, 1m-10m, >10m. - `limit` (integer, optional): Max items to return (default 20, max 100). Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. - `cacheMaxAge` (string, optional): Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_popular_creators` - Docs: https://captapi.com/apis/tiktok-popular-creators - Example: `curl "https://api.captapi.com/v1/tiktok/popular-creators?country=US" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Instagram Reels (17 endpoints) Extract data from Instagram Reels and posts including transcripts and profile analytics. #### Instagram Transcript API - Turn any Instagram Reel's speech into text — the full transcript plus timestamped segments, ready for search, subtitles, or AI pipelines. - Request: `GET https://api.captapi.com/v1/instagram/transcript` - Parameters: - `url` (string, required): Instagram Reel URL, e.g. https://instagram.com/reel/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 Rumble. - `language` (string, optional): Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `instagram_transcript` - Docs: https://captapi.com/apis/instagram-transcript - Example: `curl "https://api.captapi.com/v1/instagram/transcript?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FDZFsjH9E3gK%2F" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Instagram Summarizer API - Get an AI summary of any Instagram Reel — a short paragraph plus key points, without watching the video. - Request: `GET https://api.captapi.com/v1/instagram/summarize` - Parameters: - `url` (string, required): Instagram Reel URL, e.g. https://instagram.com/reel/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 Rumble. - `language` (string, optional): ISO code, e.g. "tr": pins the speech language and sets the summary output language. Defaults to auto-detect + English summary. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 4 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `instagram_summarize` - Docs: https://captapi.com/apis/instagram-summarizer - Example: `curl "https://api.captapi.com/v1/instagram/summarize?url=https%3A%2F%2Fwww.instagram.com%2Fgaryvee%2Freel%2FDMpuiXeubFY%2F" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Instagram Post & Reel Details API - Get an Instagram post, Reel or carousel — caption, likes, comments, views, media URLs, author, and per-slide children on carousels. - Request: `GET https://api.captapi.com/v1/instagram/details` - Parameters: - `url` (string, required): Instagram post or reel URL, e.g. https://instagram.com/reel/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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `instagram_details` - Docs: https://captapi.com/apis/instagram-details - Example: `curl "https://api.captapi.com/v1/instagram/details?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FDbYaLffE2DD%2F" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Instagram Post Comments API - Session-paged Instagram comments — a logged-out 2-row preview of a larger thread is 503 SESSION_UNAVAILABLE at 0 credits. - Request: `GET https://api.captapi.com/v1/instagram/comments` - Parameters: - `url` (string, required): Instagram post or reel URL, e.g. https://instagram.com/reel/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 Rumble. - `limit` (integer, optional): Max items to return (default 50, max 500). Billed per result. - `cursor` (string, optional): Pagination cursor from the previous nextCursor ({mediaPk}:{minId}). Omit on the first page. hasMore is true when nextCursor is set, or when more exist and cannot be paged (nextCursor null + truncatedReason). - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~45 credits (0.9/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `instagram_comments` - Docs: https://captapi.com/apis/instagram-comments - Example: `curl "https://api.captapi.com/v1/instagram/comments?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FDZFqdAxlkUG%2F" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Instagram Channel Details API - Instagram profile stats — fixed key set (null fillers), fbid, bioLinks, isBusinessAccount, approx flags. - Request: `GET https://api.captapi.com/v1/instagram/channel-details` - Parameters: - `url` (string, required): Instagram profile URL, @handle, or username, e.g. https://instagram.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, LinkedIn to X/Twitter, or Pinterest to Rumble. - `cache` (boolean, optional): Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. - `cacheMaxAge` (string, optional): Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `instagram_channel_details` - Docs: https://captapi.com/apis/instagram-channel-details - Example: `curl "https://api.captapi.com/v1/instagram/channel-details?url=https%3A%2F%2Finstagram.com%2Fnatgeo" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Instagram Channel Posts API - Latest posts from a public Instagram profile — carousel children[], mediaCount, user{} in one call. - Request: `GET https://api.captapi.com/v1/instagram/channel-posts` - Parameters: - `url` (string, required): Instagram profile URL, @handle, or username, e.g. https://instagram.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, LinkedIn to X/Twitter, or Pinterest to Rumble. - `limit` (integer, optional): Max items to return (default 20, max 200). Billed per result. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (e.g. 3937014945555313553_1697296). A null nextCursor means the end of the list. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~6 credits (0.3/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `instagram_channel_posts` - Docs: https://captapi.com/apis/instagram-channel-posts - Example: `curl "https://api.captapi.com/v1/instagram/channel-posts?url=https%3A%2F%2Fwww.instagram.com%2Fnasa%2F" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Instagram Channel Reels API - Latest Reels from a public Instagram profile — pass userId to skip resolve; ceil(n×0.3) credits; nextCursor + hasMore. - Request: `GET https://api.captapi.com/v1/instagram/channel-reels` - Parameters: - `url` (string, optional): Instagram profile URL, @handle, or username. Omit when userId is set. The URL platform must match this endpoint's platform. - `userId` (string, optional): Instagram numeric user ID (e.g. 173560420). Skips handle→ID resolve (legacy sequential WPI alone could cost ~80s). Prefer when you already have the ID from basic-profile or profile-search. - `limit` (integer, optional): Max items to return (default 20, max 200). Billed per result. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass nextCursor from the previous response (clips:{userId}:{opaque} on the native Reels path, or legacy {mediaId}_{userId}). Stop when hasMore is false. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~6 credits (0.3/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `instagram_channel_reels` - Docs: https://captapi.com/apis/instagram-channel-reels - Example: `curl "https://api.captapi.com/v1/instagram/channel-reels?url=https%3A%2F%2Fwww.instagram.com%2Fcristiano%2F" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Instagram Reels Search API - Native tag feed first, slower fallback paths on a miss. Max 50. Flat 2 credits. - Request: `GET https://api.captapi.com/v1/instagram/reels-search` - Parameters: - `q` (string, required): Hashtag without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES. - `limit` (integer, optional): Max items to return (default 20, max 50). Flat 2 credits per call. - `datePosted` (string, optional): last_24_hours | last_week | last_month | last_year (aliases: today, this_week, this_month, this_year). - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `instagram_reels_search` - Docs: https://captapi.com/apis/instagram-reels-search - Example: `curl "https://api.captapi.com/v1/instagram/reels-search?q=travel" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Instagram Trending Reels API - Cache-first trending Reels. Feed outage → labelled country hashtag-clips stand-in (listing field), never a silent swap. Max 50. Flat 2 credits. - Request: `GET https://api.captapi.com/v1/instagram/trending-reels` - Parameters: - `country` (string, optional): Country for Reels localization — full name or ISO code (e.g. 'United States', 'US', 'Turkey', 'TR'). Default United States. Unsupported values return 400 with supportedCountries[]. - `limit` (integer, optional): Max items to return (default 10, max 50). Flat 2 credits per call. - `cache` (boolean, optional): Default true (cache-first): serve the per-country response cache when present (TTL 4 hours). Every successful call costs 2 credits — including cache hits. Set false to force a live scrape (measured miss 45–75s, hard-capped at 110s). Raise client timeouts above 90s — n8n/Make defaults will fail a miss. The fresh result still refreshes the cache. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `instagram_trending_reels` - Docs: https://captapi.com/apis/instagram-trending-reels - Example: `curl "https://api.captapi.com/v1/instagram/trending-reels?country=US" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Instagram Tagged Posts API - Posts that tag an Instagram account — author verified/avatar when available, staleFeed when Instagram only exposes an archive. - Request: `GET https://api.captapi.com/v1/instagram/tagged-posts` - Parameters: - `url` (string, required): Instagram profile URL, @handle, or username, e.g. https://instagram.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, LinkedIn to X/Twitter, or Pinterest to Rumble. - `limit` (integer, optional): Max items to return (default 20, max 200). Flat 1 credit per call. - `cursor` (string, optional): Leave empty for the first page; then pass the nextCursor value returned in the previous response. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `instagram_tagged_posts` - Docs: https://captapi.com/apis/instagram-tagged-posts - Example: `curl "https://api.captapi.com/v1/instagram/tagged-posts?url=https%3A%2F%2Fwww.instagram.com%2Fnasa%2F" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Instagram Reels By Audio ID API - Is this Instagram sound trending? Reels that use it + isTrendingInClips / trendRank / rich music{}. - Request: `GET https://api.captapi.com/v1/instagram/reels-by-audio-id` - Parameters: - `audioId` (string, required): Instagram audio/music ID or full audio URL, e.g. 27919946310946207. - `limit` (integer, optional): Max items to return (default 20, max 200). Billed per result. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~28 credits (1.4/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `instagram_reels_by_audio_id` - Docs: https://captapi.com/apis/instagram-reels-by-audio-id - Example: `curl "https://api.captapi.com/v1/instagram/reels-by-audio-id?audioId=27919946310946207" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Instagram Hashtag Search API - Hashtag Explore: native grid first, fallback path only on miss. Max 50. Flat 2 credits. - Request: `GET https://api.captapi.com/v1/instagram/hashtag-search` - Parameters: - `q` (string, required): Hashtag without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES. - `limit` (integer, optional): Max items to return (default 20, max 50). Flat 2 credits per call. - `mediaType` (string, optional): all (default) or reels — return only Reels/clips when set to reels. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `instagram_hashtag_search` - Docs: https://captapi.com/apis/instagram-hashtag-search - Example: `curl "https://api.captapi.com/v1/instagram/hashtag-search?q=skincare" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Instagram Profile Search API - Resolve a brand or @handle to one public Instagram profile — stable id, bio, links, and stats (not niche discovery). - Request: `GET https://api.captapi.com/v1/instagram/profile-search` - Parameters: - `q` (string, required): Account name, @handle, or profile URL to resolve (min 2 characters). A leading _, accents (misión → mision), spaces and URL query strings (?igsh=…) are stripped. A q with no usable username characters is 400 BAD_REQUEST. Not a niche keyword search. - `cache` (boolean, optional): Serve from the 24h shared cache when available (0 credits on hit). Default true — set false to always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `instagram_profile_search` - Docs: https://captapi.com/apis/instagram-profile-search - Example: `curl "https://api.captapi.com/v1/instagram/profile-search?q=nike" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Instagram Embed HTML API - Classic Instagram embed snippet — blockquote.instagram-media + embed.js. Drop html into your page. - Request: `GET https://api.captapi.com/v1/instagram/embed` - Parameters: - `url` (string, required): Instagram post, reel, or profile URL (or @handle), e.g. https://instagram.com/reel/ID/ or https://instagram.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, LinkedIn to X/Twitter, or Pinterest to Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `instagram_embed` - Docs: https://captapi.com/apis/instagram-embed - Example: `curl "https://api.captapi.com/v1/instagram/embed?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FDZFqdAxlkUG%2F" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Instagram Highlights API - Persistent Story Highlight albums for a public profile — id, title, cover, owner. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/instagram/highlights` - Parameters: - `url` (string, optional): Instagram profile URL, @handle, or username. Omit when userId is set. - `userId` (string, optional): Numeric Instagram user ID. Prefer when known — skips handle→ID resolve. When only userId is set we reverse-resolve the username so the WPI / profile-HTML shelf can still run. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `instagram_highlights` - Docs: https://captapi.com/apis/instagram-highlights - Example: `curl "https://api.captapi.com/v1/instagram/highlights?url=https%3A%2F%2Fwww.instagram.com%2Fnatgeo%2F" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Instagram Highlights Details API - Items inside one Instagram Story Highlight album — media URLs, type, takenAt. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/instagram/highlights-details` - Parameters: - `id` (string, required): Highlight id from /v1/instagram/highlights (with or without highlight: prefix). - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `instagram_highlights_details` - Docs: https://captapi.com/apis/instagram-highlights-details - Example: `curl "https://api.captapi.com/v1/instagram/highlights-details?id=highlight%3A18201653992314974" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Instagram Basic Profile API - Instagram profile by user ID or @handle — camelCase schema aligned with Channel Details (followers, externalUrl, businessAddress). - Request: `GET https://api.captapi.com/v1/instagram/basic-profile` - Parameters: - `userId` (string, required): Instagram numeric pk (e.g. 13460080 — the id field on this endpoint), or a profile URL / @handle / username. A Facebook/Graph fbid (17-digit 17841…) is 400 WRONG_ID_TYPE. - `cache` (boolean, optional): Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. - `cacheMaxAge` (string, optional): Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `instagram_basic_profile` - Docs: https://captapi.com/apis/instagram-basic-profile - Example: `curl "https://api.captapi.com/v1/instagram/basic-profile?userId=13460080" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Facebook (9 endpoints) Pull details, summaries, and comments from public Facebook videos and pages. #### Facebook Post & Reel Details API - Facebook post or Reel — caption, engagement, author id, video{} playback, and music when Facebook exposes them. - Request: `GET https://api.captapi.com/v1/facebook/details` - Parameters: - `url` (string, required): Public Facebook video or post URL. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_details` - Docs: https://captapi.com/apis/facebook-details - Example: `curl "https://api.captapi.com/v1/facebook/details?url=https%3A%2F%2Fwww.facebook.com%2Freel%2F1376651124309650" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Facebook Summarizer API - Turn any Facebook video into an AI summary with key points, topics, and sentiment. - Request: `GET https://api.captapi.com/v1/facebook/summarize` - Parameters: - `url` (string, required): Public Facebook video or post URL. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 4 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_summarize` - Docs: https://captapi.com/apis/facebook-summarizer - Example: `curl "https://api.captapi.com/v1/facebook/summarize?url=https%3A%2F%2Fwww.facebook.com%2FNASA%2Fposts%2Fpfbid0TBwRTPkxfaLhYBjfsK1xApVksSVHddNrpqUqcqNsKxVvKjqT6dAG8HnxWGA3odp5l" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Facebook Comments API - Facebook post comments with reactionCount, reactions.like when mixed, author.id (pfbid), and replyCount. - Request: `GET https://api.captapi.com/v1/facebook/comments` - Parameters: - `url` (string, optional): Facebook post or Reel URL. Omit when feedbackId is set. The URL platform must match this endpoint's platform. A page/profile URL also works: Facebook renders the page's most recent post first, so you get that post's comments (each comment's url names the actual post). - `feedbackId` (string, optional): Post feedback id from /v1/facebook/details (base64 feedback:POSTID). Prefer when you already have it — also accepts feedback_id. - `limit` (integer, optional): Max items to return (default 50, max 500). Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_comments` - Docs: https://captapi.com/apis/facebook-comments - Example: `curl "https://api.captapi.com/v1/facebook/comments?url=https%3A%2F%2Fwww.facebook.com%2FNASA%2Fposts%2Fpfbid02skzNsrLf5atYZfzvzHAK9gHwDnZC5u4pDZMLQ1u3iJmfoA8tNsGpT7Uj6WPs6K3Rl" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Facebook Page Details API - Facebook page profile — likes vs followers (distinct), talkingAbout, category, website, and public email. - Request: `GET https://api.captapi.com/v1/facebook/page-details` - Parameters: - `url` (string, required): Facebook page URL, @handle, or page name, e.g. https://facebook.com/PageName. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_page_details` - Docs: https://captapi.com/apis/facebook-page-details - Example: `curl "https://api.captapi.com/v1/facebook/page-details?url=https%3A%2F%2Fwww.facebook.com%2FNASA" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Facebook Profile Posts API - Latest posts and Reels from a Facebook page — listingHits / timings.phase; 60s deadline, failures 0 credits. - Request: `GET https://api.captapi.com/v1/facebook/profile-posts` - Parameters: - `url` (string, required): Facebook profile/page URL, @handle, or page name. 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 Rumble. - `limit` (integer, optional): Max items to return (default 4, max 4). The logged-out listing hop is ~23–29s typical, hard-capped at 40s. Each hydrate is typically 6–10s (can be ~100ms when listing already carried the post) and is capped at 12s. The next-item fit check uses that 12s cap, not the typical 6–10s, so a call cannot exceed 60s. The loop stops when the next item would miss the 60s deadline and returns what it has (truncatedReason=hydrate-budget | deadline). Asking for 20 cannot return 20 inside that ceiling. Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_profile_posts` - Docs: https://captapi.com/apis/facebook-profile-posts - Example: `curl "https://api.captapi.com/v1/facebook/profile-posts?url=https%3A%2F%2Fwww.facebook.com%2FNASA" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Facebook Profile Reels API - Latest Facebook page Reels — views, likes, comments, shares; newest-first without archive padding. - Request: `GET https://api.captapi.com/v1/facebook/profile-reels` - Parameters: - `url` (string, required): Facebook profile/page URL, @handle, or page name. 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 Rumble. - `limit` (integer, optional): Max items to return (default 20, max 200). Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_profile_reels` - Docs: https://captapi.com/apis/facebook-profile-reels - Example: `curl "https://api.captapi.com/v1/facebook/profile-reels?url=https%3A%2F%2Fwww.facebook.com%2FNASA" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Facebook Group Posts API - Public Facebook group posts — listingHits / hydrateFailures / hydrateSkipped, sortBy, and per-count *IsApproximate. - Request: `GET https://api.captapi.com/v1/facebook/group-posts` - Parameters: - `url` (string, required): Public Facebook group URL, e.g. https://facebook.com/groups/ID. Must contain /groups/ — profile/page URLs are a definitive 400 (use /v1/facebook/profile-posts for those). 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 Rumble. - `limit` (integer, optional): Max items to return (default 20, max 200). Flat 2 credits per call. - `sortBy` (string, optional): TOP_POSTS | RECENT_ACTIVITY | CHRONOLOGICAL (default) | CHRONOLOGICAL_LISTINGS. Maps to Facebook sorting_setting. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_group_posts` - Docs: https://captapi.com/apis/facebook-group-posts - Example: `curl "https://api.captapi.com/v1/facebook/group-posts?url=https%3A%2F%2Fwww.facebook.com%2Fgroups%2Fdogspotting" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Facebook Comment Replies API - Pull replies under a Facebook comment — author, text, likes, and time. - Request: `GET https://api.captapi.com/v1/facebook/comment-replies` - Parameters: - `url` (string, required): Facebook post URL the comment belongs to. 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 Rumble. - `commentId` (string, required): ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id. - `limit` (integer, optional): Max items to return (default 50, max 500). Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_comment_replies` - Docs: https://captapi.com/apis/facebook-comment-replies - Example: `curl "https://api.captapi.com/v1/facebook/comment-replies?url=https%3A%2F%2Fwww.facebook.com%2FNASA%2Fposts%2Fpfbid02skzNsrLf5atYZfzvzHAK9gHwDnZC5u4pDZMLQ1u3iJmfoA8tNsGpT7Uj6WPs6K3Rl&commentId=1009195248315125" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Facebook Profile Photos API - Photo grid from a Facebook Page — full image URL plus accessibilityCaption (alt-text, not a post caption). - Request: `GET https://api.captapi.com/v1/facebook/profile-photos` - Parameters: - `url` (string, required): Facebook profile/page URL, @handle, or page name. 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 Rumble. - `limit` (integer, optional): Max items to return (default 20, max 200). The public /photos grid is a single SSR batch (often ~8) — retrievableCount is that batch, not a promise Facebook will fill limit. Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_profile_photos` - Docs: https://captapi.com/apis/facebook-profile-photos - Example: `curl "https://api.captapi.com/v1/facebook/profile-photos?url=https%3A%2F%2Fwww.facebook.com%2FNASA" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Twitter / X (6 endpoints) Pull tweet metadata and engagement, profiles, timelines, and keyword search from Twitter / X. #### Twitter/X Tweet Details API - One tweet as JSON — text, author (followers), likes/replies/retweets/quotes, media, ISO publishedAt. - Request: `GET https://api.captapi.com/v1/twitter/tweet-details` - Parameters: - `url` (string, required): Public tweet URL, e.g. https://x.com/user/status/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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `twitter_tweet_details` - Docs: https://captapi.com/apis/twitter-tweet-details - Example: `curl "https://api.captapi.com/v1/twitter/tweet-details?url=https%3A%2F%2Fx.com%2FNASASpox%2Fstatus%2F2078224758781751775" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Twitter/X Transcript API - Tweet text as a transcript — timingSource none (not speech-to-text). Flat 1 credit. - Request: `GET https://api.captapi.com/v1/twitter/transcript` - Parameters: - `url` (string, required): Public tweet URL, e.g. https://x.com/user/status/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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `twitter_transcript` - Docs: https://captapi.com/apis/twitter-transcript - Example: `curl "https://api.captapi.com/v1/twitter/transcript?url=https%3A%2F%2Fx.com%2FNASASpox%2Fstatus%2F2078226501024227542" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Twitter/X Profile API - X profile: verified + blue/legacy/identity, displayName, avatar/banner, tipjar→contact{}, expanded website. - Request: `GET https://api.captapi.com/v1/twitter/profile` - Parameters: - `url` (string, required): Twitter/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, LinkedIn to X/Twitter, or Pinterest to Rumble. - `cache` (boolean, optional): Set true to use the 1-hour profile cache (0 credits on hit). Default false — always fetch fresh. Prefer cacheMaxAge for 1d–30d. - `cacheMaxAge` (string, optional): Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `twitter_profile` - Docs: https://captapi.com/apis/twitter-profile - Example: `curl "https://api.captapi.com/v1/twitter/profile?url=https%3A%2F%2Fx.com%2FNASA" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Twitter/X User Tweets API - Most popular public tweets from a Twitter/X profile (~100 cap) — not chronological. Text, author, engagement, hashtags, media. Flat 2 credits. - Request: `GET https://api.captapi.com/v1/twitter/user-tweets` - Parameters: - `url` (string, required): Twitter/X 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 Pinterest to Rumble. - `limit` (integer, optional): Max tweets to return (default 20, max 200). Twitter's public surface usually caps around ~100 most popular posts — not chronological latest. Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `twitter_user_tweets` - Docs: https://captapi.com/apis/twitter-user-tweets - Example: `curl "https://api.captapi.com/v1/twitter/user-tweets?url=https%3A%2F%2Fx.com%2FNASA" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Twitter/X Community API - X Community metadata — ISO createdAt, flat creator handle, isNsfw + bannerImage, rules[]. - Request: `GET https://api.captapi.com/v1/twitter/community` - Parameters: - `url` (string, required): X 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, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `twitter_community` - Docs: https://captapi.com/apis/twitter-community - Example: `curl "https://api.captapi.com/v1/twitter/community?url=https%3A%2F%2Fx.com%2Fi%2Fcommunities%2F1493446837214187523" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Twitter/X Community Tweets API - Posts in an X Community — same 6-metric tweet shape as search. Flat 2 credits. - Request: `GET https://api.captapi.com/v1/twitter/community-tweets` - Parameters: - `url` (string, required): X 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, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. - `limit` (integer, optional): Max items to return (default 25, max 200). Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `twitter_community_tweets` - Docs: https://captapi.com/apis/twitter-community-tweets - Example: `curl "https://api.captapi.com/v1/twitter/community-tweets?url=https%3A%2F%2Fx.com%2Fi%2Fcommunities%2F1493446837214187523" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Reddit (7 endpoints) Fetch subreddit posts, post details and stats, comment threads, and keyword search from Reddit. #### Reddit Subreddit Posts API - List posts from a subreddit with sort, timeframe, and cursor pagination — title, score, upvote ratio, flair, and more. - Request: `GET https://api.captapi.com/v1/reddit/subreddit-posts` - Parameters: - `url` (string, required): Subreddit URL, r/name, or bare name, e.g. r/technology. 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 Rumble. - `limit` (integer, optional): Max items to return (default 25, max 200). Flat 2 credits per call. - `sort` (string, optional): Feed sort: best, hot, new (default), top, or rising. - `timeframe` (string, optional): For sort=top: hour, day (default), week, month, year, or all. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `reddit_subreddit_posts` - Docs: https://captapi.com/apis/reddit-subreddit-posts - Example: `curl "https://api.captapi.com/v1/reddit/subreddit-posts?url=https%3A%2F%2Fwww.reddit.com%2Fr%2Ftechnology%2F" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Reddit Post Details API - Get a Reddit post — title, body, score, comments count, subreddit, and author as structured JSON. - Request: `GET https://api.captapi.com/v1/reddit/post-details` - Parameters: - `url` (string, required): Reddit post URL, e.g. https://reddit.com/r/sub/comments/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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `reddit_post_details` - Docs: https://captapi.com/apis/reddit-post-details - Example: `curl "https://api.captapi.com/v1/reddit/post-details?url=https%3A%2F%2Fwww.reddit.com%2Fr%2Fexplainlikeimfive%2Fcomments%2F1ukq10z%2Feli5_monthly_current_events_megathread%2F" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Reddit Post Comments API - Flat Reddit comment threads with depth/parentId, cursor pagination, and the parent post in one call. - Request: `GET https://api.captapi.com/v1/reddit/post-comments` - Parameters: - `url` (string, required): Reddit post URL. 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 Rumble. - `limit` (integer, optional): Max items to return (default 50, max 500). Flat 2 credits per call. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `reddit_post_comments` - Docs: https://captapi.com/apis/reddit-post-comments - Example: `curl "https://api.captapi.com/v1/reddit/post-comments?url=https%3A%2F%2Fwww.reddit.com%2Fr%2Fworldnews%2Fcomments%2F1v9vtop%2Fjapans_population_falls_below_120_million_for%2F" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Reddit Post Transcript API - Written post text — title, body and top comments. Not a speech transcript. Flat 2 credits. - Request: `GET https://api.captapi.com/v1/reddit/post-transcript` - Parameters: - `url` (string, required): Reddit post URL. 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 Rumble. - `limit` (integer, optional): Max items to return (default 50, max 200). Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `reddit_post_transcript` - Docs: https://captapi.com/apis/reddit-post-transcript - Example: `curl "https://api.captapi.com/v1/reddit/post-transcript?url=https%3A%2F%2Fwww.reddit.com%2Fr%2Fspace%2Fcomments%2F1umfd43%2Fradiation_exposure_may_become_the_biggest%2F" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Reddit Search API - Reddit site-wide post search — sort + timeframe + cursor, score/upvoteRatio, authorFullname. Flat 2 credits. - Request: `GET https://api.captapi.com/v1/reddit/search` - Parameters: - `q` (string, required): Keyword or phrase to search Reddit posts site-wide (min 2 characters). - `sort` (string, optional): relevance (default) | new | top | hot | comments (alias: comment_count). - `timeframe` (string, optional): For sort=top or comments: hour | day | week | month | year | all (default all). - `limit` (integer, optional): Max items to return (default 25, max 200). Flat 2 credits per call. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `reddit_search` - Docs: https://captapi.com/apis/reddit-search - Example: `curl "https://api.captapi.com/v1/reddit/search?q=james%20webb" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Reddit Subreddit Details API - Subreddit card — id (t5_…), members, activeUsers, rules[], ISO createdAt, nsfw/type. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/reddit/subreddit-details` - Parameters: - `url` (string, required): Subreddit URL, r/name, or bare name (case-insensitive), e.g. r/technology or AskReddit. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `reddit_subreddit_details` - Docs: https://captapi.com/apis/reddit-subreddit-details - Example: `curl "https://api.captapi.com/v1/reddit/subreddit-details?url=https%3A%2F%2Fwww.reddit.com%2Fr%2Fspace" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Reddit Subreddit Post Search API - Search posts inside one subreddit — not subreddit discovery. Same sort/timeframe as site-wide Search. Flat 2 credits. - Request: `GET https://api.captapi.com/v1/reddit/subreddit-search` - Parameters: - `url` (string, required): Subreddit URL, r/name, or bare name, e.g. r/technology. 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 Rumble. - `q` (string, required): Keywords or search query (min 2 characters). - `sort` (string, optional): relevance (default) | new | top | hot | comments (alias: comment_count). - `timeframe` (string, optional): For sort=top or comments: hour | day | week | month | year | all (default all). - `limit` (integer, optional): Max items to return (default 25, max 200). Flat 2 credits per call. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `reddit_subreddit_search` - Docs: https://captapi.com/apis/reddit-subreddit-search - Example: `curl "https://api.captapi.com/v1/reddit/subreddit-search?url=https%3A%2F%2Fwww.reddit.com%2Fr%2Ftechnology%2F&q=moon" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Threads (5 endpoints) Public Threads profiles, recent posts, and keyword search as JSON — no Meta app or Facebook Login. #### Threads Profile API - Threads profile — displayName, private/isPrivate, bioLinks (Meta verified), isThreadsOnlyUser, transparencyLabel, bioFragments, HD avatars (1 credit). - Request: `GET https://api.captapi.com/v1/threads/profile` - Parameters: - `url` (string, required): Threads 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 Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `threads_profile` - Docs: https://captapi.com/apis/threads-profile - Example: `curl "https://api.captapi.com/v1/threads/profile?url=https%3A%2F%2Fwww.threads.net%2F%40zuck" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Threads User Posts API - Recent Threads posts — engagement{views,likes,replies,reposts,quotes}, threadId/isReply. Flat 2 credits. source + stages/ms. - Request: `GET https://api.captapi.com/v1/threads/user-posts` - Parameters: - `url` (string, required): Threads 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 Pinterest to Rumble. - `limit` (integer, optional): 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 credits on every successful path (native and extended). - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `threads_user_posts` - Docs: https://captapi.com/apis/threads-user-posts - Example: `curl "https://api.captapi.com/v1/threads/user-posts?url=https%3A%2F%2Fwww.threads.net%2F%40zuck" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Threads Post Details API - Threads post — engagement (views when exposed), comments[], relatedPosts[], threadId/isReply. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/threads/post-details` - Parameters: - `url` (string, required): Threads 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, LinkedIn to X/Twitter, or Pinterest to Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `threads_post_details` - Docs: https://captapi.com/apis/threads-post-details - Example: `curl "https://api.captapi.com/v1/threads/post-details?url=https%3A%2F%2Fwww.threads.net%2F%40zuck%2Fpost%2FDZ7eGA1G7wU" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Threads Post Search API - Threads keyword search — posts with engagement + media. orderBy relevant | post_dated | engagement. Flat 2 credits. - Request: `GET https://api.captapi.com/v1/threads/search` - Parameters: - `q` (string, required): Keyword or phrase to search public Threads posts (min 2 characters). - `limit` (integer, optional): Max items to return (default 25, max 200). Flat 2 credits per call. - `orderBy` (string, optional): 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. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `threads_search` - Docs: https://captapi.com/apis/threads-search - Example: `curl "https://api.captapi.com/v1/threads/search?q=artificial%20intelligence" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Threads Search Users API - Threads user discovery from keyword search — id, handle, avatar, verified. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/threads/search-users` - Parameters: - `q` (string, required): Keyword to find Threads users / creators (min 2 characters). - `limit` (integer, optional): Max items to return (default 20, max 100). Flat 1 credit per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `threads_search_users` - Docs: https://captapi.com/apis/threads-search-users - Example: `curl "https://api.captapi.com/v1/threads/search-users?q=tech" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Bluesky (3 endpoints) Public AT Protocol profiles, author feeds, and threads as the same JSON shape as our other platforms — no AT Protocol client. #### Bluesky Profile API - Bluesky profile — handle, did, bio, counts, banner, verification{}, labels[], and associated{} (1 credit). - Request: `GET https://api.captapi.com/v1/bluesky/profile` - Parameters: - `url` (string, required): Bluesky profile URL, @handle, or handle, e.g. bsky.app/profile/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 Pinterest to Rumble. - `cache` (boolean, optional): Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. - `cacheMaxAge` (string, optional): Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `bluesky_profile` - Docs: https://captapi.com/apis/bluesky-profile - Example: `curl "https://api.captapi.com/v1/bluesky/profile?url=https%3A%2F%2Fbsky.app%2Fprofile%2Fjay.bsky.team" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Bluesky User Posts API - Author feed — posts and reposts (isRepost marked), quote/external/images embeds, opaque cursor. - Request: `GET https://api.captapi.com/v1/bluesky/user-posts` - Parameters: - `url` (string, required): Bluesky profile URL, @handle, or handle, e.g. https://bsky.app/profile/handle.bsky.social. 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 Rumble. - `limit` (integer, optional): Max items to return (default 25, max 100). Billed per result. - `cursor` (string, optional): Opaque pagination cursor from the previous nextCursor. Leave empty for the first page. Do not invent a cursor from publishedAt — the feed is ordered by feed time (reposts sort by repost time). - `filter` (string, optional): Bluesky getAuthorFeed filter: posts_with_replies (default), posts_no_replies, posts_with_media, posts_and_author_threads, or posts_with_video. Controls replies/media/threads — not reposts. Use includeReposts=false to drop reposts. - `includeReposts` (boolean, optional): When false, omit repost rows (reasonRepost). Default true — reposts are included and marked with isRepost / repostedBy / repostedAt. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~3 credits (0.1/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `bluesky_user_posts` - Docs: https://captapi.com/apis/bluesky-user-posts - Example: `curl "https://api.captapi.com/v1/bluesky/user-posts?url=https%3A%2F%2Fbsky.app%2Fprofile%2Fbsky.app" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Bluesky Post Details API - Post thread via getPostThread — nested replies[], facet links/mentions/hashtags, rich author (1 credit). - Request: `GET https://api.captapi.com/v1/bluesky/post-details` - Parameters: - `url` (string, required): Bluesky post URL, e.g. https://bsky.app/profile/handle/post/RKEY. 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 Rumble. - `depth` (integer, optional): Reply nesting levels under the post (0 = post only with no replies[], default 1, max 6). Maps to Bluesky getPostThread depth. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `bluesky_post_details` - Docs: https://captapi.com/apis/bluesky-post-details - Example: `curl "https://api.captapi.com/v1/bluesky/post-details?url=https%3A%2F%2Fbsky.app%2Fprofile%2Fdanabra.mov%2Fpost%2F3mqjnjafz2s2k" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Pinterest (5 endpoints) Public Pinterest pins, boards, and keyword search as JSON — no Pinterest developer app or OAuth. #### Pinterest Pin Details API - Get a Pinterest pin — title, description, link, board, origin creator, and engagement as structured JSON. - Request: `GET https://api.captapi.com/v1/pinterest/pin-details` - Parameters: - `url` (string, required): Pinterest pin URL, e.g. https://pinterest.com/pin/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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `pinterest_pin_details` - Docs: https://captapi.com/apis/pinterest-pin-details - Example: `curl "https://api.captapi.com/v1/pinterest/pin-details?url=https%3A%2F%2Fwww.pinterest.com%2Fpin%2F422281212828530%2F" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Pinterest User Pins API - Pins from a Pinterest profile — offset cursor, pidgets window ~100. - Request: `GET https://api.captapi.com/v1/pinterest/user-pins` - Parameters: - `url` (string, required): Pinterest 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 Pinterest to Rumble. - `limit` (integer, optional): Max items to return (default 25, max 200). Billed per result. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window (pidgets ~100). - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~13 credits (0.5/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `pinterest_user_pins` - Docs: https://captapi.com/apis/pinterest-user-pins - Example: `curl "https://api.captapi.com/v1/pinterest/user-pins?url=https%3A%2F%2Fwww.pinterest.com%2Fnasa" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Pinterest Search API - Keyword pin search — offset cursor, SERP window 40. - Request: `GET https://api.captapi.com/v1/pinterest/search` - Parameters: - `q` (string, required): Keywords or search query (min 2 characters). - `limit` (integer, optional): Max items to return (default 25, max 200). Billed per result. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the SERP window (max 40). - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~13 credits (0.5/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `pinterest_search` - Docs: https://captapi.com/apis/pinterest-search - Example: `curl "https://api.captapi.com/v1/pinterest/search?q=living%20room%20decor" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Pinterest Board API - Pins on a Pinterest board — saves, imageOriginal, destinationUrl, top-level author. ~0.5 credits/pin. - Request: `GET https://api.captapi.com/v1/pinterest/board` - Parameters: - `url` (string, required): Pinterest board URL (.../username/board-name/), not a /pin/ URL. Example: https://www.pinterest.com/potterybarn/rustic-lodge-lookbook/. 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 Rumble. - `limit` (integer, optional): Max items to return (default 25, max 200). Billed per result. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window (pidgets ~100). - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~13 credits (0.5/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `pinterest_board` - Docs: https://captapi.com/apis/pinterest-board - Example: `curl "https://api.captapi.com/v1/pinterest/board?url=https%3A%2F%2Fwww.pinterest.com%2Fpotterybarn%2Frustic-lodge-lookbook%2F" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Pinterest User Boards API - Boards on a Pinterest profile — pinCount, coverImage (474x), privacy, sections. Board followers when scoped. - Request: `GET https://api.captapi.com/v1/pinterest/user-boards` - Parameters: - `url` (string, required): Pinterest 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 Pinterest to Rumble. - `limit` (integer, optional): Max items to return (default 25, max 200). Billed per result. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window (max 200). - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~13 credits (0.5/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `pinterest_user_boards` - Docs: https://captapi.com/apis/pinterest-user-boards - Example: `curl "https://api.captapi.com/v1/pinterest/user-boards?url=https%3A%2F%2Fwww.pinterest.com%2Fnasa" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### LinkedIn (6 endpoints) Pull public LinkedIn person profiles, company pages, and post engagement metrics. #### LinkedIn Profile API - Public LinkedIn person profile — what a logged-out visitor sees: name, headline, location, about. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/linkedin/profile` - Parameters: - `url` (string, required): LinkedIn profile URL, e.g. https://www.linkedin.com/in/paul-martin-a5aa98. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `linkedin_profile` - Docs: https://captapi.com/apis/linkedin-profile - Example: `curl "https://api.captapi.com/v1/linkedin/profile?url=https%3A%2F%2Fwww.linkedin.com%2Fin%2Fpaul-martin-a5aa98" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### LinkedIn Company API - Company page for B2B intel — specialties, similarPages, employeeCount, founded, slogan, cover. Native 1 / enrich 2. - Request: `GET https://api.captapi.com/v1/linkedin/company` - Parameters: - `url` (string, required): LinkedIn company URL, e.g. https://www.linkedin.com/company/shopify. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `linkedin_company` - Docs: https://captapi.com/apis/linkedin-company - Example: `curl "https://api.captapi.com/v1/linkedin/company?url=https%3A%2F%2Fca.linkedin.com%2Fcompany%2Fshopify" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### LinkedIn Post Details API - Get a LinkedIn post — text, author, reactions, and comments count as structured JSON. - Request: `GET https://api.captapi.com/v1/linkedin/post-details` - Parameters: - `url` (string, required): LinkedIn post or activity URL. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `linkedin_post_details` - Docs: https://captapi.com/apis/linkedin-post-details - Example: `curl "https://api.captapi.com/v1/linkedin/post-details?url=https%3A%2F%2Fwww.linkedin.com%2Fposts%2Fmicrosoft_the-most-meaningful-breakthroughs-happen-activity-7477715981667086336-x68i" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### LinkedIn Post Transcript API - LinkedIn post text as a transcript — paragraph segments, timingSource none. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/linkedin/post-transcript` - Parameters: - `url` (string, required): LinkedIn post or activity URL. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `linkedin_post_transcript` - Docs: https://captapi.com/apis/linkedin-post-transcript - Example: `curl "https://api.captapi.com/v1/linkedin/post-transcript?url=https%3A%2F%2Fwww.linkedin.com%2Fposts%2Fmicrosoft_the-most-meaningful-breakthroughs-happen-activity-7477715981667086336-x68i" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### LinkedIn Company Posts API - The recent posts a company page shows logged-out visitors (about 10), with engagement{likes,comments}. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/linkedin/company-posts` - Parameters: - `url` (string, required): LinkedIn company URL, e.g. https://linkedin.com/company/slug. 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 Rumble. - `limit` (integer, optional): Max items to return (default 20, max 100). Only the ~10 posts the public page shows are available. Flat 1 credit. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 5). A null nextCursor means the end of the list. Only the recent posts LinkedIn shows logged-out visitors (about 10) are available. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged). Flat 1 credit for a page of posts. A page that shows no posts publicly (truncatedReason=no_public_posts) is 0 credits. - MCP tool: `linkedin_company_posts` - Docs: https://captapi.com/apis/linkedin-company-posts - Example: `curl "https://api.captapi.com/v1/linkedin/company-posts?url=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Fshopify" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### LinkedIn Search Posts API - Keyword search of public LinkedIn posts — offset cursor, ceiling 50. - Request: `GET https://api.captapi.com/v1/linkedin/search-posts` - Parameters: - `q` (string, required): Search query or keywords (min 2 characters). - `sort` (string, optional): relevance (default, search-engine rank — dates can span years) or date (found posts newest first). - `limit` (integer, optional): Max items to return (default 20, max 50). Billed per result. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 20). A null nextCursor means the end of the list (max 50 posts). - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~16 credits (0.8/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `linkedin_search_posts` - Docs: https://captapi.com/apis/linkedin-search-posts - Example: `curl "https://api.captapi.com/v1/linkedin/search-posts?q=artificial%20intelligence" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Rumble (5 endpoints) Extract Rumble video details and stats, channel video lists, and keyword search. #### Rumble Video Details API - Rumble video metadata — uniform streams[] with rendition meta, captions[], audioStreams. - Request: `GET https://api.captapi.com/v1/rumble/video-details` - Parameters: - `url` (string, required): Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `rumble_video_details` - Docs: https://captapi.com/apis/rumble-video-details - Example: `curl "https://api.captapi.com/v1/rumble/video-details?url=https%3A%2F%2Frumble.com%2Fv7cv2cc-now-i-can-finally-talk-about-it-ep.-2555-07172026.html" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Rumble Video Transcript API - Rumble published captions as timed segments — parses the .vtt from video-details (not speech-to-text). - Request: `GET https://api.captapi.com/v1/rumble/video/transcript` - Parameters: - `url` (string, required): Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. 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 Rumble. - `language` (string, optional): Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `rumble_video_transcript` - Docs: https://captapi.com/apis/rumble-video-transcript - Example: `curl "https://api.captapi.com/v1/rumble/video/transcript?url=https%3A%2F%2Frumble.com%2Fv7cv2cc-now-i-can-finally-talk-about-it-ep.-2555-07172026.html" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Rumble Channel Videos API - Rumble channel uploads — lean streams[{url,type}]; call video-details for rendition meta. - Request: `GET https://api.captapi.com/v1/rumble/channel-videos` - Parameters: - `url` (string, required): Rumble channel URL, e.g. https://rumble.com/c/name. 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 Rumble. - `limit` (integer, optional): Max items to return (default 20, max 200). Billed per result. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~12 credits (0.6/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `rumble_channel_videos` - Docs: https://captapi.com/apis/rumble-channel-videos - Example: `curl "https://api.captapi.com/v1/rumble/channel-videos?url=https%3A%2F%2Frumble.com%2Fc%2FBongino" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Rumble Search API - Rumble keyword search — same video card shape as channel-videos (type, durationSeconds + durationText, UTC publishedAt). - Request: `GET https://api.captapi.com/v1/rumble/search` - Parameters: - `q` (string, required): Keywords or search query (min 2 characters). - `limit` (integer, optional): Max items to return (default 20, max 200). Billed per result. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~12 credits (0.6/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `rumble_search` - Docs: https://captapi.com/apis/rumble-search - Example: `curl "https://api.captapi.com/v1/rumble/search?q=space" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Rumble Comments API - Rumble top-level comments — publishedAt ISO-8601 UTC from title= on the comment time link. - Request: `GET https://api.captapi.com/v1/rumble/comments` - Parameters: - `url` (string, required): Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. 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 Rumble. - `limit` (integer, optional): Max items to return (default 50, max 500). Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `rumble_comments` - Docs: https://captapi.com/apis/rumble-comments - Example: `curl "https://api.captapi.com/v1/rumble/comments?url=https%3A%2F%2Frumble.com%2Fv7cv2cc-now-i-can-finally-talk-about-it-ep.-2555-07172026.html" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### TikTok Shop (5 endpoints) Research TikTok Shop products, reviews, stores, and creator showcases for ecommerce intelligence. #### TikTok Shop Search API - TikTok Shop keyword search — priced products with sold, rating/reviews, typed discount, seller id. - Request: `GET https://api.captapi.com/v1/tiktok-shop/shop-search` - Parameters: - `q` (string, required): Product search query (min 2 characters), e.g. phone case. - `region` (string, optional): 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 to serpHits / windowMax. - `limit` (integer, optional): Max items to return (default 10, max 10). Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_shop_search` - Docs: https://captapi.com/apis/tiktok-shop-search - Example: `curl "https://api.captapi.com/v1/tiktok-shop/shop-search?q=phone%20case" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Shop Products API - Store catalog with shopInfo (sold/followers/rating) + products priced with sold, rating, typed discount. - Request: `GET https://api.captapi.com/v1/tiktok-shop/shop-products` - Parameters: - `url` (string, required): TikTok 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 keyed by shop id. Get the full URL from /v1/tiktok-shop/user-showcase or a product's seller.url. 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 Rumble. - `region` (string, optional): 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. - `limit` (integer, optional): 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, minimum 2. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (fallback: 2.8/product, min 2) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged). 2 credits when served natively (limit ≤ 30 and the store page loads). With limit above 30, or when the native page misses, the fallback path serves it (may take longer) and bills per result: 2.8 credits per product returned, rounded up, minimum 2 — up to 560 at limit=200. Observed in the last 30 days: 17–28 credits on fallback calls (14 of 21 calls). - MCP tool: `tiktok_shop_products` - Docs: https://captapi.com/apis/tiktok-shop-products - Example: `curl "https://api.captapi.com/v1/tiktok-shop/shop-products?url=https%3A%2F%2Fwww.tiktok.com%2Fshop%2Fstore%2Fgoli-nutrition%2F7495794203056835079" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Shop Product Details API - PDP — price (sku_min when guest min is *), sold vs stock, seller id/url, images[]. Unresolved URL is 404 at 0 credits. - Request: `GET https://api.captapi.com/v1/tiktok-shop/product-details` - Parameters: - `url` (string, required): TikTok 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 platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. - `region` (string, optional): 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. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_shop_product_details` - Docs: https://captapi.com/apis/tiktok-shop-product-details - Example: `curl "https://api.captapi.com/v1/tiktok-shop/product-details?url=https%3A%2F%2Fshop.tiktok.com%2Fus%2Fpdp%2Ftrendy-pink-ed-hardy-tough-phone-cases-impact-resistant-wireless-charging-shock-absorption%2F1731098552908944370%3Fsource%3Dproduct_detail%26enter_method%3Durl_semantic_301" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Shop Product Reviews API - TikTok Shop product reviews — star rating, text, SKU variant, verified purchase, country, and review photos. - Request: `GET https://api.captapi.com/v1/tiktok-shop/product-reviews` - Parameters: - `url` (string, required): TikTok 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, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. - `limit` (integer, optional): Max items to return (default 20, max 200). Billed per result. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~45 credits (2.25/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_shop_product_reviews` - Docs: https://captapi.com/apis/tiktok-shop-product-reviews - Example: `curl "https://api.captapi.com/v1/tiktok-shop/product-reviews?url=https%3A%2F%2Fwww.tiktok.com%2Fshop%2Fpdp%2F1731962298839634826" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Shop User Showcase API - Creator Shop showcase — affiliate shelf products with per-product sold, rating, typed discount, and seller name/url. - Request: `GET https://api.captapi.com/v1/tiktok-shop/user-showcase` - Parameters: - `username` (string, required): TikTok username, @handle, or profile URL, e.g. jeffreestar or https://www.tiktok.com/@jeffreestar. - `limit` (integer, optional): Max items to return (default 20, max 200). Billed per result. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~45 credits (2.25/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_shop_user_showcase` - Docs: https://captapi.com/apis/tiktok-shop-user-showcase - Example: `curl "https://api.captapi.com/v1/tiktok-shop/user-showcase?username=hydrojug" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Facebook Marketplace (3 endpoints) Search Facebook Marketplace listings by keyword and location, resolve places, and fetch item details. #### Facebook Marketplace Search API - Search Marketplace by keyword + city — filters, isLocal/shipsOutsideRadius, opaque cursor (2 credits). - Request: `GET https://api.captapi.com/v1/facebook/marketplace-search` - Parameters: - `q` (string, required): Product or keyword to search Facebook Marketplace for. - `searchLocation` (string, required): Search-origin city or place name, e.g. 'Austin, TX'. Required — there is no default city. Echoed on the envelope and inside filters. Not listings[].location. Names that don't resolve to a real place are a definitive 400 UNKNOWN_LOCATION (Facebook would otherwise silently search an unrelated metro) — /v1/facebook/marketplace-location-search finds valid ones. - `location` (string, optional): Alias of searchLocation. Prefer searchLocation. Either one is required. - `limit` (number, optional): How many listings to return (1–200). Flat 2 credits when details=false; details=true billed as 2 + 2 per listing. - `minPrice` (number, optional): Minimum price in local currency units. - `maxPrice` (number, optional): Maximum price in local currency units. - `sortBy` (string, optional): suggested | distance | creation_time | price_ascend | price_descend. - `daysSinceListed` (string, optional): Facebook calendar-day recency: 1 = since the start of yesterday (not a rolling 24 hours), 7, or 30. - `condition` (string, optional): new, like_new, good, fair (comma-separated ok). - `deliveryMethod` (string, optional): local_pickup | shipping | all. Shipped listings can appear nationwide outside radiusMiles — use local_pickup for nearby-only; rows expose isLocal / shipsOutsideRadius. - `availability` (string, optional): available | sold | all. - `radiusMiles` (number, optional): Radius in miles: 1,2,5,10,20,40,60,80,100,250,500. Does not exclude nationwide shipped inventory. - `category` (string, optional): Top-level category slug, e.g. electronics. - `cursor` (string, optional): Opaque pagination cursor from a previous nextCursor. - `details` (boolean, optional): When true, adds description/condition/coordinates/full photo gallery/seller/distanceMiles — billed as 2 + 2 credits per listing. Default false → flat 2 credits; cover photo is still in image. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_marketplace_search` - Docs: https://captapi.com/apis/facebook-marketplace-search - Example: `curl "https://api.captapi.com/v1/facebook/marketplace-search?q=desk%20chair&searchLocation=Austin%2C%20TX" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Facebook Marketplace Location Search API - Disambiguate city names into Marketplace hubs — id + lat/lng. Flat 2 credits. - Request: `GET https://api.captapi.com/v1/facebook/marketplace-location-search` - Parameters: - `q` (string, required): City/place query. Bare names like 'Austin' may return multiple candidates (TX/MN/IN); include a state for a single hit (e.g. 'Austin, TX'). - `limit` (integer, optional): Max items to return (default 10, max 50). Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_marketplace_location_search` - Docs: https://captapi.com/apis/facebook-marketplace-location-search - Example: `curl "https://api.captapi.com/v1/facebook/marketplace-location-search?q=Austin" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Facebook Marketplace Item API - Marketplace listing — title, priceAmount, status, seller{}, condition, coords (2 credits). - Request: `GET https://api.captapi.com/v1/facebook/marketplace-item` - Parameters: - `url` (string, required): Facebook Marketplace item URL. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_marketplace_item` - Docs: https://captapi.com/apis/facebook-marketplace-item - Example: `curl "https://api.captapi.com/v1/facebook/marketplace-item?url=https%3A%2F%2Fwww.facebook.com%2Fmarketplace%2Fitem%2F2228870800986975%2F" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Facebook Events (3 endpoints) Search Facebook events, pull event details, and list events from a public profile or page. #### Facebook Event Search API - Search Facebook events by topic and city — local startDate/timezone, venue. 2 credits. - Request: `GET https://api.captapi.com/v1/facebook/event-search` - Parameters: - `q` (string, required): Topic keyword, e.g. 'comedy'. Pair with location for city-scoped results. - `location` (string, optional): City/place geo filter (e.g. London). Matches timezone, location.city, or coords near the city — not a title substring. - `from` (string, optional): Inclusive local start date filter YYYY-MM-DD. Use for upcoming-only windows — Facebook/SERP may return past events. - `to` (string, optional): Inclusive local start date filter YYYY-MM-DD. - `upcoming` (boolean, optional): When true and from is omitted, sets from to today's UTC date so past events are dropped. - `limit` (integer, optional): Max items to return (default 20, max 200). Flat 2 credits per call. Response `source` is native or extended (fetch path — not a price change). - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_event_search` - Docs: https://captapi.com/apis/facebook-event-search - Example: `curl "https://api.captapi.com/v1/facebook/event-search?q=comedy%20Chicago" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Facebook Event Details API - Get a Facebook event — title, local start/end, timezone, place, host id, and attendance when exposed. - Request: `GET https://api.captapi.com/v1/facebook/event-details` - Parameters: - `url` (string, required): Facebook event URL, e.g. https://facebook.com/events/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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_event_details` - Docs: https://captapi.com/apis/facebook-event-details - Example: `curl "https://api.captapi.com/v1/facebook/event-details?url=https%3A%2F%2Fwww.facebook.com%2Fevents%2F1501904507609251%2F" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Facebook Profile Events API - List a Facebook Page's events — local startDate, timezone, venue. 2 credits. - Request: `GET https://api.captapi.com/v1/facebook/profile-events` - Parameters: - `url` (string, required): Facebook profile/page URL, @handle, or page name. 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 Rumble. - `limit` (integer, optional): Max items to return (default 20, max 200). Flat 2 credits per call. Response `source` is native or extended (fetch path — not a price change). - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_profile_events` - Docs: https://captapi.com/apis/facebook-profile-events - Example: `curl "https://api.captapi.com/v1/facebook/profile-events?url=https%3A%2F%2Fwww.facebook.com%2FMadisonSquareGarden" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Facebook Ad Library (5 endpoints) Search Meta Ad Library creatives, advertisers, and company ads for competitor research. #### Facebook Ad Library Search API - Search Meta Ad Library by keyword — active/inactive, media type, date range, platforms, cursor, and spend/impressions when Meta publishes them. - Request: `GET https://api.captapi.com/v1/ad-library/facebook/search` - Parameters: - `q` (string, required): Keyword, brand, or advertiser to search Meta Ad Library (min 2 characters). - `country` (string, optional): Two-letter ISO country code (e.g. US, GB, DE). Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY — Meta would otherwise ignore the code and search globally while echoing it back as if the filter worked. - `limit` (integer, optional): Max items to return (default 20, max 200). Flat 2 credits per call. - `status` (string, optional): Ad delivery status: ACTIVE (default), INACTIVE, or ALL. Use ACTIVE for "what are they running now?". - `media_type` (string, optional): Creative filter: ALL (default), IMAGE, VIDEO, MEME, IMAGE_AND_MEME, or NONE. - `platforms` (string, optional): Comma-separated publisher platforms to keep: FACEBOOK, INSTAGRAM, MESSENGER, AUDIENCE_NETWORK, THREADS. - `ad_type` (string, optional): all (default) or political_and_issue_ads. Spend/impressions are typically only filled for political/issue ads. - `search_type` (string, optional): keyword_unordered (default) or keyword_exact_phrase. - `sort_by` (string, optional): Meta sort mode: total_impressions or relevancy_monthly_grouped. - `start_date` (string, optional): Only ads with delivery start on/after this date (YYYY-MM-DD). - `end_date` (string, optional): Only ads with delivery start on/before this date (YYYY-MM-DD). - `cursor` (string, optional): Pagination cursor from a previous nextCursor. Pages through the current Meta HTML result batch. - `trim` (boolean, optional): When true, omit cards/images/videos typed arrays (media[] stays). Captapi payloads are already lean vs Meta nested snapshots. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_ad_library_search` - Docs: https://captapi.com/apis/facebook-ad-library-search - Example: `curl "https://api.captapi.com/v1/ad-library/facebook/search?q=election" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Facebook Company Ads API - Ads for one Meta page — active by default, cursor through the HTML batch, same envelope as /facebook/search. - Request: `GET https://api.captapi.com/v1/ad-library/facebook/company-ads` - Parameters: - `url` (string, required): pageId from /search-companies (preferred), libraryUrl, vanity page URL (facebook.com/nike/), or Ad Library URL with view_all_page_id. Do not pass profileId from facebook.com/{digits}/ when it differs from pageId. 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 Rumble. - `country` (string, optional): Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY. - `limit` (integer, optional): Max items to return (default 20, max 200). Flat 2 credits per call on the native path; the extended fallback bills per returned ad. - `status` (string, optional): Ad delivery status: ACTIVE (default), INACTIVE, or ALL. Use ACTIVE for "what are they running now?". - `cursor` (string, optional): Pagination cursor from a previous nextCursor. Pages through the current Meta HTML result batch. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_ad_library_company_ads` - Docs: https://captapi.com/apis/facebook-ad-library-company-ads - Example: `curl "https://api.captapi.com/v1/ad-library/facebook/company-ads?url=https%3A%2F%2Fwww.facebook.com%2FMeta" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Facebook Ad Library Search Companies API - Find Meta Ad Library pages by brand — name-matched, pageId for company-ads (not profileId). - Request: `GET https://api.captapi.com/v1/ad-library/facebook/search-companies` - Parameters: - `q` (string, required): Company or brand name to search for (min 2 characters). Name-matched — off-brand pages are dropped. - `country` (string, optional): Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY. - `limit` (integer, optional): Max items to return (default 20, max 200). Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_ad_library_search_companies` - Docs: https://captapi.com/apis/facebook-ad-library-search-companies - Example: `curl "https://api.captapi.com/v1/ad-library/facebook/search-companies?q=nike" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Facebook Ad Details API - One Meta ad by ID — same creative as search, plus delivery breakdowns when Meta publishes them. Flat 2 credits. - Request: `GET https://api.captapi.com/v1/ad-library/facebook/ad-details` - Parameters: - `url` (string, required): Meta Ad Library ad URL or ad 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_ad_library_ad_details` - Docs: https://captapi.com/apis/facebook-ad-library-ad-details - Example: `curl "https://api.captapi.com/v1/ad-library/facebook/ad-details?url=https%3A%2F%2Fwww.facebook.com%2Fads%2Flibrary%2F%3Fid%3D317161109571794" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Facebook Ad Copy API - Written creative copy from a Meta ad — headline, body, CTA, landing URL. Not a speech transcript. - Request: `GET https://api.captapi.com/v1/ad-library/facebook/ad-transcript` - Parameters: - `url` (string, required): Meta Ad Library ad URL or ad ID. Returns the ad's written copy — headline, body text, CTA and landing URL. Meta does not expose ad audio, so this is not a speech transcript. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `facebook_ad_library_ad_transcript` - Docs: https://captapi.com/apis/facebook-ad-library-ad-transcript - Example: `curl "https://api.captapi.com/v1/ad-library/facebook/ad-transcript?url=https%3A%2F%2Fwww.facebook.com%2Fads%2Flibrary%2F%3Fid%3D317161109571794" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### TikTok Ad Library (3 endpoints) Search TikTok's Commercial Content Library (EU DSA), pull Creative Center Top Ads with performance metrics, and fetch ad details. #### TikTok Ad Library Search API - Search TikTok Commercial Content Library — relevance-filtered, uniform null schema (2 credits native, 5 via fallback). - Request: `GET https://api.captapi.com/v1/ad-library/tiktok/search` - Parameters: - `q` (string, required): Keyword or advertiser to search TikTok Commercial Content Library (min 2 characters). - `country` (string, optional): 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 UNSUPPORTED_REGION with the supported list; TikTok has no ad-library data for them. - `match` (string, optional): 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 results are free. - `limit` (integer, optional): Max items to return (default 20, max 200). Does not change the price: 2 credits native, 5 via the fallback path, 0 when empty. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (5 via fallback path) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged). 2 credits when served natively and results are returned; 5 credits when the fallback path serves it (may take longer). The fallback path is currently disabled by default, so calls are native-only. Empty results are 0 credits. - MCP tool: `tiktok_ad_library_search` - Docs: https://captapi.com/apis/tiktok-ad-library-search - Example: `curl "https://api.captapi.com/v1/ad-library/tiktok/search?q=nike" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Creative Center Top Ads API - TikTok Creative Center Top Ads — one ~20-row leaderboard page, not a library search (flat 2; ~1/ad on the fallback path). - Request: `GET https://api.captapi.com/v1/ad-library/tiktok/top-ads` - Parameters: - `q` (string, optional): 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 TikTok's keyword-ranked page follows as fill (matchedFrom [] on those ads, rankedFill in the envelope). There is no tags field. advertiser.name is often null in the default US market. Envelope candidatesScanned is the pre-filter pool size. For a known advertiser, use /tiktok/ad-details by ad id. - `match` (string, optional): 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). - `country` (string, optional): 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). - `period` (number, optional): Lookback window in days: 7, 30, or 180. Default 30. - `orderBy` (string, optional): Sort: for_you, likes, ctr, impressions, or cost. Default for_you. - `industry` (string, optional): Optional industry key or label from Creative Center. - `objective` (string, optional): Optional campaign objective (e.g. Traffic, Conversion, Reach). - `adFormat` (string, optional): 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 native leaderboard. - `limit` (integer, optional): 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 fallback path ~1 credit per returned ad (min 2). - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_ad_library_top_ads` - Docs: https://captapi.com/apis/tiktok-ad-library-top-ads - Example: `curl "https://api.captapi.com/v1/ad-library/tiktok/top-ads?q=skincare" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### TikTok Ad Details API - One TikTok Commercial Content Library ad by ID — calendar-day dates, always 2 credits. - Request: `GET https://api.captapi.com/v1/ad-library/tiktok/ad-details` - Parameters: - `url` (string, required): TikTok 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 outside the EU/EEA+UK+CH never enter the library, and entries expire one year after last impression). 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 Rumble. - `country` (string, optional): Two-letter ISO country code. Default GB. Only EU/EEA + UK + CH are covered by TikTok's library; other codes return 400 UNSUPPORTED_REGION. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `tiktok_ad_library_ad_details` - Docs: https://captapi.com/apis/tiktok-ad-library-ad-details - Example: `curl "https://api.captapi.com/v1/ad-library/tiktok/ad-details?url=https%3A%2F%2Flibrary.tiktok.com%2Fads%2Fdetail%2F%3Fad_id%3D1872034324356433" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Google Ad Library (3 endpoints) Search Google Ads Transparency Center advertisers and pull company ads or creative details. #### Google Company Ads API - Google publishes spend and impression ranges only for election ads; commercial advertisers omit both. isActive is true when lastShown is within 7 UTC days. - Request: `GET https://api.captapi.com/v1/ad-library/google/company-ads` - Parameters: - `advertiser` (string, required): Advertiser name, domain (e.g. nike.com), or Google advertiser ID (AR…). Prefer AR… from advertiser-search. - `country` (string, optional): Two-letter ISO country / region code (soft filter). Default US. Alias: region. Non-ISO codes are a definitive 400 INVALID_COUNTRY. - `region` (string, optional): Alias for country. - `start_date` (string, optional): YYYY-MM-DD — keep creatives whose shown window overlaps this start. - `end_date` (string, optional): YYYY-MM-DD — keep creatives whose shown window overlaps this end. - `sort` (string, optional): Client-side sort: last_shown (recent activity first) or first_shown. Default is ATC order. - `cursor` (string, optional): Pagination cursor from nextCursor. - `topic` (string, optional): Only "all" is supported (commercial ATC). Google publishes spend and impression ranges only for election ads; commercial advertisers omit both. isActive is true when lastShown is within 7 UTC days. - `limit` (integer, optional): Max items to return (default 20, max 200). Flat 2 credits when results are returned; 0 credits when totalReturned is 0. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `google_ad_library_company_ads` - Docs: https://captapi.com/apis/google-ad-library-company-ads - Example: `curl "https://api.captapi.com/v1/ad-library/google/company-ads?advertiser=nike.com" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Google Ad Details API - Google publishes spend and impression ranges only for election ads; commercial advertisers omit both. isActive is true when lastShown is within 7 UTC days. - Request: `GET https://api.captapi.com/v1/ad-library/google/ad-details` - Parameters: - `creative_id` (string, required): Google Ads Transparency URL containing AR... advertiser and CR... creative IDs. A creative that does not exist under the advertiser is a definitive 404 AD_NOT_FOUND (upstream answered) — 503 is reserved for actual transport failures. - `country` (string, optional): Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `google_ad_library_ad_details` - Docs: https://captapi.com/apis/google-ad-library-ad-details - Example: `curl "https://api.captapi.com/v1/ad-library/google/ad-details?creative_id=https%3A%2F%2Fadstransparency.google.com%2Fadvertiser%2FAR16735076323512287233%2Fcreative%2FCR13596485266373083137" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Google Advertiser Search API - Find Google Ads Transparency AR… entities — ranked multi-result (1 credit when found; empty is free). - Request: `GET https://api.captapi.com/v1/ad-library/google/advertiser-search` - Parameters: - `q` (string, required): Brand, domain, or advertiser name (min 2 characters). Expanded + ranked so US prefers Inc. over SRL. - `country` (string, optional): Two-letter ISO country code used for ranking (e.g. US). Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY. - `limit` (integer, optional): Max items to return (default 10, max 50). Flat 1 credit when results are returned; 0 credits when totalReturned is 0. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `google_ad_library_advertiser_search` - Docs: https://captapi.com/apis/google-ad-library-advertiser-search - Example: `curl "https://api.captapi.com/v1/ad-library/google/advertiser-search?q=nike" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### LinkedIn Ad Library (2 endpoints) Search LinkedIn Ad Library SERP cards and hydrate one creative. LinkedIn publishes run dates, impressions and targeting only on a subset of ads. #### LinkedIn Ad Library Search API - LinkedIn publishes run dates, impressions and targeting only on a subset of creatives. Search is the SERP card; source is native|extended. - Request: `GET https://api.captapi.com/v1/ad-library/linkedin/search-ads` - Parameters: - `q` (string, optional): Advertiser / account owner name (min 2 when used). Provide q/company, keyword, or companyId. - `company` (string, optional): Alias of q — advertiser / account owner name. - `keyword` (string, optional): Optional keyword filter on ad creative copy. Whole-word hits are ordered first; already-fetched SERP cards without a literal hit fill behind them up to limit (matchedFrom [] = ranked fill). - `companyId` (string, optional): LinkedIn numeric company id for exact advertiser match. - `country` (string, optional): Single ISO country code. Default US. Ignored when countries is set. Non-ISO codes are a definitive 400 INVALID_COUNTRY — LinkedIn would otherwise answer an empty result set as if the filter worked. - `countries` (string, optional): Comma-separated ISO country codes (e.g. US,CA,MX). Each code is validated — non-ISO codes are a 400 INVALID_COUNTRY. - `startDate` (string, optional): Custom range start YYYY-MM-DD (use with endDate). - `endDate` (string, optional): Custom range end YYYY-MM-DD (use with startDate). - `cursor` (string, optional): Pagination token from paginationToken / nextCursor. - `paginationToken` (string, optional): Alias of cursor. - `limit` (integer, optional): Max items to return (default 20, max 200). One LinkedIn SERP page is ~25 cards — when limit is higher, further pages are pulled automatically within the request's time budget, so limit=50 fills to 50 when LinkedIn has the ads (hasMore + nextCursor cover the rest). Flat 2 credits per call on the native path; the extended fallback bills ~3.5 credits per returned ad. Response `source` is native or extended so you can see which price applied. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `linkedin_ad_library_search_ads` - Docs: https://captapi.com/apis/linkedin-ad-library-search-ads - Example: `curl "https://api.captapi.com/v1/ad-library/linkedin/search-ads?q=microsoft" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### LinkedIn Ad Details API - One LinkedIn Ad Library ad by ID. LinkedIn withholds Ran-from / impressions / targeting on most creatives — those keys are omitted, not 404. - Request: `GET https://api.captapi.com/v1/ad-library/linkedin/ad-details` - Parameters: - `url` (string, required): LinkedIn Ad Library URL or numeric ad ID (also accepts urn:li:sponsoredCreative:ID). Inputs that are neither numeric nor an ad-library detail URL are a definitive 400. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `linkedin_ad_library_ad_details` - Docs: https://captapi.com/apis/linkedin-ad-library-ad-details - Example: `curl "https://api.captapi.com/v1/ad-library/linkedin/ad-details?url=https%3A%2F%2Fwww.linkedin.com%2Fad-library%2Fdetail%2F1456323573" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Amazon Seller Storefront (1 endpoints) Third-party seller storefronts (/sp?seller=) with ASIN + canonical /dp URLs — not influencer amazon.com/shop/{handle} vitrines. #### Amazon Seller Storefront API - Third-party seller storefronts (/sp?seller= / /s?me=) — ASIN + canonical /dp URLs, price, badges. Not influencer /shop/{handle}. - Request: `GET https://api.captapi.com/v1/amazon-shop/page` - Parameters: - `url` (string, required): Amazon seller storefront URL (/sp?seller=… or /s?me=…) or raw seller ID. Not influencer /shop/ pages. 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 Rumble. - `marketplace` (string, optional): Amazon marketplace code. Default US. - `limit` (integer, optional): Max products to include (default 20, max 200; 0 = seller metadata only). Billed per 16-product storefront page: ceil(limit / 16) credits, minimum 1 — the default 20 costs 2. - `cursor` (string, optional): Pagination cursor from nextCursor (page or page:offset). Leave empty for the first page. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit per 16 products (default limit 20 = 2) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged). Billed per 16-product storefront page: ceil(limit / 16) credits, minimum 1. The default limit=20 spans two pages and costs 2 credits; limit ≤ 16 or limit=0 (seller metadata only) costs 1; limit=200 costs 13. - MCP tool: `amazon_shop_page` - Docs: https://captapi.com/apis/amazon-shop-page - Example: `curl "https://api.captapi.com/v1/amazon-shop/page?url=https%3A%2F%2Fwww.amazon.com%2Fsp%3Fseller%3DA294P4X9EWVXLJ" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### GitHub (10 endpoints) Public GitHub users, repos, PRs, followers, plus github.com/trending and the contribution heatmap — surfaces GitHub REST does not ship. #### GitHub User API - GitHub public profile — login, type User|Organization, email when public, followers (1 credit). - Request: `GET https://api.captapi.com/v1/github/user` - Parameters: - `username` (string, required): GitHub username or profile URL, e.g. getify or https://github.com/getify. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `github_user` - Docs: https://captapi.com/apis/github-user - Example: `curl "https://api.captapi.com/v1/github/user?username=getify" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### GitHub Repositories API - List a user's repos with sort/direction/type — opaque Link cursor (~0.4/repo). - Request: `GET https://api.captapi.com/v1/github/repositories` - Parameters: - `username` (string, required): GitHub username or profile URL, e.g. torvalds. - `sort` (string, optional): created | updated | pushed | full_name (default updated). Not stars — GitHub's user-repos API has no stars sort. Echoed as data.sort. - `direction` (string, optional): asc or desc (default desc). Echoed as data.direction. - `type` (string, optional): owner (default) | member | all — affiliation filter. Echoed as data.type. - `limit` (integer, optional): Max items to return (default 30, max 100). Billed per result. - `cursor` (string, optional): Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~12 credits (0.4/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `github_repositories` - Docs: https://captapi.com/apis/github-repositories - Example: `curl "https://api.captapi.com/v1/github/repositories?username=torvalds&sort=pushed&direction=desc&type=owner" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### GitHub Pull Requests API - List repo PRs — draft, labels, author{}, head/base, opaque Link cursor (state echoed). - Request: `GET https://api.captapi.com/v1/github/pull-requests` - Parameters: - `repo` (string, required): Repository URL or owner/name, e.g. vercel/next.js. - `state` (string, optional): open (API default), closed, or all. Echoed as data.state. Docs example uses closed so mergedAt is visible. - `limit` (integer, optional): Max items to return (default 30, max 100). Billed per result. - `cursor` (string, optional): Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~12 credits (0.4/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `github_pull_requests` - Docs: https://captapi.com/apis/github-pull-requests - Example: `curl "https://api.captapi.com/v1/github/pull-requests?repo=vercel%2Fnext.js&state=closed" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### GitHub Activity API - Public events with typed payload (Push commits/ref, PR/issue action) — 90-event ceiling. - Request: `GET https://api.captapi.com/v1/github/activity` - Parameters: - `username` (string, required): GitHub username or profile URL, e.g. getify. - `limit` (integer, optional): Max items to return (default 30, max 90). Billed per result. - `cursor` (string, optional): Opaque cursor from a previous nextCursor. Pagination stops after GitHub's 90-event public activity ceiling. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~12 credits (0.4/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `github_activity` - Docs: https://captapi.com/apis/github-activity - Example: `curl "https://api.captapi.com/v1/github/activity?username=getify" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### GitHub Followers API - Follower cards {id, login, type, url, avatar} — ~0.1/row; large accounts are expensive to page fully. - Request: `GET https://api.captapi.com/v1/github/followers` - Parameters: - `username` (string, required): GitHub username or profile URL, e.g. getify. - `limit` (integer, optional): Max items to return (default 30, max 100). Billed per result. - `cursor` (string, optional): Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~3 credits (0.1/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `github_followers` - Docs: https://captapi.com/apis/github-followers - Example: `curl "https://api.captapi.com/v1/github/followers?username=getify" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### GitHub Following API - Accounts a user follows — same card and ~0.1/row pricing as followers. - Request: `GET https://api.captapi.com/v1/github/following` - Parameters: - `username` (string, required): GitHub username or profile URL, e.g. getify. - `limit` (integer, optional): Max items to return (default 30, max 100). Billed per result. - `cursor` (string, optional): Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~3 credits (0.1/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `github_following` - Docs: https://captapi.com/apis/github-following - Example: `curl "https://api.captapi.com/v1/github/following?username=getify" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### GitHub Contributions API - GitHub contribution graph — sorted days[], currentStreak (today grace), longestStreak (2 credits). - Request: `GET https://api.captapi.com/v1/github/contributions` - Parameters: - `username` (string, required): GitHub username or profile URL, e.g. getify or https://github.com/getify. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `github_contributions` - Docs: https://captapi.com/apis/github-contributions - Example: `curl "https://api.captapi.com/v1/github/contributions?username=getify" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### GitHub Repository API - GitHub repo — stars, real watchers (subscribers), openIssuesAndPrs, license, parent when fork (1 credit). - Request: `GET https://api.captapi.com/v1/github/repository` - Parameters: - `repo` (string, required): Repository URL or owner/name, e.g. torvalds/linux or https://github.com/torvalds/linux. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `github_repository` - Docs: https://captapi.com/apis/github-repository - Example: `curl "https://api.captapi.com/v1/github/repository?repo=torvalds%2Flinux" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### GitHub Trending Repositories API - github.com/trending — repos ranked by starsGained (daily|weekly|monthly), not all-time stars (2 credits). - Request: `GET https://api.captapi.com/v1/github/trending-repositories` - Parameters: - `since` (string, optional): Trending window: daily (default), weekly, or monthly — matches github.com/trending?since=. - `language` (string, optional): Optional programming-language slug (e.g. python, typescript) → /trending/{language}. - `limit` (integer, optional): Max items to return (default 25, max 100). Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `github_trending_repositories` - Docs: https://captapi.com/apis/github-trending-repositories - Example: `curl "https://api.captapi.com/v1/github/trending-repositories?since=daily" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### GitHub Trending Developers API - github.com/trending/developers — windowed ranks with popularRepo + followers (2 credits). - Request: `GET https://api.captapi.com/v1/github/trending-developers` - Parameters: - `since` (string, optional): Trending window: daily (default), weekly, or monthly — matches github.com/trending/developers?since=. - `language` (string, optional): Optional programming-language slug → /trending/developers/{language}. - `limit` (integer, optional): Max items to return (default 25, max 100). Flat 2 credits per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `github_trending_developers` - Docs: https://captapi.com/apis/github-trending-developers - Example: `curl "https://api.captapi.com/v1/github/trending-developers?since=daily" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Twitch (4 endpoints) Public Twitch channels, VODs, schedules, and clips as JSON — no Helix Client-ID or app access token. #### Twitch Profile API - Twitch channel — handle + displayName, socials[], topClips, schedule preview, stream only when live (1 credit). - Request: `GET https://api.captapi.com/v1/twitch/profile` - Parameters: - `url` (string, required): Twitch 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, LinkedIn to X/Twitter, or Pinterest to Rumble. - `cache` (boolean, optional): Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. - `cacheMaxAge` (string, optional): Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `twitch_profile` - Docs: https://captapi.com/apis/twitch-profile - Example: `curl "https://api.captapi.com/v1/twitch/profile?url=https%3A%2F%2Fwww.twitch.tv%2Fshroud" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Twitch User Videos API - Twitch channel VODs — lean rows, video-id cursor, filter/sort, top-level broadcaster{} (flat 2). - Request: `GET https://api.captapi.com/v1/twitch/user-videos` - Parameters: - `url` (string, required): Twitch 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, LinkedIn to X/Twitter, or Pinterest to Rumble. - `limit` (integer, optional): 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). - `filterBy` (string, optional): ARCHIVE | HIGHLIGHT | UPLOAD. Omit for all types — there is no default filter (unset filterBy is omitted, not null). - `sortBy` (string, optional): TIME (default, newest first) or VIEWS. - `cursor` (string, optional): 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). - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `twitch_user_videos` - Docs: https://captapi.com/apis/twitch-user-videos - Example: `curl "https://api.captapi.com/v1/twitch/user-videos?url=https%3A%2F%2Fwww.twitch.tv%2Fshroud" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Twitch User Schedule API - Twitch channel schedule — startAt/endAt, title, game, isRecurring (0 credits when empty). - Request: `GET https://api.captapi.com/v1/twitch/user-schedule` - Parameters: - `url` (string, required): Twitch 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, LinkedIn to X/Twitter, or Pinterest to Rumble. - `limit` (integer, optional): Max schedule segments to return (default 50, max 100). Flat 1 credit per call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `twitch_user_schedule` - Docs: https://captapi.com/apis/twitch-user-schedule - Example: `curl "https://api.captapi.com/v1/twitch/user-schedule?url=https%3A%2F%2Fwww.twitch.tv%2Fshroud" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Twitch Clip API - Twitch clip — curator vs channel, signedVideoUrl, unwrapped token, relatedClips (1 credit). - Request: `GET https://api.captapi.com/v1/twitch/clip` - Parameters: - `url` (string, required): Twitch clip URL (clips.twitch.tv/ or twitch.tv//clip/). 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 Rumble. - `cache` (boolean, optional): Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. - `cacheMaxAge` (string, optional): Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `twitch_clip` - Docs: https://captapi.com/apis/twitch-clip - Example: `curl "https://api.captapi.com/v1/twitch/clip?url=https%3A%2F%2Fwww.twitch.tv%2Fxqc%2Fclip%2FEnergeticEmpathicElephantJKanStyle-0sOlvgAod9mDhCw4" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Spotify (6 endpoints) Spotify artist intel (monthlyListeners, worldRank, topCities, playCount) plus track, album, podcast, and search — no Spotify Developer app or OAuth. #### Spotify Artist API - Spotify artist — followers, monthlyListeners, worldRank, topCities, topTracks with playCount, concerts, and related artists (1 credit). - Request: `GET https://api.captapi.com/v1/spotify/artist` - Parameters: - `url` (string, required): Spotify 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 Rumble. - `raw` (boolean, optional): 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). - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `spotify_artist` - Docs: https://captapi.com/apis/spotify-artist - Example: `curl "https://api.captapi.com/v1/spotify/artist?url=https%3A%2F%2Fopen.spotify.com%2Fartist%2F06HL4z0CvFAxyc27GXpf02%3Fsi%3DojAujUioTXmCOg3l0f4rNg" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Spotify Track API - Spotify track — playCount, joinable artists[]/album{}, explicit, releaseDate (1 credit). - Request: `GET https://api.captapi.com/v1/spotify/track` - Parameters: - `url` (string, required): Spotify 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 Rumble. - `raw` (boolean, optional): Include the upstream GraphQL payload as data.raw. Default false — getTrack embeds bulky artist discography. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `spotify_track` - Docs: https://captapi.com/apis/spotify-track - Example: `curl "https://api.captapi.com/v1/spotify/track?url=https%3A%2F%2Fopen.spotify.com%2Ftrack%2F0V3wPSX9ygBnCm8psDIegu" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Spotify Album API - Spotify album — tracks[] with playCount, joinable artists[], releaseDate, explicit (1 credit). - Request: `GET https://api.captapi.com/v1/spotify/album` - Parameters: - `url` (string, required): Spotify 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 Rumble. - `raw` (boolean, optional): Include the upstream GraphQL payload as data.raw. Default false — omit unless you need fields not in the normalized shape. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `spotify_album` - Docs: https://captapi.com/apis/spotify-album - Example: `curl "https://api.captapi.com/v1/spotify/album?url=https%3A%2F%2Fopen.spotify.com%2Falbum%2F151w1FgRZfnKZA9FEcg9Z3%3Fsi%3DDKhdQPU7T8W1NtfM19TiiA" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Spotify Search API - Search Spotify — canonical spotify: URIs, explicit, fetchedAt (flat 2 credits). - Request: `GET https://api.captapi.com/v1/spotify/search` - Parameters: - `q` (string, required): Search term (min 2 chars). - `type` (string, optional): Result kind: tracks (default), albums, artists, podcasts, or episodes. - `limit` (integer, optional): Max items to return (default 20, max 50). Flat 2 credits per call. - `raw` (boolean, optional): Include per-result upstream payload as results[].raw. Default false. Pathfinder GraphQL vs fallback-path shapes differ — see FAQ. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `spotify_search` - Docs: https://captapi.com/apis/spotify-search - Example: `curl "https://api.captapi.com/v1/spotify/search?q=lofi%20beats" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Spotify Podcast API - Spotify podcast show — publisher, rating, topics, explicit flag, and totalEpisodes as clean JSON. - Request: `GET https://api.captapi.com/v1/spotify/podcast` - Parameters: - `url` (url, required): Spotify show/podcast URL, URI, or ID (e.g. https://open.spotify.com/show/…). Not an artist URL. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `spotify_podcast` - Docs: https://captapi.com/apis/spotify-podcast - Example: `curl "https://api.captapi.com/v1/spotify/podcast?url=https%3A%2F%2Fopen.spotify.com%2Fshow%2F4rOoJ6Egrf8K2IrywzwOMk" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Spotify Podcast Episodes API - Podcast episode archive — previewUrl, releaseDate, explicit, cursor pagination (flat 2 credits). - Request: `GET https://api.captapi.com/v1/spotify/podcast-episodes` - Parameters: - `url` (url, required): Spotify show/podcast URL, URI, or ID (e.g. https://open.spotify.com/show/…). Not an artist URL. - `limit` (integer, optional): Max items to return (default 20, max 50). Flat 2 credits per call. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. - `raw` (boolean, optional): Include slimmed per-episode upstream payload as episodes[].raw. Default false. visualIdentity / playedState / podcastV2 are never included. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `spotify_podcast_episodes` - Docs: https://captapi.com/apis/spotify-podcast-episodes - Example: `curl "https://api.captapi.com/v1/spotify/podcast-episodes?url=https%3A%2F%2Fopen.spotify.com%2Fshow%2F4rOoJ6Egrf8K2IrywzwOMk" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### SoundCloud (3 endpoints) Fetch SoundCloud artist profiles, artist tracks, and track engagement metadata. #### SoundCloud Artist API - SoundCloud artist — handle + name, subscriptionTier, externalLinks, verified (1 credit). - Request: `GET https://api.captapi.com/v1/soundcloud/artist` - Parameters: - `url` (string, required): SoundCloud artist 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 Pinterest to Rumble. - `cache` (boolean, optional): Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. - `cacheMaxAge` (string, optional): Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `soundcloud_artist` - Docs: https://captapi.com/apis/soundcloud-artist - Example: `curl "https://api.captapi.com/v1/soundcloud/artist?url=https%3A%2F%2Fsoundcloud.com%2Fflume" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### SoundCloud Artist Tracks API - Artist track list — opaque cursor, native-window when the api-v2 page ends (2 credits; empty is 0). - Request: `GET https://api.captapi.com/v1/soundcloud/artist-tracks` - Parameters: - `url` (string, required): SoundCloud artist 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 Pinterest to Rumble. - `limit` (integer, optional): Max items to return (default 20, max 100). Flat 2 credits per call. - `cursor` (string, optional): Opaque pagination cursor from the previous nextCursor. Leave empty for the first page. Do not edit or invent values. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `soundcloud_artist_tracks` - Docs: https://captapi.com/apis/soundcloud-artist-tracks - Example: `curl "https://api.captapi.com/v1/soundcloud/artist-tracks?url=https%3A%2F%2Fsoundcloud.com%2Fflume" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### SoundCloud Track API - SoundCloud track — plays/likes/license, tags[], nested artist{}, streamUrl when streamable (1 credit). - Request: `GET https://api.captapi.com/v1/soundcloud/track` - Parameters: - `url` (string, required): SoundCloud track URL. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. - `cacheMaxAge` (string, optional): Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `soundcloud_track` - Docs: https://captapi.com/apis/soundcloud-track - Example: `curl "https://api.captapi.com/v1/soundcloud/track?url=https%3A%2F%2Fsoundcloud.com%2Fflume%2Fis-it-real-feat-ravyn-lenae" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Linktree (1 endpoints) Link-in-bio → creator graph: typed links, socialAccounts{} for TikTok/Instagram/Spotify/SoundCloud joins, email, verticals. #### Linktree Page API - Link-in-bio → creator graph: typed links, socialAccounts{} that feed TikTok/Instagram/Spotify/SoundCloud, email, verticals. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/linktree/page` - Parameters: - `url` (string, required): Linktree 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 Pinterest to Rumble. - `cache` (boolean, optional): Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. - `cacheMaxAge` (string, optional): Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `linktree_page` - Docs: https://captapi.com/apis/linktree-page - Example: `curl "https://api.captapi.com/v1/linktree/page?url=https%3A%2F%2Flinktr.ee%2Fmiguelangeles" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Snapchat (1 endpoints) Pull public Snapchat profile cards with subscriber counts, bios, and highlights. #### Snapchat User Profile API - Snapchat profile — stable identity card, millisecond timestamps, mediaType image/video (1 credit). - Request: `GET https://api.captapi.com/v1/snapchat/user-profile` - Parameters: - `url` (string, required): Snapchat username or profile URL. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `snapchat_user_profile` - Docs: https://captapi.com/apis/snapchat-user-profile - Example: `curl "https://api.captapi.com/v1/snapchat/user-profile?url=https%3A%2F%2Fwww.snapchat.com%2F%40nba" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Truth Social (3 endpoints) Prominent public Truth Social profiles/posts only — as of late 2025 most accounts require auth and will 404. Flat 1 credit on profile/post. #### Truth Social Profile API - Prominent public Truth Social profiles — isPrivate/bot/group, CP-F counts, avatar/banner. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/truth-social/profile` - Parameters: - `url` (string, required): Truth 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 Pinterest to Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `truth_social_profile` - Docs: https://captapi.com/apis/truth-social-profile - Example: `curl "https://api.captapi.com/v1/truth-social/profile?url=https%3A%2F%2Ftruthsocial.com%2F%40realDonaldTrump" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Truth Social User Posts API - Recent Truths — same post mapper as /post (links, card, reblog/quote, mentions). 2 credits. - Request: `GET https://api.captapi.com/v1/truth-social/user-posts` - Parameters: - `url` (string, required): Truth 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 Pinterest to Rumble. - `limit` (integer, optional): 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=single_page_only). Flat 2 credits. - `cursor` (string, optional): Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `truth_social_user_posts` - Docs: https://captapi.com/apis/truth-social-user-posts - Example: `curl "https://api.captapi.com/v1/truth-social/user-posts?url=https%3A%2F%2Ftruthsocial.com%2F%40realDonaldTrump" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Truth Social Post API - One Truth — text, links[], card, reblog/quote chain, media.meta, externalVideoId. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/truth-social/post` - Parameters: - `url` (string, required): Truth 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 Pinterest to Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `truth_social_post` - Docs: https://captapi.com/apis/truth-social-post - Example: `curl "https://api.captapi.com/v1/truth-social/post?url=https%3A%2F%2Ftruthsocial.com%2F%40realDonaldTrump%2F116938579137506694" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Kick (1 endpoints) Extract Kick clip metadata from clip URLs or recent channel clips. #### Kick Clip API - Get a Kick clip — source, 7d clip cache, fallback paths on a miss. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/kick/clip` - Parameters: - `url` (string, required): Kick clip URL for one enriched clip (e.g. https://kick.com/{channel}/clips/clip_…), or channel input for recent clips[]: kick.com/{name}, kick.com/@{name}, @{name}, or {name}. 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 Rumble. - `limit` (integer, optional): Channel mode only — max recent clips to return (default 30, max 100). Ignored when url is a clip. Flat 1 credit. No cursor — Kick returns a single page. - `cache` (boolean, optional): Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. - `cacheMaxAge` (string, optional): Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `kick_clip` - Docs: https://captapi.com/apis/kick-clip - Example: `curl "https://api.captapi.com/v1/kick/clip?url=https%3A%2F%2Fkick.com%2Fxqc%2Fclips%2Fclip_01KZ0X5PGT228PY3QEB3RMR3YC" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### CaptAPI Account (4 endpoints) Your key-scoped credit balance, request history, daily usage, and most-used routes — free, no credits charged. #### Credit Balance API - Plan, subscription vs top-up credits, monthly quota, and renewsAt — 0 credits. - Request: `GET https://api.captapi.com/v1/account/balance` - Parameters: - (no parameters) - Cost: 0 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `account_balance` - Docs: https://captapi.com/apis/account-balance - Example: `curl "https://api.captapi.com/v1/account/balance" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Request History API - Recent API requests for your key — requestId, status, credits, cacheHit (0 credits). - Request: `GET https://api.captapi.com/v1/account/request-history` - Parameters: - `limit` (integer, optional): Max rows to return (default 50, max 500). Free — does not consume credits. - `endpoint` (string, optional): Exact Captapi path filter, e.g. /v1/instagram/basic-profile. - `statusCode` (integer, optional): Filter by HTTP status code (e.g. 500). - `since` (string, optional): Inclusive lower bound on createdAt (ISO date or datetime). - `until` (string, optional): Exclusive upper bound on createdAt (ISO date or datetime). - `cursor` (string, optional): Pagination cursor from nextCursor (createdAt of the last row). Leave empty for the first page. - Cost: 0 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `account_request_history` - Docs: https://captapi.com/apis/account-request-history - Example: `curl "https://api.captapi.com/v1/account/request-history?limit=50" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Daily Usage API - Day-by-day credit usage for spend monitoring (0 credits). - Request: `GET https://api.captapi.com/v1/account/daily-usage` - Parameters: - `days` (integer, optional): Number of days to include (default 30, max 365). - Cost: 0 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `account_daily_usage` - Docs: https://captapi.com/apis/account-daily-usage - Example: `curl "https://api.captapi.com/v1/account/daily-usage?days=30" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Most Used Routes API - Ranked list of which Captapi routes your key calls most (0 credits). - Request: `GET https://api.captapi.com/v1/account/most-used-routes` - Parameters: - `days` (integer, optional): Number of days to include (default 30, max 365). - `limit` (integer, optional): Max rows to return (default 20, max 100). Free — does not consume credits. - Cost: 0 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `account_most_used_routes` - Docs: https://captapi.com/apis/account-most-used-routes - Example: `curl "https://api.captapi.com/v1/account/most-used-routes?days=30" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Analytics & Video Files (4 endpoints) Cross-platform post analytics and AI transcription/summarization for uploaded video or audio files. #### Post Analytics API - Unified metrics for one post, video, or reel — platform auto-detected (1 credit). - Request: `GET https://api.captapi.com/v1/analytics/post` - Parameters: - `url` (string, required): Public post/video/reel URL from one of 11 platforms: YouTube, TikTok, Instagram, Facebook, X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, or Rumble. Platform is auto-detected — cross-platform URLs are expected here (unlike single-platform endpoints). Not in scope: Kwai, Twitch, Spotify, Snapchat, and other Captapi platforms. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `analytics_post` - Docs: https://captapi.com/apis/analytics-post - Example: `curl "https://api.captapi.com/v1/analytics/post?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DdQw4w9WgXcQ" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Compare Analytics API - Compare unified metrics across up to 10 URLs — each row is the analytics/post object (1 credit/resolved URL). - Request: `GET https://api.captapi.com/v1/analytics/compare` - Parameters: - `urls` (string, required): Comma-separated post/video/reel URLs (up to 10), any mix of the same 11 platforms as Post Analytics. Example: a TikTok URL and a YouTube URL in one call. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit/url (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `analytics_compare` - Docs: https://captapi.com/apis/analytics-compare - Example: `curl "https://api.captapi.com/v1/analytics/compare?urls=https%3A%2F%2Fwww.tiktok.com%2F%40khaby.lame%2Fvideo%2F7646812028874673439%2Chttps%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DdQw4w9WgXcQ" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Video File Transcript API - AI transcription of an uploaded file — 1 credit/min; noSpeech=true and 0 credits when there is no speech. - Request: `POST https://api.captapi.com/v1/video/transcript` - Parameters: - `file` (file, required): Video or audio file (multipart form field — use -F file=@path, not a query string). Max 200MB / 60 minutes. - `language` (string, optional): ISO-639-1 language hint, e.g. "en" or "tr". Omit to auto-detect. - `translate` (boolean, optional): When true, translate speech to English. Default false. - `timestampGranularity` (string, optional): segment (default) or word — word-level timings when the transcription model exposes them. - Cost: 1 credit/min (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `video_transcript` - Docs: https://captapi.com/apis/video-transcript - Example: `curl "https://api.captapi.com/v1/video/transcript?file=%40video.mp4" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Video File Summarizer API - AI transcription + summary of an uploaded file — transcript included; 1 credit/min + 1. - Request: `POST https://api.captapi.com/v1/video/summarize` - Parameters: - `file` (file, required): Video or audio file (multipart form field — use -F file=@path, not a query string). Max 200MB / 60 minutes. - `language` (string, optional): ISO-639-1 language hint, e.g. "en" or "tr". Omit to auto-detect. - `translate` (boolean, optional): When true, translate speech to English before summarizing. Default false. - `timestampGranularity` (string, optional): segment (default) or word. - Cost: 1 credit/min +1 (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `video_summarize` - Docs: https://captapi.com/apis/video-summarize - Example: `curl "https://api.captapi.com/v1/video/summarize?file=%40video.mp4" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Kwai (3 endpoints) Extract Kwai profile details, user posts, and post metadata. #### Kwai Profile API - Fetch Kwai profile — display name, bio, counts, and verification as structured JSON. - Request: `GET https://api.captapi.com/v1/kwai/profile` - Parameters: - `url` (string, required): Kwai profile URL or @handle, e.g. https://www.kwai.com/@topfilmeseseriesnatv. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `kwai_profile` - Docs: https://captapi.com/apis/kwai-profile - Example: `curl "https://api.captapi.com/v1/kwai/profile?url=https%3A%2F%2Fwww.kwai.com%2F%40KwaiBrasilOficial" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Kwai User Posts API - Kwai profile posts — caption ("" when none), engagement, mp4 + transcript (~1 credit/post). - Request: `GET https://api.captapi.com/v1/kwai/user-posts` - Parameters: - `url` (string, required): Kwai profile URL or @handle, e.g. https://www.kwai.com/@topfilmeseseriesnatv. 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 Rumble. - `limit` (number, optional): Max posts to return (1–200). Default 20. ~1 credit per post returned (min 2). - `cursor` (string, optional): Opaque pagination cursor from the previous nextCursor. Pages within posts from one profile fetch. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: ~20 credits (1/result) (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `kwai_user_posts` - Docs: https://captapi.com/apis/kwai-user-posts - Example: `curl "https://api.captapi.com/v1/kwai/user-posts?url=https%3A%2F%2Fwww.kwai.com%2F%40topfilmeseseriesnatv" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) #### Kwai Post API - Single Kwai video — caption ("" when none), hashtags[], author, mp4 (2 credits). - Request: `GET https://api.captapi.com/v1/kwai/post` - Parameters: - `url` (string, required): Kwai video URL, e.g. https://www.kwai.com/@topfilmeseseriesnatv/video/5240932700689736196. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `kwai_post` - Docs: https://captapi.com/apis/kwai-post - Example: `curl "https://api.captapi.com/v1/kwai/post?url=https%3A%2F%2Fwww.kwai.com%2F%40topfilmeseseriesnatv%2Fvideo%2F5240932700689736196" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Komi (1 endpoints) Komi link-in-bio pages — identity, socials (incl. website), LINK/PRODUCT commerce rows. #### Komi Page API - Komi link-in-bio → identity, socials{} (incl. website), content LINK/PRODUCT rows with price/currency. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/komi/page` - Parameters: - `url` (string, required): Komi page URL or username, e.g. https://komi.io/kimkardashian or https://kimkardashian.komi.io/. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. - `cacheMaxAge` (string, optional): Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `komi_page` - Docs: https://captapi.com/apis/komi-page - Example: `curl "https://api.captapi.com/v1/komi/page?url=https%3A%2F%2Fkomi.io%2Fkimkardashian" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Pillar (1 endpoints) Pillar pages as JSON — per-link clicks, products[], socials{}, identity. Flat 1 credit. #### Pillar Page API - Pillar link-in-bio → identity, socials{}, links[] with per-link clicks, products[]. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/pillar/page` - Parameters: - `url` (string, required): Pillar page 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 Pinterest to Rumble. - `cache` (boolean, optional): Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. - `cacheMaxAge` (string, optional): Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `pillar_page` - Docs: https://captapi.com/apis/pillar-page - Example: `curl "https://api.captapi.com/v1/pillar/page?url=https%3A%2F%2Fpillar.io%2Fangelstrife" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Linkbio (1 endpoints) lnk.bio pages as JSON — filled socials{}, titled links, id/website. Flat 1 credit. #### Linkbio Page API - lnk.bio → id, socials{}, titled links[], website/email/whatsapp, other[]. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/linkbio/page` - Parameters: - `url` (string, required): Linkbio (lnk.bio) page URL or username, e.g. https://lnk.bio/charlidamelio. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. - `cacheMaxAge` (string, optional): Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `linkbio_page` - Docs: https://captapi.com/apis/linkbio-page - Example: `curl "https://api.captapi.com/v1/linkbio/page?url=https%3A%2F%2Flnk.bio%2Fcharlidamelio" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Linkme (1 endpoints) Linkme profiles as JSON — bio, profileVisitCount, webLinks, infoLinks/email, stripeStatus. Flat 1 credit. #### Linkme Profile API - Linkme profile → bio, profileVisitCount, featured links, webLinks, email/infoLinks, stripeStatus. Flat 1 credit. - Request: `GET https://api.captapi.com/v1/linkme/profile` - Parameters: - `url` (string, required): Linkme profile URL or username, e.g. https://link.me/danucd or danucd. 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 Rumble. - `cache` (boolean, optional): Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. - `cacheMaxAge` (string, optional): Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. - Cost: 1 credit (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `linkme_profile` - Docs: https://captapi.com/apis/linkme-profile - Example: `curl "https://api.captapi.com/v1/linkme/profile?url=https%3A%2F%2Flink.me%2Fdanucd" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ### Google Maps (1 endpoints) Local business search — name, address, phone, website, rating, place id. Flat 2 credits. No emails. #### Google Maps Business Search API - Local businesses from a Maps search — name, address, phone, website, rating, hours, place id. Flat 2 credits. No emails. - Request: `GET https://api.captapi.com/v1/google/business-search` - Parameters: - `q` (string, required): Keyword, for example plumber or coffee. Min 2 characters. - `location` (string, optional): Place name as City,Region,Country, for example Austin,Texas,United States. When set, locationCode is not used and is left out of the response. A free-text city alone (austin) is not a place name. - `locationCode` (integer, optional): Numeric place code, used only when location is omitted. Default 2840 (United States). - `language` (string, optional): Language code, for example en. Default en. - `limit` (integer, optional): Max businesses to return (default 20, max 100). Not a page cursor — there is no next page. Flat 2 credits on every successful call, including zero businesses. - `cache` (boolean, optional): Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. - Cost: 2 credits (pass cache=true for a free 24h cache hit; default always fresh; failures not charged) - MCP tool: `google_maps_business_search` - Docs: https://captapi.com/apis/google-maps-business-search - Example: `curl "https://api.captapi.com/v1/google/business-search?q=The%20Backspace" -H "Authorization: Bearer capt_live_..."` (or `-H "x-api-key: capt_live_..."`) ## Links - Documentation: https://captapi.com/docs - Integration guide: https://captapi.com/docs/integrations - All APIs: https://captapi.com/apis - Pricing: https://captapi.com/pricing