Getting Started

Introduction

Captapi gives you structured data from public social media through one consistent REST API. Send a public URL from YouTube, TikTok, Instagram, Facebook, and more and get back clean JSON — profiles, posts, transcripts, AI summaries, comments, search results, and ad-library data. No OAuth, no per-platform SDKs, no data-collection infrastructure to maintain.

  • • One API key works across all 33 platforms.
  • • Pass cache=true to 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_..."

Machine-readable: OpenAPI 3.1 spec (parameters, response schemas, errors, credit cost per endpoint), one-line endpoint list, and llms.txt.

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_xxxxxxxxxxxxxxxxxxxx

Making 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 and a data object.

Success

{
  "success": true,
  "data": {
    "language": "en",
    "segments": [
      { "start": 0.0, "end": 4.12, "text": "Hey everyone, welcome back." }
    ],
    "text": "Hey everyone, welcome back."
  }
}

Error

HTTP/1.1 502 Bad Gateway
Retry-After: 60

{
  "success": false,
  "error": {
    "code": "UPSTREAM_UNAVAILABLE",
    "message": "The upstream data source failed for this request. Retry shortly.",
    "retryable": true
  }
}

Credits & Caching

Credits are the unit of billing. Cost is per endpoint (see each docs page) — typically 1–4 for simple lookups; many list/search/comment endpoints are a flat 2 credits per call, while some list endpoints still scale with results (often higher). Failed requests are never charged.

Empty results are free on many endpoints. On many list and search endpoints, a call that ran but found nothing costs 0 credits, for example an ad-library or profile search with no matches. Where an empty result is still billed, the endpoint page says so: Google Maps business search bills its one page because the lookup ran. The X-Captapi-Credits response header always shows what a call actually cost.

A few endpoints cost more when a slower fallback path serves the call, for example when the platform's own page does not load. Their pages state the rule and the range we have observed: TikTok Song Details, LinkedIn Company Posts, and TikTok Shop Products.

By default every data request fetches fresh data (cache=false). Pass cache=true to serve from the shared 24h response cache at 0 credits.

Errors

Errors return a non-2xx status and an error object with a stable code, a human-readable message, and retryable. Retry only when retryable is true, after the Retry-After header. Failed requests are never charged. Match on code exactly: casing differs between codes. The table lists the common ones; endpoint pages list their specific codes.

StatusCodeRetryableMeaning
400BAD_REQUESTfalseA parameter is missing or invalid, e.g. a URL from the wrong platform. Some endpoints use a more specific code, such as HASHTAG_HAS_SPACES.
400plaintext_not_allowedfalseAPI key sent over http://. Rotate the key and retry with https:// — a redirect does not protect the first hop.
401UNAUTHORIZEDfalseMissing, invalid, or revoked API key.
402insufficient_creditsfalseYour balance is too low for this request. Nothing is charged.
404NOT_FOUNDfalseThe target resource does not exist or is not public. Some endpoints name the case, e.g. no_captions or PROFILE_NOT_FOUND.
422VALIDATION_ERRORfalseA parameter failed validation. error.issues lists each field.
429rate_limit_exceededtrueOver your plan's per-minute limit. Wait for Retry-After.
502UPSTREAM_UNAVAILABLEtrueThe platform failed for this request. Retry shortly.
503SERVICE_UNAVAILABLEtrueTemporarily unavailable. Some endpoints use a more specific code, e.g. COMMUNITY_UNAVAILABLE.
504UPSTREAM_TIMEOUTtrueThe platform did not answer in time. Retry shortly.

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

179 endpoints across 36 groups. Click any endpoint for full parameters, examples, and FAQs.

YouTube & Shorts

