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, search results, and downloads. No OAuth, no per-platform SDKs, no scraping infrastructure to maintain.
- • One API key works across all 29 platforms.
- • Repeat calls are served from a shared cache for free (up to 24h; time-sensitive metrics refresh within ~1h).
- • 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 single url query parameter (search endpoints use q). When building the request as a query string, you must URL-encode the target URL so it isn'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. Each endpoint costs 1–4 credits per successful call (video details: 1, transcript/comments: 2, summarize: 4, downloads: 3). Failed and empty results are never charged.
Responses are cached and shared across all accounts for up to 24 hours — time-sensitive data (engagement metrics, follower lists) refreshes within ~1 hour so it stays current. If a result is served from cache, 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 scraping 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
183 endpoints across 32 groups. Click any endpoint for full parameters, examples, and FAQs.
YouTube & Shorts
TikTok
Instagram Reels
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/instagram/transcript | 2 | Transcript |
| GET | /v1/instagram/summarize | 4 | Summarizer |
| GET | /v1/instagram/details | 1 | Details |
| GET | /v1/instagram/comments | ~45 | 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/video-download | 3 | Video Download |
| GET | /v1/instagram/tagged-posts | ~18 | Tagged Posts |
| GET | /v1/instagram/music-posts | ~18 | Music Posts |
| GET | /v1/instagram/reels-by-audio-id | ~28 | Reels By Audio ID |
| GET | /v1/instagram/hashtag-search | ~12 | Hashtag Search |
| GET | /v1/instagram/profile-search | ~12 | Profile Search |
| GET | /v1/instagram/story-highlights | 5 | Story Highlights |
| GET | /v1/instagram/highlights-details | ~9 | Highlights Details |
| GET | /v1/instagram/embed | 1 | Embed |
| GET | /v1/instagram/basic-profile | 1 | Basic Profile |
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/facebook/details | 1 | Details |
| GET | /v1/facebook/transcript | 2 | Transcript |
| GET | /v1/facebook/summarize | 4 | Summarizer |
| GET | /v1/facebook/comments | ~30 | Comments |
| GET | /v1/facebook/page-details | 1 | Page Details |
| GET | /v1/facebook/profile-posts | ~12 | Profile Posts |
| GET | /v1/facebook/profile-reels | ~36 | Profile Reels |
| GET | /v1/facebook/group-posts | ~12 | Group Posts |
| GET | /v1/facebook/comment-replies | ~30 | Comment Replies |
| GET | /v1/facebook/marketplace-search | ~28 | Marketplace Search |
| GET | /v1/facebook/marketplace-location-search | 17 | Marketplace Locations |
| GET | /v1/facebook/event-search | ~40 | Event Search |
| GET | /v1/facebook/event-details | 2 | Event Details |
| GET | /v1/facebook/profile-photos | ~12 | Profile Photos |
| GET | /v1/facebook/profile-events | ~40 | Profile Events |
| GET | /v1/facebook/marketplace-item | 17 | Marketplace Item |
Twitter / X
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/twitter/tweet-details | 1 | Tweet Details |
| GET | /v1/twitter/transcript | 7 | Transcript |
| GET | /v1/twitter/profile | 1 | Profile |
| GET | /v1/twitter/user-tweets | ~14 | User Tweets |
| GET | /v1/twitter/search | ~14 | Search |
| GET | /v1/twitter/community | 1 | Community |
| GET | /v1/twitter/community-tweets | ~18 | Community Tweets |
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/reddit/subreddit-posts | ~10 | Subreddit Posts |
| GET | /v1/reddit/post-details | 1 | Post Details |
| GET | /v1/reddit/post-comments | ~20 | Post Comments |
| GET | /v1/reddit/post-transcript | ~20 | Post Transcript |
| GET | /v1/reddit/search | ~10 | Search |
| GET | /v1/reddit/subreddit-details | 1 | Subreddit Details |
| GET | /v1/reddit/subreddit-search | ~10 | 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 | 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 | 7 | 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 | ~30 | Comments |
TikTok Shop
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/tiktok-shop/shop-search | ~56 | Shop Search |
| GET | /v1/tiktok-shop/shop-products | ~56 | 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 |
Google Search
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/google/search | ~42 | Search |
Twitch
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/twitch/profile | 9 | Profile |
| GET | /v1/twitch/user-videos | ~34 | User Videos |
| GET | /v1/twitch/user-schedule | 34 | User Schedule |
| GET | /v1/twitch/clip | 9 | Clip |
Spotify
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/spotify/artist | 6 | Artist |
| GET | /v1/spotify/track | 6 | Track |
| GET | /v1/spotify/album | 6 | Album |
| GET | /v1/spotify/search | ~23 | Search |
| GET | /v1/spotify/podcast | 6 | Podcast |
| GET | /v1/spotify/podcast-episodes | ~23 | Podcast Episodes |
SoundCloud
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/soundcloud/artist | 7 | Artist |
| GET | /v1/soundcloud/artist-tracks | ~28 | Artist Tracks |
| GET | /v1/soundcloud/track | 7 | 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 | 34 | Clip |
Amazon Shop
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/amazon-shop/page | ~89 | Shop Page |
Age and Gender
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/age-gender | 4 | Age and Gender |
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 |
Ad Library
| Method | Endpoint | Credits | Description |
|---|---|---|---|
| GET | /v1/ad-library/facebook/search | ~70 | Facebook Search |
| GET | /v1/ad-library/facebook/company-ads | ~70 | Facebook Company Ads |
| GET | /v1/ad-library/facebook/search-companies | ~70 | Facebook Search Companies |
| GET | /v1/ad-library/facebook/ad-details | 17 | Facebook Ad Details |
| GET | /v1/ad-library/facebook/ad-transcript | 17 | 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 | ~67 | Google Company Ads |
| GET | /v1/ad-library/google/ad-details | 17 | Google Ad Details |
| GET | /v1/ad-library/google/advertiser-search | ~45 | Google Advertiser Search |
| GET | /v1/ad-library/linkedin/search-ads | ~70 | LinkedIn Search Ads |
| GET | /v1/ad-library/linkedin/ad-details | 17 | LinkedIn Ad Details |
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 181 endpoints, no REST plumbing.
View all integrationsModel Context Protocol server exposing all 181 endpoints as typed tools for Claude, Cursor, VS Code, and any MCP agent.
Call every one of the 181 endpoints from your terminal, scripts, or CI — one command, JSON to stdout.
Community node (n8n-nodes-captapi) that brings all 181 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.