Getting Started
Introduction
Captapi gives you structured data from social media video through one consistent REST API. Send a public URL from YouTube, TikTok, Instagram, or Facebook and get back clean JSON — transcripts, AI summaries, video details, comments, and search results. No OAuth, no per-platform SDKs, no data-collection infrastructure to maintain.
- • One API key works across all 27 platforms.
- • Pass
cache=trueto serve from the 24h shared cache (0 credits on hit). Default is always fresh. - • You are only charged for successful requests.
Quickstart
After signing up and copying your API key from the dashboard, make your first request:
curl "https://api.captapi.com/v1/youtube/transcript?url=https%3A%2F%2Fyoutube.com%2Fwatch%3Fv%3DdQw4w9WgXcQ" \
-H "Authorization: Bearer capt_live_..."Authentication
All requests are authenticated with a Bearer token. Generate keys in your dashboard and send them in the Authorization header. Keep keys secret — never expose capt_live_ keys in client-side code.
Authorization: Bearer capt_live_xxxxxxxxxxxxxxxxxxxxMaking Requests
Most endpoints take a url or q query parameter. Some need a different identifier instead — for example userId, username, repo, advertiser, or comment_id. Check each endpoint's docs for the exact params. When building a query string, you must URL-encode URL values so they aren't misinterpreted as multiple parameters.
# URL-encode the target URL before passing it
urlencode "https://youtube.com/watch?v=dQw4w9WgXcQ"Response Format
Every response is JSON with a top-level success boolean. Successful responses include cached, creditsUsed, and a data object.
Success
{
"success": true,
"cached": false,
"creditsUsed": 2,
"data": {
"language": "en",
"segments": [
{ "start": 0.0, "end": 4.12, "text": "Hey everyone, welcome back." }
],
"text": "Hey everyone, welcome back."
}
}Error
{
"success": false,
"error": {
"code": "no_captions",
"message": "This video has no captions and audio transcription failed."
}
}Credits & Caching
Credits are the unit of billing. Cost is per endpoint (see each docs page) — typically 1–4 for simple lookups; many native list/search/comment endpoints are a flat 2 credits per call, while some Apify-backed lists still scale with results (often higher). Failed and empty results are never charged.
By default every data request fetches fresh data (cache=false). Pass cache=true to serve from the shared 24h response cache — then cached is true and creditsUsed is 0.
Errors
Errors return a non-2xx status and an error object with a stable code and a human-readable message.
| Status | Code | Meaning |
|---|---|---|
| 401 | invalid_api_key | Missing or malformed Authorization header. |
| 402 | insufficient_credits | Your balance is too low for this request. |
| 404 | not_found | The target URL or resource could not be found. |
| 422 | no_captions | No captions and audio transcription failed (not charged). |
| 429 | rate_limited | Too many requests — slow down or upgrade your plan. |
| 502 | upstream_error | Temporary upstream data-source failure. Safe to retry (not charged). |
Rate Limits
Rate limits scale with your plan and are returned on every response via X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers. When you exceed the limit you'll get a 429 — back off and retry after the reset window.
API Reference
173 endpoints across 30 groups. Click any endpoint for full parameters, examples, and FAQs.
YouTube & Shorts
TikTok
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/tiktok/transcript | 2 | Transcript |
| GET | /v1/tiktok/summarize | 4 | Summarizer |
| GET | /v1/tiktok/video-details | 1 | Video Details |
| GET | /v1/tiktok/comments | 2 | Comments |
| GET | /v1/tiktok/channel-details | 1 | Channel Details |
| GET | /v1/tiktok/profile-region | 2 | Profile Region |
| GET | /v1/tiktok/audience-demographics | 3 | Audience Demographics |
| GET | /v1/tiktok/search-suggestions | 2 | Search Suggestions |
| GET | /v1/tiktok/channel-posts | 2 | Channel Posts |
| GET | /v1/tiktok/comment-replies | 2 | Comment Replies |
| GET | /v1/tiktok/user-followers | ~20 | User Followers |
| GET | /v1/tiktok/user-followings | ~20 | User Followings |
| GET | /v1/tiktok/music-posts | 2 | Music Posts |
| GET | /v1/tiktok/top-search | 2 | Top Search |
| GET | /v1/tiktok/search/hashtag | ~14 | Search by Hashtag |
| GET | /v1/tiktok/search/users | ~8 | Search Users |
| GET | /v1/tiktok/song-details | 2 | Song Details |
| GET | /v1/tiktok/trending-feed | 2 | Trending Feed |
| GET | /v1/tiktok/popular-hashtags | ~14 | Popular Hashtags |
| GET | /v1/tiktok/live | 1 | Live |
| GET | /v1/tiktok/live-info | 7 | Live Info |
| GET | /v1/tiktok/popular-creators | ~28 | Popular Creators |
Instagram Reels
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/instagram/transcript | 2 | Transcript |
| GET | /v1/instagram/summarize | 4 | Summarizer |
| GET | /v1/instagram/details | 1 | Post Details |
| GET | /v1/instagram/comments | ~45 | Post Comments |
| GET | /v1/instagram/channel-details | 1 | Channel Details |
| GET | /v1/instagram/channel-posts | ~6 | Channel Posts |
| GET | /v1/instagram/channel-reels | ~6 | Channel Reels |
| GET | /v1/instagram/reels-search | ~12 | Reels Search |
| GET | /v1/instagram/trending-reels | ~28 | Trending Reels |
| GET | /v1/instagram/tagged-posts | ~18 | Tagged Posts |
| GET | /v1/instagram/reels-by-audio-id | ~28 | Reels By Audio ID |
| GET | /v1/instagram/hashtag-search | 2 | Hashtag Search |
| GET | /v1/instagram/profile-search | 1 | Profile Search |
| GET | /v1/instagram/embed | 1 | Embed HTML |
| GET | /v1/instagram/basic-profile | 1 | Basic Profile |
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/facebook/details | 2 | Details |
| GET | /v1/facebook/summarize | 4 | Summarizer |
| GET | /v1/facebook/comments | 2 | Comments |
| GET | /v1/facebook/page-details | 2 | Page Details |
| GET | /v1/facebook/profile-posts | 2 | Profile Posts |
| GET | /v1/facebook/profile-reels | 2 | Profile Reels |
| GET | /v1/facebook/group-posts | 2 | Group Posts |
| GET | /v1/facebook/comment-replies | 2 | Comment Replies |
| GET | /v1/facebook/marketplace-search | 2 | Marketplace Search |
| GET | /v1/facebook/marketplace-location-search | 2 | Marketplace Locations |
| GET | /v1/facebook/event-search | 2 | Event Search |
| GET | /v1/facebook/event-details | 2 | Event Details |
| GET | /v1/facebook/profile-photos | 2 | Profile Photos |
| GET | /v1/facebook/profile-events | 2 | Profile Events |
| GET | /v1/facebook/marketplace-item | 2 | Marketplace Item |
Twitter / X
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/twitter/tweet-details | 1 | Tweet Details |
| GET | /v1/twitter/transcript | 1 | Transcript |
| GET | /v1/twitter/profile | 1 | Profile |
| GET | /v1/twitter/user-tweets | 2 | User Tweets |
| GET | /v1/twitter/search | 2 | Search |
| GET | /v1/twitter/community | 1 | Community |
| GET | /v1/twitter/community-tweets | ~18 | Community Tweets |
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/reddit/subreddit-posts | 2 | Subreddit Posts |
| GET | /v1/reddit/post-details | 1 | Post Details |
| GET | /v1/reddit/post-comments | 2 | Post Comments |
| GET | /v1/reddit/post-transcript | 2 | Post Transcript |
| GET | /v1/reddit/search | 2 | Search |
| GET | /v1/reddit/subreddit-details | 1 | Subreddit Details |
| GET | /v1/reddit/subreddit-search | 2 | Subreddit Search |
Threads
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/threads/profile | 1 | Profile |
| GET | /v1/threads/user-posts | ~14 | User Posts |
| GET | /v1/threads/post-details | 1 | Post Details |
| GET | /v1/threads/search | ~18 | Post Search |
| GET | /v1/threads/search-users | ~14 | Search Users |
Bluesky
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/bluesky/profile | 1 | Profile |
| GET | /v1/bluesky/user-posts | ~3 | User Posts |
| GET | /v1/bluesky/post-details | 1 | Post Details |
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/pinterest/pin-details | 1 | Pin Details |
| GET | /v1/pinterest/user-pins | ~13 | User Pins |
| GET | /v1/pinterest/search | ~13 | Search |
| GET | /v1/pinterest/board | ~13 | Board |
| GET | /v1/pinterest/user-boards | ~13 | User Boards |
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/linkedin/profile | 2 | Profile |
| GET | /v1/linkedin/company | 2 | Company |
| GET | /v1/linkedin/post-details | 1 | Post Details |
| GET | /v1/linkedin/post-transcript | 1 | Post Transcript |
| GET | /v1/linkedin/company-posts | ~16 | Company Posts |
| GET | /v1/linkedin/search-posts | ~16 | Search Posts |
Rumble
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/rumble/video-details | 1 | Video Details |
| GET | /v1/rumble/channel-videos | ~12 | Channel Videos |
| GET | /v1/rumble/search | ~12 | Search |
| GET | /v1/rumble/comments | 2 | Comments |
TikTok Shop
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/tiktok-shop/shop-search | ~56 | Shop Search |
| GET | /v1/tiktok-shop/shop-products | 2 | Shop Products |
| GET | /v1/tiktok-shop/product-details | 14 | Product Details |
| GET | /v1/tiktok-shop/product-reviews | ~45 | Product Reviews |
| GET | /v1/tiktok-shop/user-showcase | ~45 | User Showcase |
GitHub
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/github/user | 3 | User |
| GET | /v1/github/repositories | ~12 | Repositories |
| GET | /v1/github/pull-requests | ~12 | Pull Requests |
| GET | /v1/github/activity | ~12 | Activity |
| GET | /v1/github/followers | ~12 | Followers |
| GET | /v1/github/following | ~12 | Following |
| GET | /v1/github/contributions | 3 | Contributions |
| GET | /v1/github/repository | 3 | Repository |
| GET | /v1/github/trending-repositories | ~12 | Trending Repositories |
| GET | /v1/github/trending-developers | ~12 | Trending Developers |
Twitch
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/twitch/profile | 1 | Profile |
| GET | /v1/twitch/user-videos | 2 | User Videos |
| GET | /v1/twitch/user-schedule | 1 | User Schedule |
| GET | /v1/twitch/clip | 1 | Clip |
Ad Library
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/ad-library/facebook/search | 2 | Facebook Search |
| GET | /v1/ad-library/facebook/company-ads | 2 | Facebook Company Ads |
| GET | /v1/ad-library/facebook/search-companies | 2 | Facebook Search Companies |
| GET | /v1/ad-library/facebook/ad-details | 2 | Facebook Ad Details |
| GET | /v1/ad-library/facebook/ad-transcript | 2 | Facebook Ad Transcript |
| GET | /v1/ad-library/tiktok/search | ~70 | TikTok Search |
| GET | /v1/ad-library/tiktok/ad-details | 17 | TikTok Ad Details |
| GET | /v1/ad-library/google/company-ads | 2 | Google Company Ads |
| GET | /v1/ad-library/google/ad-details | 17 | Google Ad Details |
| GET | /v1/ad-library/google/advertiser-search | 1 | Google Advertiser Search |
| GET | /v1/ad-library/linkedin/search-ads | 2 | LinkedIn Search Ads |
| GET | /v1/ad-library/linkedin/ad-details | 17 | LinkedIn Ad Details |
Spotify
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/spotify/artist | 2 | Artist |
| GET | /v1/spotify/track | 2 | Track |
| GET | /v1/spotify/album | 2 | Album |
| GET | /v1/spotify/search | 2 | Search |
| GET | /v1/spotify/podcast | 2 | Podcast |
| GET | /v1/spotify/podcast-episodes | 2 | Podcast Episodes |
SoundCloud
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/soundcloud/artist | 1 | Artist |
| GET | /v1/soundcloud/artist-tracks | 2 | Artist Tracks |
| GET | /v1/soundcloud/track | 1 | Track |
Linktree
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/linktree/page | 4 | Page |
Snapchat
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/snapchat/user-profile | 11 | User Profile |
Truth Social
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/truth-social/profile | 5 | Profile |
| GET | /v1/truth-social/user-posts | ~17 | User Posts |
| GET | /v1/truth-social/post | 5 | Post |
Kick
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/kick/clip | 2 | Clip |
Amazon Shop
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/amazon-shop/page | 2 | Shop Page |
Account
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/account/balance | 0 | Credit Balance |
| GET | /v1/account/request-history | 0 | Request History |
| GET | /v1/account/daily-usage | 0 | Daily Usage |
| GET | /v1/account/most-used-routes | 0 | Most Used Routes |
Kwai
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/kwai/profile | 17 | Profile |
| GET | /v1/kwai/user-posts | ~45 | User Posts |
| GET | /v1/kwai/post | 17 | Post |
Komi
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/komi/page | 4 | Page |
Pillar
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/pillar/page | 4 | Page |
Linkbio
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/linkbio/page | 4 | Page |
Linkme
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/linkme/profile | 4 | Profile |
Cross-platform Analytics
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/analytics/post | 1 | Unified metrics for one post/video/reel (platform auto-detected) |
| GET | /v1/analytics/compare | 1/url | Compare unified metrics across up to 10 URLs in one call |
The read-side companion to publishing and scheduling tools: pass any supported post, video, or reel URL (YouTube, TikTok, Instagram, Facebook, X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, or Rumble) and get one normalized metrics object — views, likes, comments, shares, saves, and an engagement rate — with the platform auto-detected.
# Platform is auto-detected from the URL
curl "https://api.captapi.com/v1/analytics/post?url=https%3A%2F%2Fwww.tiktok.com%2F%40user%2Fvideo%2F7311234567890123456" \
-H "Authorization: Bearer capt_live_..."
# Compare several posts across platforms in one call
curl "https://api.captapi.com/v1/analytics/compare?urls=URL1,URL2,URL3" \
-H "Authorization: Bearer capt_live_..."Video Files (direct upload)
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| POST | /v1/video/transcript | 1/min | Whisper transcription of an uploaded file |
| POST | /v1/video/summarize | 1/min +1 | Transcribe an uploaded file + AI summary |
Integrations
Use Captapi from AI agents, workflow tools, cloud actors, or your terminal — the same 173 endpoints, no REST plumbing.
View all integrationsModel Context Protocol server exposing all 173 endpoints as typed tools for Claude, Cursor, VS Code, and any MCP agent.
Call every one of the 173 endpoints from your terminal, scripts, or CI — one command, JSON to stdout.
Community node (n8n-nodes-captapi) that brings all 173 endpoints into your n8n workflows.
Custom app with an action module for every endpoint, grouped by platform — no code required.
Bring-your-own-key Actor that wraps the REST API (no scraping) and returns the same structured JSON.