MethodEndpointCreditsDescription
GET/v1/youtube/transcript1Transcript
GET/v1/youtube/audio-transcript2Audio Transcript
GET/v1/youtube/summarize3Summarizer
GET/v1/youtube/video-details1Video Details
GET/v1/youtube/comments2Comments
GET/v1/youtube/channel-details1Channel Details
GET/v1/youtube/search2Search
GET/v1/youtube/channel-videos2Channel Videos
GET/v1/youtube/playlist-videos2Playlist Videos
GET/v1/youtube/playlist1Playlist
GET/v1/youtube/shorts/transcript1Shorts Transcript
GET/v1/youtube/shorts/summarize3Shorts Summarizer
GET/v1/youtube/shorts/video-details1Shorts Stats
GET/v1/youtube/shorts/comments2Shorts Comments
GET/v1/youtube/channel-shorts2Channel Shorts
GET/v1/youtube/trending-shorts2Trending Shorts
GET/v1/youtube/channel-streams2Channel Streams
GET/v1/youtube/hashtag-search~20Hashtag Search
GET/v1/youtube/comment-replies2Comment Replies
GET/v1/youtube/channel-playlists2Channel Playlists
GET/v1/youtube/community-posts1Community Posts
GET/v1/youtube/community-post-details1Community Post Details
GET/v1/youtube/video-sponsors0Video Sponsors

TikTok

MethodEndpointCreditsDescription
GET/v1/tiktok/transcript2Transcript
GET/v1/tiktok/summarize4Summarizer
GET/v1/tiktok/video-details1Video Details
GET/v1/tiktok/comments2Comments
GET/v1/tiktok/channel-details1Channel Details
GET/v1/tiktok/profile-region2Profile Region
GET/v1/tiktok/audience-demographics3Audience Demographics
GET/v1/tiktok/search-suggestions2Search Suggestions
GET/v1/tiktok/channel-posts2Channel Posts
GET/v1/tiktok/comment-replies2Comment Replies
GET/v1/tiktok/user-followers1User Followers
GET/v1/tiktok/user-followings1User Followings
GET/v1/tiktok/music-posts2Music Posts
GET/v1/tiktok/top-search2Top Search
GET/v1/tiktok/search/hashtag~14Search by Hashtag
GET/v1/tiktok/search/users1Search Users
GET/v1/tiktok/song-details1Song Details
GET/v1/tiktok/trending-feed2Trending Feed
GET/v1/tiktok/popular-hashtags2Popular Hashtags
GET/v1/tiktok/popular-songs2Popular Songs
GET/v1/tiktok/live1Live
GET/v1/tiktok/live-info1Live Info
GET/v1/tiktok/popular-creators2Popular Creators

Instagram Reels

MethodEndpointCreditsDescription
GET/v1/instagram/transcript2Transcript
GET/v1/instagram/summarize4Summarizer
GET/v1/instagram/details1Post & Reel Details
GET/v1/instagram/comments~45Post Comments
GET/v1/instagram/channel-details1Channel Details
GET/v1/instagram/channel-posts~6Channel Posts
GET/v1/instagram/channel-reels~6Channel Reels
GET/v1/instagram/reels-search2Reels Search
GET/v1/instagram/trending-reels2Trending Reels
GET/v1/instagram/tagged-posts1Tagged Posts
GET/v1/instagram/reels-by-audio-id~28Reels By Audio ID
GET/v1/instagram/hashtag-search2Hashtag Search
GET/v1/instagram/profile-search1Profile Search
GET/v1/instagram/embed1Embed HTML
GET/v1/instagram/highlights1Highlights
GET/v1/instagram/highlights-details1Highlight Details
GET/v1/instagram/basic-profile1Basic Profile

Facebook

MethodEndpointCreditsDescription
GET/v1/facebook/details2Post & Reel Details
GET/v1/facebook/summarize4Summarizer
GET/v1/facebook/comments2Comments
GET/v1/facebook/page-details2Page Details
GET/v1/facebook/profile-posts2Profile Posts
GET/v1/facebook/profile-reels2Profile Reels
GET/v1/facebook/group-posts2Group Posts
GET/v1/facebook/comment-replies2Comment Replies
GET/v1/facebook/profile-photos2Profile Photos

