GAPI documentation
One link in, direct media URLs out, in a shape that never changes. Nine platforms answer through the same object, so the parser you write for the first one already reads the rest.
Your first call
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'Sign in with GitHub or Google, create a key in the dashboard, and paste it in place of the placeholder. The free plan gives you 200 tokens a month with no card.
Start here
Platforms
All nine answer today. Each has a page of its own: the parameters it takes, the links it accepts, and a real response to read.
Every endpoint
Nine platforms, eleven endpoints, one response shape. Note the paths: three platforms answer under /v2 and the rest do not, so copy the path from this table rather than guessing at a prefix.
| Platform | Endpoint | Returns | Tokens |
|---|---|---|---|
GET /v2/instagram/media | Reel, photo, carousel or story link | 1 | |
GET /v2/instagram/stories | All live stories for a username | 1 | |
| YouTube | GET /v2/youtube/info | Titles, lengths and available heights | 1 |
GET /v2/youtube | One finished file, or MP3 | 8 | |
| TikTok | GET /tiktok | Video without a watermark, or a photo post | 1 |
GET /facebook | Watch, reel or share link | 1 | |
| VK | GET /v2/vk | Every rendition, 144p to 1080p | 1 |
| Threads | GET /threads | Photo, video or carousel | 1 |
| X (Twitter) | GET /twitter | Video, GIF or photos from a post | 1 |
GET /reddit | Video with its audio track, images, galleries | 1 | |
GET /pinterest | Pin image or video | 1 |
Tokens are what a call takes out of your monthly balance. A social resolve takes one however many files come back; a YouTube download costs more because it costs us more.
Something not working?
Message @gapidevbot on Telegram and include the URL you called with — that is usually enough to spot the problem straight away.