One API call turns any social-video URL into metadata, a transcript, sampled frames, and the on-screen text burned into them. Built agent-first — REST, MCP, OpenAPI — and priced so a single call costs a fraction of a cent.
Metadata only, 3 calls/day per visitor. Frames, transcript, and on-screen text need a free API key — see the docs.
A frames + text_overlay call against a real video, trimmed for readability:
// POST /v1/extract — fields: ["frames","text_overlay"] { "platform": "youtube", "frames": [ { "index": 12, "url": "https://…/frame_00012.jpg", "tSec": 4 } ], "textOverlay": [ { "index": 12, "text": "INSPIRATIONAL HOLIDAY VIDEO", "lines": [ { "text": "INSPIRATIONAL", "confidence": 0.96, "bbox": [74, 144, 702, 63] }, { "text": "HOLIDAY VIDEO", "confidence": 0.96, "bbox": [73, 226, 710, 64] } ] } ], "cost": { "totalMicros": 4290 } }
Real output, one frame shown — full example in the docs.
POST /v1/batchfields: ["digest"] instead of parsing the full transcript.fields: ["delta"] — plus title & thumbnail-change flags.?format=md for clean MarkdownPOST /v1/watchnew_video event. No polling./v/<id> SEO page per videopublish: true — public metadata + a fair-use excerpt.Full request and response examples in the docs.
The same call, in real time — metadata, transcript, frames, and on-screen text arriving in one response.
Paste a link above and watch the response come back. No signup for a first look, a free key for the full response, transparent per-call pricing with no subscription.
REST, MCP over Streamable HTTP, and a full OpenAPI 3.1 spec. Typed errors so a failed call is self-correcting, not a dead end.
POST /mcp — framefetch_extract, framefetch_platform_capabilities, framefetch_accountPOST /v1/batch · POST /v1/watch — batch extract + channel webhooks on new videosGET /v1/account · GET /v1/usage — balance, spend, and usage history, read-only| What | Unit | Price |
|---|---|---|
| Metadata + insights | per call | $0.00015 |
| Transcript | per audio-minute | $0.0015 |
| Frames | per frame | $0.00012 |
| Text overlay (OCR) | per frame | $0.000225 |
No subscription. $0.002 minimum per call. Free credit on signup. Full rate card →
Send one social-video URL; get metadata, insights, transcript, parametric frames, and on-screen text as a single JSON response. Six platforms, one schema.
OCR on each extracted frame — burned-in captions, price tags, signage — with per-line confidence and a bounding box. Requires the frames field and is billed per frame.
Yes. POST /v1/watch with a channel URL and a webhook_url, and FrameFetch POSTs you a new_video event for each new upload — no polling. List with GET /v1/watch, remove with DELETE /v1/watch/:id. Up to 50 subscriptions per account.
Yes — via x402, an agent pays per call with USDC, no signup or human needed. Humans can use the free tier, prepaid credits, or a Stripe card.
Pay per call: metadata sub-cent, transcript per minute, frames and text overlay per frame. Free credit on signup. See pricing.
YouTube, YouTube Shorts, TikTok, Instagram Reels, Pinterest, and Reddit.
Yes, Streamable HTTP at /mcp with framefetch_extract and framefetch_platform_capabilities.