What changed
Last updated: 2026-10-14
Customer-visible changes only. Dates are deploy dates.
14 October 2026 — Balance and auto-renew
Payments now top up an account balance and packs are bought from it in one click. Whatever arrives is credited in full — an over- or underpayment, or a coin sent on another network, no longer leaves a payment half-applied. The minimum top-up follows the USDT-TRC20 network minimum (currently $12), so every listed currency can pay it.
Auto-renew is optional: pick a pack on the Billing page and it is bought again from the balance when the current one expires or runs out, with an email three days ahead if the balance is short. Nothing is charged on its own; the balance is the only source.
3 October 2026 — Richer metadata: music, location, engagement
meta now carries fields the sources already gave us but we used to drop: username, author_avatar, author_verified, likes, comments, shares, saves, location, region and music (title, author, duration, cover, original). Nothing existing changed — the new fields are additive and null where the source does not provide them.
- meta.music describes the track used in the post (TikTok, Instagram, Likee); the audio file itself stays in the top-level music link.
- Instagram: pass full_meta=true to GET /v1/instagram to also get likes, comments, location, original audio and the verified badge. It adds about 0.3 s and costs the same; without it the response is unchanged. Other platforms already return full meta and ignore the flag.
- The playground has a full_meta toggle and shows the new fields in the preview; the docs list every field in en, ru and uz.
27 September 2026 — Instagram profile endpoint
GET /v1/instagram/profile returns profile data for one Instagram account by username (natgeo or @natgeo) or profile link: full name, bio and bio links, follower, following and post counts, verified, private and business flags, the avatar in 150 and 320 px, and up to 12 recent posts with likes, comments and views. 3 credits per profile; an account that does not exist is 404 MEDIA_NOT_FOUND at 0.1.
- Private accounts return the profile without posts.
- For some business accounts Instagram does not expose following, post count and bio links to logged-out clients. Those fields come back as null rather than a guessed number, so null means unknown and 0 means zero.
- Pass a recent_posts[].url to GET /v1/instagram to download the post.
22 September 2026 — Status page: three numbers instead of one
The status page and GET /v1/stats used to publish a single “success rate” that mixed two unrelated things: requests that failed on our side, and links the source itself reports as deleted or private. One customer polling Instagram story URLs for accounts with no active story pushed that figure to 72.73% in September, while our own error share was 1.41%. The denominator has not changed — the label has.
- success_rate — share of requests that finished without an error on our side (timeout, upstream, internal). Platform badges are computed from this same number, so a platform can no longer read “84.3%” next to “operational”.
- resolved_rate — share of links actually resolved.
- content_unavailable_rate — share where the source answered “deleted or private” (404 MEDIA_NOT_FOUND, 403 PRIVATE_CONTENT).
- Nothing is hidden: all three are published side by side, and refused links stay in the denominator.
- Median latency is now measured over every request that reached a source, not only the successful ones — you wait for a 404 too.
17 September 2026 — Twitch
Twitch is the thirteenth platform. GET /v1/twitch resolves a clip to its CDN MP4 in every quality Twitch stores, each with its exact size, and a VOD (twitch.tv/videos/…) to a streaming MP4 link per rendition plus an M4A audio link — all in one response, no second call.
- Clips are plain H.264 MP4s on Twitch's CDN (usually 1080p, 720p, 480p, 360p); medias[] carries 720p, formats[] the rest.
- Twitch publishes VODs as HLS only, so each VOD url is ours: the segments are remuxed into MP4 on the fly and streamed through the API, never re-encoded or stored. The source m3u8 is included as hls.
- Pricing: a clip is 1.5 credits, a VOD 3 (the file streams through us, like Rutube). Every rendition's link is in the one billed response.
- A live channel link is 404 MEDIA_NOT_FOUND (0.1 credits); a subscriber-only VOD is 403 PRIVATE_CONTENT.
15 September 2026 — YouTube
YouTube is the twelfth platform and the only two-step one. GET /v1/youtube/info returns the title, duration and every rendition (144p to 1080p, MP3, M4A) with its exact size and no links; GET /v1/youtube/create?quality= builds the one you pick and returns a signed link that streams the file. Both calls answer in about 0.2 s; the stream starts within about half a second.
- Renditions are H.264 MP4 with AAC audio, so they play everywhere including Telegram.
- Sizes for video and M4A are exact (read from the source); MP3 is transcoded and its size is an estimate, marked with exact: false.
- The download link carries an expiry and answers 410 LINK_EXPIRED afterwards; an unknown quality is 400 INVALID_FORMAT.
- Pricing: info is 2 credits, create is 10 — 12 for the full flow (FastSaverAPI charges 17, tunelio 16).
- Two guides — yt-dlp's “Sign in to confirm you're not a bot” on a server, and YouTube to MP3 with the API — plus content pages for MP3 and Shorts under /platforms/youtube/. The YouTube platform page now shows both steps and the real info response.
- Docs: a three-step quickstart, a route filter in the endpoint explorer, Example / Fields tabs on responses, and the credit cards list platforms by name. YouTube sits third in every platform list.
13 September 2026 — dead links are 404, not 502
An Instagram post that every source refuses while the sources are demonstrably healthy now returns MEDIA_NOT_FOUND (404, 0.1 credits) instead of UPSTREAM_ERROR (502). Previously a deleted reel looked like an outage on our side and invited retries that could not succeed.
- A public status page at /status/: 30-day success rate and latency, and each platform's 24-hour state from real traffic. /v1/stats now carries platform_status.
- Ten new guides: yt-dlp and Instagram, the Instagram Graph API and reels, the story endpoint, datacenter IPs, n8n, VK, PHP, Go, Google Sheets and grammY.
- Content-type pages under each platform: Instagram reels and carousels, TikTok no-watermark and photo slideshows.
- Pricing has its own page at /pricing/; comparisons with FastSaverAPI, cobalt and RapidAPI listings; this changelog.
- Admin platform health now counts only requests that reached the source; quota and key rejections no longer drag a platform to "down".
12 September 2026 — docs redesign, faster Instagram
- API reference rebuilt: endpoint cards, ordered tables, a sticky key panel and a live Try-it from the browser.
- Three more Instagram sources in the resolving chain; cold reels resolve at a median of about 0.7 s on our measurement.
- Username story links (instagram.com/stories/<username>/) resolve again — every active story of a public account.
- The 20 MB size probe is skipped for API clients — it only mattered for Telegram bots and cost up to 1.4 s per reel.
11 September 2026 — fractional credits
Requests are now priced individually: 1.5 credits for a download, 5 for an Instagram story, 3 for Rutube, 0.1 for a link the source refuses (private, deleted). Timeouts and errors on our side stay free. Pack sizes did not change.
- 9GAG added as the eleventh platform.
- The success rate on the front page no longer counts client-side rejections (bad key, quota, unsupported URL) as failures.
9 September 2026 — honest error codes
A resolving chain that ran out of time was reported as PRIVATE_CONTENT (403). It is now UPSTREAM_ERROR (502), unbilled and retryable; PRIVATE_CONTENT is reserved for posts a source explicitly reports as private.
8 September 2026 — VK and Rutube quality, one download endpoint
- VK and Rutube return a formats[] list with ready URLs and exact sizes; mp3 available where the source publishes audio.
- The separate /download route is gone — format is a plain parameter on the platform endpoint.
- Email verification wall removed: the 1,000 free credits are granted at signup.
5 September 2026 — payment window and timeouts
- A payment order stays open for 24 hours instead of 1.
- Upstream timeout is retried once; a slow source no longer produces a 504 on the first stall.
4 September 2026 — dashboard and admin panel
- Customer dashboard: keys, usage, billing, sessions and support tickets.
- Checkout lets you pick the crypto currency; the USDT-TRC20 minimum no longer blocks the $9 pack.
3 September 2026 — platform pages in three languages
One page per platform in English, Uzbek and Russian, with the accepted link shapes, what comes back and what it costs.
29–31 August 2026 — crypto checkout, abuse limits
- Credit packs purchasable with crypto (NOWPayments).
- Per-key rate limits, IP allow-lists and request-size guards.
27 August 2026 — credit packs instead of subscriptions
Plans became prepaid credit packs valid 30 days from purchase. Email and password sign-in added next to Google and Telegram; sessions are listed and revocable in the dashboard.
26 August 2026 — launch
saveapi.org opened with ten platforms, measured statistics on the front page, and docs, sign-in and dashboard pages.