Twitter / X

MethodEndpointCreditsDescription
GET/v1/twitter/tweet-details1Tweet Details
GET/v1/twitter/transcript1Transcript
GET/v1/twitter/profile1Profile
GET/v1/twitter/user-tweets2User Tweets
GET/v1/twitter/community1Community
GET/v1/twitter/community-tweets2Community Tweets

Reddit

MethodEndpointCreditsDescription
GET/v1/reddit/subreddit-posts2Subreddit Posts
GET/v1/reddit/post-details1Post Details
GET/v1/reddit/post-comments2Post Comments
GET/v1/reddit/post-transcript2Post Transcript
GET/v1/reddit/search2Search
GET/v1/reddit/subreddit-details1Subreddit Details
GET/v1/reddit/subreddit-search2Search Posts in a Subreddit

Threads

MethodEndpointCreditsDescription
GET/v1/threads/profile1Profile
GET/v1/threads/user-posts2User Posts
GET/v1/threads/post-details1Post Details
GET/v1/threads/search2Post Search
GET/v1/threads/search-users1Search Users

Bluesky

MethodEndpointCreditsDescription
GET/v1/bluesky/profile1Profile
GET/v1/bluesky/user-posts~3User Posts
GET/v1/bluesky/post-details1Post Details

Pinterest

MethodEndpointCreditsDescription
GET/v1/pinterest/pin-details1Pin Details
GET/v1/pinterest/user-pins~13User Pins
GET/v1/pinterest/search~13Search
GET/v1/pinterest/board~13Board
GET/v1/pinterest/user-boards~13User Boards

LinkedIn

MethodEndpointCreditsDescription
GET/v1/linkedin/profile1Profile
GET/v1/linkedin/company2Company
GET/v1/linkedin/post-details1Post Details
GET/v1/linkedin/post-transcript1Post Transcript
GET/v1/linkedin/company-posts1Company Posts
GET/v1/linkedin/search-posts~16Search Posts

Rumble

MethodEndpointCreditsDescription
GET/v1/rumble/video-details1Video Details
GET/v1/rumble/video/transcript1Video Transcript
GET/v1/rumble/channel-videos~12Channel Videos
GET/v1/rumble/search~12Search
GET/v1/rumble/comments2Comments

TikTok Shop

MethodEndpointCreditsDescription
GET/v1/tiktok-shop/shop-search2Shop Search
GET/v1/tiktok-shop/shop-products2Shop Products
GET/v1/tiktok-shop/product-details2Product Details
GET/v1/tiktok-shop/product-reviews~45Product Reviews
GET/v1/tiktok-shop/user-showcase~45User Showcase

Facebook Marketplace

MethodEndpointCreditsDescription
GET/v1/facebook/marketplace-search2Marketplace Search
GET/v1/facebook/marketplace-location-search2Location Search
GET/v1/facebook/marketplace-item2Marketplace Item

Facebook Events

MethodEndpointCreditsDescription
GET/v1/facebook/event-search2Event Search
GET/v1/facebook/event-details2Event Details
GET/v1/facebook/profile-events2Profile Events

Facebook Ad Library

TikTok Ad Library

MethodEndpointCreditsDescription
GET/v1/ad-library/tiktok/search2Search
GET/v1/ad-library/tiktok/top-ads2Top Ads
GET/v1/ad-library/tiktok/ad-details2Ad Details

Google Ad Library

MethodEndpointCreditsDescription
GET/v1/ad-library/google/company-ads2Company Ads
GET/v1/ad-library/google/ad-details2Ad Details
GET/v1/ad-library/google/advertiser-search1Advertiser Search

LinkedIn Ad Library

MethodEndpointCreditsDescription
GET/v1/ad-library/linkedin/search-ads2Search Ads
GET/v1/ad-library/linkedin/ad-details2Ad Details

Amazon Seller Storefront

