gapi

Download from Instagram, TikTok, YouTube, Reddit and five more networks

One API and one JSON shape for Instagram, TikTok, YouTube, Reddit, Facebook, VK, Threads, X and Pinterest. Send a public link, get direct links to the media.

GETapi.gapi.dev/v2/instagram/media?url=https://www.instagram.com/p/DbYaLffE2DD/200 OK · 1 token
{
  "platform": "instagram",
  "type": "album",
  "title": "Suit up!\n\nThese photos show NASA astronaut candidates…",
  "author": null,
  "thumbnail": null,
  "duration": null,
  "media": [
    { "type": "image", "url": "https://…", "quality": null, "ext": null },
    { "type": "image", "url": "https://…", "quality": null, "ext": null },
    { "type": "image", "url": "https://…", "quality": null, "ext": null }
  ]
}

what actually matters
when you move media

one shape for nine networks

Platform, type, title, author, thumbnail, duration and a list of files. The same keys whichever link you send.

links straight to the source

On most networks the media link points at the platform's own CDN, so nothing is re-hosted or stored on the way.

one balance for everything

A link costs one token, a YouTube download eight. Buy a month and spend it on any network.

good eveningexample data
tokens left3,184
calls today142
errors2.1%
avg response1.8s
calls, last 14 daysexample data

not a downloader app.
the layer under yours.

Every kind of post comes back in one call, from one endpoint per network, in one shape your code already knows.

api.gapi.dev/tiktok?url=https://www.tiktok.com/@…/video/…200 OK
TikTok · video

Scramble up ur name & I'll try to guess it

author
null
duration
null
thumbnail
yes
tokens
1
files
video

every network,
one endpoint each

What you can send and what comes back, network by network. One key works for all of them, and every answer has the same shape.

networkendpointwhat comes backtokens
Instagram/v2/instagram/mediaphotos, carousels and reels; a username to /stories gives every live story1 token
TikTok/tiktokvideos, photo posts and albums1 token
YouTube/v2/youtubevideos, Shorts and ended streams as one file up to 1080p, or mp38 tokens
Reddit/redditvideos with their audio track, photos and galleries1 token
Facebook/facebookvideos and reels1 token
VK/v2/vkvideos and clips, one entry per height VK holds1 token
Threads/threadsphotos, videos and albums1 token
X (Twitter)/twittervideos, GIFs, photos and albums1 token
Pinterest/pinterestphotos and videos1 token
100%of calls in the last 7 days answered without an error on our side
1.8smedian response over the last 7 days
7,433calls served since August 2026

Counted live from the API's request log. A post that is private or deleted returns 404 and is the platform's answer, not ours, so it is not counted as an error.

built for people
who read the docs

Clean endpoints, predictable responses and examples in curl, Python, JavaScript, PHP and Go, so the first file arrives in minutes rather than days.

view the api docs
curl -G 'https://api.gapi.dev/v2/vk' \
  --data-urlencode 'url=https://vkvideo.ru/video-122033519_456246913' \
  -H 'X-API-Key: gapi_live_your_key_here'

pay for what you
actually use

Mini

$1.99/mo

  • 5,000 tokens a month
  • 2/second
Choose

Starter

$2.99/mo

  • 10,000 tokens a month
  • 3/second
Choose

Pro

$4.99/mo

  • 20,000 tokens a month
  • 5/second
Choose
A link costs one token, a YouTube download eight. Pay with Telegram Stars in @gapidevbot; card checkout is still being built.all nine plans →

questions people
actually ask

Anything else, ask in Telegram. A person answers.

Why tokens and not requests?
Because a request is not the same everywhere. Resolving VK is cheap for us; other platforms are not, and under a flat count the cheap ones pay for the expensive ones. Tokens let the price follow the work.
What happens when I run out?
Calls return 429 until the balance resets on the 1st. Nothing is charged beyond the plan and nothing is throttled silently. A call that fails on our side — a malformed URL, or an error of ours — costs nothing. A 404 does cost a token: by the time we know a post is missing, it has already been looked up.
How do I pay?
Message @gapidevbot and pay with Telegram Stars. Card checkout here is still being built, and we would rather say that plainly than put up a payment form that does not work.
How long does a media link last?
A few hours on most platforms, because the link is signed by the platform's own CDN and we hand it over untouched. YouTube is the exception at about a minute, since that file is assembled on request. Start the download when you get the link rather than storing it; asking again returns a fresh one.
Do you store the files?
No. What you get is a link to the platform's own CDN, so the bytes never pass through us and never land on your bill here. Two platforms are the exception and are proxied through our domain — that is a routing detail, not storage, and nothing is written to disk.
What about private or deleted posts?
They return 404, and that is the platform's boundary rather than a limit here — there is no login to add and no setting that changes it. A 404 does cost a token: finding out a post is missing still means going and looking.

start buildingwith one unifiedmedia API

get a free key