API · b2b
social media downloader API
one REST API to download videos, photos and audio from six platforms. the same engine behind fastsaver.io and @fastsaver_bot, as a service for your product.
what it does
you send a public post url. you get back JSON with a direct file link, a thumbnail, the dimensions and the caption. no scraping, no headless browsers, no cookies to babysit.
auth
every request carries your key in an X-Api-Key header. that’s the whole auth
story: no OAuth, no tokens to refresh. you can manage your keys in the dashboard.
quick start
one GET request covers tiktok, instagram, facebook, x and pinterest:
curl "https://api.fastsaver.io/v1/fetch?url=https://www.instagram.com/reel/DRVO0TKkWPD/" \
-H "X-Api-Key: YOUR_KEY" the response is flat JSON with direct file links:
{
"ok": true,
"id": "DRVO0TKkWPD",
"source": "instagram",
"type": "video",
"download_url": "https://scontent.cdninstagram.com/v/512204981_n.mp4?…",
"thumbnail_url": "https://scontent.cdninstagram.com/v/512204981_n.jpg?…",
"width": 1080,
"height": 1920,
"duration": 31,
"caption": "golden hour in lisbon"
} response fields
ok— true on successid— the post id on the source platformsource— tiktok, instagram, facebook, x or pinteresttype— video, image or albumdownload_url— direct link to the clean file, no watermarkthumbnail_url— poster imagewidth, height, duration— pixels and seconds; duration only for videocaption— the post text, handy for filenamesmusic_url— tiktok only: the sound track as mp3items[]— albums and carousels: one entry per slide with type, download_url, thumbnail_url, width, height
errors
failures come back as { ok: false, detail } with a plain http status.
401— bad or missing key400— no credits left, or the url isn’t a supported post429— too many requests per minute, back off and retryfetch.failed— the post is private, removed or otherwise unreachable
{ "ok": false, "detail": "fetch.failed" } youtube is two steps
youtube files come in many qualities, so you pick one first. GET /v1/youtube/info lists the formats with their filesize. then POST /v1/youtube/download with the
format you want returns a download_url and a filename. format audio gives you an m4a file.
curl "https://api.fastsaver.io/v1/youtube/info?url=https://youtu.be/dQw4w9WgXcQ" \
-H "X-Api-Key: YOUR_KEY"
curl -X POST https://api.fastsaver.io/v1/youtube/download \
-H "X-Api-Key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{ "url": "https://youtu.be/dQw4w9WgXcQ", "format": "1080p" }' endpoints
GET /v1/fetch?url=…— tiktok, instagram, facebook, x, pinterestGET /v1/youtube/info?url=…— list available formatsPOST /v1/youtube/download— resolve the format you picked
credits and pricing
one successful call costs one credit. every new key starts with 1,000 free credits, enough to build and test without a card. paid plans start at $9/month, see pricing. public posts only, same rule as the website and the bot.
guides
- getting started — first request in 5 minutes
- TikTok downloader API (no watermark)
- Instagram downloader API — reels & albums
- YouTube download API — formats & audio
- what people build with it
frequently asked questions
- Which platforms does the API support?
- TikTok, Instagram, YouTube, Facebook, X (Twitter) and Pinterest. Videos, photos, albums, TikTok sounds and YouTube audio.
- Does the TikTok endpoint remove the watermark?
- Yes. download_url points at the clean source file, and music_url gives you the sound as an mp3.
- Can I get YouTube audio on its own?
- Yes. Call /v1/youtube/download with format "audio" and you get an m4a file. It plays in every music app.
- Can it download private content?
- No. Public posts only, by design. Private, removed or age-gated posts come back as fetch.failed.
- What does it cost?
- Every new key starts with 1,000 free credits. Paid plans start at $9 per month. No card needed to try it.
just want to download something? use the downloader.