ReelsDownloader
Product
FeaturesHow it worksPlatformsGuidesGet the appAPI
Legal
Privacy PolicyTermsRefundSupportAboutContact
Get it on Google Play

ReelsDownloader API

ReelsDownloader runs on a single resolution gateway: one endpoint takes a public social-media URL and returns the downloadable media behind it. The website and the Android app are both just clients of that gateway. This page documents the contract.

Access is by request. The gateway is not an open endpoint — every call carries a client credential, and keys are issued per integration so usage can be attributed and rate-limited. Write to [email protected] with what you are building and roughly what volume you expect.

What it does

Give it a link. It works out which platform the link belongs to, calls whichever upstream resolver is currently healthiest for that platform, normalises wildly different response shapes into one schema, and hands back a list of downloadable files.

The value is in the normalisation and the fallbacks. Nineteen platforms return media in nineteen different structures, several change without notice, and any individual resolver fails regularly. The gateway races several in parallel, ranks them on live success rate and latency, and retries elsewhere when one returns nothing.

Endpoint

POST /resolve
Content-Type: application/json
{
  "url": "https://www.instagram.com/reel/Dclok0_SJMj",
  "no_challenge": true
}

url is the only required field. no_challenge asks the gateway to fail rather than return an interactive human-verification challenge — set it when there is no human present to solve one.

Response

{
  "medias": [
    { "url": "https://…", "quality": "720p", "kind": "video" },
    { "url": "https://…", "quality": "Thumbnail", "kind": "image" }
  ],
  "meta": {
    "title": "…",
    "author": "…",
    "authorUsername": "…",
    "thumbnail": "https://…",
    "duration": "…"
  }
}

kind is one of video, image, or audio. quality is a human-readable label, not a guaranteed format — providers describe their renditions inconsistently, and the gateway passes the label through rather than inventing a standard that would be wrong half the time.

A post can legitimately return many entries: a carousel returns one per slide, and a single video often returns several renditions so the caller can choose.

Media URLs expire

This is the detail that catches most integrations. The URLs in medias[] are time-limited. Most platforms sign their CDN links with an expiry measured in hours, and some in minutes. Do not store a media URL and expect it to work later — store the original post URL and re-resolve when you need the file. A link that worked this morning and 403s this afternoon has not been deleted; its signature has aged out.

Abstaining

Some URL shapes have no server-side resolver. An Instagram profile link is the current example: the only provider that returns a profile's posts refuses datacenter traffic, so the gateway answers

{ "medias": [], "status": "abstain", "reason": "no_provider_for_shape", "shape": "profile" }

rather than returning something technically non-empty and substantively wrong. Treat an empty medias array as "nothing available", never as an error.

Errors

Code Meaning
invalid_url Not a well-formed URL
unsupported Platform explicitly not served
challenge_required An upstream provider wants a human check
rate_limit Too many requests from this key
registry_unavailable The gateway could not read its provider registry
all_providers_failed Every eligible provider was tried and none returned media

all_providers_failed is usually transient — an upstream resolver being down rather than the post being unavailable. Retrying after a short delay frequently succeeds.

Supported platforms

Instagram, TikTok, Facebook, Twitter/X, Reddit, Pinterest, Snapchat, Threads, LinkedIn, Vimeo, Dailymotion, Bluesky, Tumblr, VK, Kwai, Likee, 9GAG, BitChute and SoundCloud.

YouTube is deliberately excluded and will not be added.

What it will not do

  • Private accounts, protected posts, and content behind a login. The gateway resolves what is already publicly served; nothing here bypasses an access control.
  • Bulk scraping of an entire account or hashtag. It is built for resolving individual links a person asked for.
  • DRM-protected streams.

Rate limits and fair use

Limits are set per key against expected volume. If you need more, say so when you ask — a higher limit agreed in advance is simpler for both of us than a key that keeps tripping.

A note on MCP

We do not currently publish a Model Context Protocol server. The gateway's contract is small enough that wrapping it in MCP is straightforward, and it is on the list — but we would rather ship one that works than a page claiming one exists. If you want it, say so and it moves up.

ReelsDownloader

Download videos, photos & audio from 19 platforms — no app required.

Product

FeaturesHow it worksPlatformsGuidesGet the appAPI

Company

AboutContactCareersAdvertise

Legal

Privacy PolicyTermsRefundSupportAboutContact
© MobileByteSensei. ReelsDownloader — Reels Downloader.

ReelsDownloader is an independent tool for saving content you own, have permission to use, or that is free to reuse. Please respect creators' rights and each platform's terms — do not use it to infringe copyright. We do not support downloading from YouTube. All platform names and logos are trademarks of their respective owners; ReelsDownloader is not affiliated with, endorsed by, or sponsored by any of them.