MethodEndpointCreditsDescription
GET/v1/amazon-shop/page1Seller Storefront

GitHub

MethodEndpointCreditsDescription
GET/v1/github/user1User
GET/v1/github/repositories~12Repositories
GET/v1/github/pull-requests~12Pull Requests
GET/v1/github/activity~12Activity
GET/v1/github/followers~3Followers
GET/v1/github/following~3Following
GET/v1/github/contributions2Contributions
GET/v1/github/repository1Repository
GET/v1/github/trending-repositories2Trending
GET/v1/github/trending-developers2Trending Devs

Twitch

MethodEndpointCreditsDescription
GET/v1/twitch/profile1Profile
GET/v1/twitch/user-videos2User Videos
GET/v1/twitch/user-schedule1User Schedule
GET/v1/twitch/clip1Clip

Spotify

MethodEndpointCreditsDescription
GET/v1/spotify/artist1Artist
GET/v1/spotify/track1Track
GET/v1/spotify/album1Album
GET/v1/spotify/search2Search
GET/v1/spotify/podcast1Podcast
GET/v1/spotify/podcast-episodes2Podcast Episodes

SoundCloud

MethodEndpointCreditsDescription
GET/v1/soundcloud/artist1Artist
GET/v1/soundcloud/artist-tracks2Artist Tracks
GET/v1/soundcloud/track1Track

Linktree

MethodEndpointCreditsDescription
GET/v1/linktree/page1Page

Snapchat

MethodEndpointCreditsDescription
GET/v1/snapchat/user-profile1User Profile

Truth Social

MethodEndpointCreditsDescription
GET/v1/truth-social/profile1Profile
GET/v1/truth-social/user-posts2User Posts
GET/v1/truth-social/post1Post

Kick

MethodEndpointCreditsDescription
GET/v1/kick/clip1Clip

CaptAPICaptAPI Account

MethodEndpointCreditsDescription
GET/v1/account/balance0Credit Balance
GET/v1/account/request-history0Request History
GET/v1/account/daily-usage0Daily Usage
GET/v1/account/most-used-routes0Most Used Routes

Kwai

MethodEndpointCreditsDescription
GET/v1/kwai/profile1Profile
GET/v1/kwai/user-posts~20User Posts
GET/v1/kwai/post2Post

Komi

MethodEndpointCreditsDescription
GET/v1/komi/page1Page

Pillar

MethodEndpointCreditsDescription
GET/v1/pillar/page1Page

Linkbio

MethodEndpointCreditsDescription
GET/v1/linkbio/page1Page

Linkme

MethodEndpointCreditsDescription
GET/v1/linkme/profile1Profile

Google Maps

MethodEndpointCreditsDescription
GET/v1/google/business-search2Business Search

Cross-platform Analytics

MethodEndpointCreditsDescription
GET/v1/analytics/post1Unified metrics for one post/video/reel (platform auto-detected)
GET/v1/analytics/compare1/urlCompare 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, interactions, and engagementRate — with the platform auto-detected. Fields a network does not expose stay null (YouTube has no public share/save counts).

# Platform is auto-detected from the URL
curl "https://api.captapi.com/v1/analytics/post?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DdQw4w9WgXcQ" \
  -H "Authorization: Bearer capt_live_..."

# Compare several posts in one call (same metrics shape per URL)
curl "https://api.captapi.com/v1/analytics/compare?urls=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DdQw4w9WgXcQ,https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DjNQXAC9IVRw" \
  -H "Authorization: Bearer capt_live_..."

Video Files (direct upload)

MethodEndpointCreditsDescription
POST/v1/video/transcript1/minSpeech-to-text transcription of an uploaded file
POST/v1/video/summarize1/min +1Transcribe an uploaded file + AI summary

Integrations

Use Captapi from AI agents, workflow tools, cloud actors, or your terminal — the same 179 endpoints, no REST plumbing.

View all integrations

Ready to build?

Grab your free API key and make your first call in 60 seconds.

Get your API key