Facebook Post & Reel Details API
Changed onFacebook post or Reel — caption, engagement, author id, video{} playback, and music when Facebook exposes them.
Paste a Facebook post or Reel URL and get clean JSON: caption (no description twin), publishedAt, fetchedAt, engagement (likes / comments / views / shares always keyed — null when unknown or not a video; never invent shares:0), author (including stable author.id when present), and video{} as the only playback block (id / url / sdUrl / hdUrl / width / height / captionsUrl). durationSeconds and thumbnailUrl stay on the post for cards. No flat videoUrl / videoSdUrl twins. feedbackId is base64("feedback:" + id) — the token /facebook/comments accepts; fully derivable from id. music when Facebook exposes it. Each keyed likes/comments/shares/views count carries *IsApproximate (false when the count is null). facebook.com/share/<id> links (the mobile Share button — /share/, /share/p/, /share/r/, /share/v/) are resolved automatically: a cheap redirect first, then a full page render that reads Facebook's own og:url/canonical; the share→canonical mapping is cached 30 days so a repeat paste is instant. 400 UNRESOLVED_SHARE_LINK only when Facebook refuses to reveal the canonical URL — never 14–23s of NOT_FOUND for a shape we did not parse. A page URL is 400 WRONG_RESOURCE_TYPE. A fetch or parse miss is 503 FACEBOOK_UNAVAILABLE (retryable) — we do not 404 a URL unless Facebook itself answered 404. Note: for some Reels, the view count on the individual post page can be null or lower than the public Reels grid badge — use Facebook Profile Reels and match by post id if you need that badge count. Flat 2 credits per call.
Request
- Base URL: https://api.captapi.com
- URL: https://api.captapi.com/v1/facebook/details
- Auth: one of:
- HTTP bearer
- API key in header X-API-Key
Query parameters
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.
Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
Response
Success. The data object for this endpoint.
Changes
- breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - warning
removed the optional property
/from the response with the status - warning
removed the optional property
/from the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status
- breaking