What SMVD does and who it is for
The Social Media Video Downloader API—commonly referred to by its acronym SMVD—lets developers extract structured data and direct download URLs from four major social platforms without managing their own scrapers or dealing with platform authentication. If you are building a video archiving tool, a content research dashboard, a transcript pipeline, or a media monitoring product, SMVD provides a ready-made backend that handles the fragile, platform-specific extraction work.
Because the API sits behind RapidAPI, it inherits that marketplace's subscription management, key rotation, and usage dashboards—useful for teams that want to avoid building billing infrastructure around a third-party data feed.
Endpoint walkthrough
The 34 endpoints divide into two layers: a newer v3 layer with richer parameters, and a legacy /smvd/get/* and /api/getSocialVideo layer that routes multiple platforms through a single call.
YouTube (19 endpoints)
YouTube coverage is the deepest part of SMVD. The core endpoint is GET /youtube/v3/video/details, which returns:
- Video streams: each stream object includes a label (e.g.,
720p), a redirector URL, MIME type, codec string, dimensions, frame rate, and file size as a human-readable string. - Audio streams: separate audio-only tracks with quality labels and sample rates.
- Renderable videos: server-side-merged video+audio streams returned as a
renderConfigwith anexecutionUrland a WebSocketstatusUrlfor polling render progress. - Metadata: title, author, thumbnail, view count, upload date, captions, and storyboards.
- Transcript: full transcript with language selection—pass
getTranscript=trueand specifytranscriptLanguageto target a specific locale.
Beyond individual videos, the v3 YouTube group covers channel details, channel videos/shorts/livestreams, playlists, community posts, post comments, video comments (with TOP_COMMENTS or NEWEST_FIRST sorting and nextToken pagination), hashtag feeds, and four search variants: all-content, videos only, channels only, playlists only, and movies.
There is also a utility endpoint—GET /youtube/v3/channel/id-from-handle—that resolves a @handle to a channel ID, and a GET /youtube/v3/search/suggestions endpoint for autocomplete queries.
Instagram (3 endpoints)
Instagram support focuses on public content: retrieve a media post by shortcode (/instagram/v3/media/post/details), look up a user profile by username, and resolve a username to its numeric user ID.
Facebook (6 endpoints)
Facebook endpoints cover post-level media and metadata, profile details, the numeric profile ID from a URL, the profile's "about" section, reels, and photos. This is useful for brand monitoring workflows that need structured access to public Facebook page content.
TikTok (2 endpoints)
TikTok coverage is lighter: GET /tiktok/v3/user/details returns profile data for a given user URL, and GET /tiktok/v3/post/details returns media and metadata for a specific post URL.
Legacy multi-platform endpoints
The /smvd/get/all, /smvd/get/youtube, /smvd/get/instagram, /smvd/get/facebook, /smvd/get/tiktok, and /api/getSocialVideo routes predate the v3 architecture. They remain available and can be convenient for quick integrations, but the v3 endpoints expose significantly more query parameters and richer response bodies.
Request billing: the two-request features
Two optional features on the video details endpoint each cost 2 requests instead of 1:
renderableFormats: Requests server-side video rendering, which merges separate video and audio streams into a single downloadable file. YouTube supports qualities from 144p up to 2160p60 HDR plus dynamic aliases (lowres, midres, highres, all). Instagram and Facebook support up to 1080p. This is the mechanism to get 1080p+ video with audio in one file, since YouTube serves high-resolution video and audio as separate streams.
urlAccess=proxied: Routes download URLs through the API's own proxy infrastructure to prevent 403 errors that can occur with direct YouTube URLs. The trade-off is slower download speeds.
Importantly, if you use both features in a single request the cost stays at 2 requests—the charges do not stack. Plan your quota around this: a workflow that always renders 1080p video effectively halves your monthly request budget.
The /smvd/get/youtube legacy endpoint is separately priced at 2 requests per call regardless of parameters.
Pricing breakdown
| Plan | Price / month | Requests / month | Rate limit | Overage |
|---|---|---|---|---|
| BASIC | $0 | 200 | — | None |
| PRO | $8.80 | 60,000 | 3 / second | None |
| ULTRA | $35.50 | 240,000 | 6 / second | None |
| MEGA | $106.00 | 720,000 | 10 / second | $0.0002 / request |
The BASIC tier's 200 monthly requests is enough for local testing and proof-of-concept work—it is not realistically sufficient for a production feature. At the PRO tier, 60,000 requests for $8.80 works out to roughly $0.00015 per request, making it cost-competitive for moderate usage. The ULTRA tier is the right fit for a production app doing several hundred queries per minute. MEGA adds a defined overage rate ($0.0002 per extra request), which is useful for bursty workloads where you occasionally exceed the base quota without wanting to pre-pay for the next tier.
Note that rendered-video requests (2× billing) cut effective quotas in half: PRO's 60,000 requests become 30,000 rendered video fetches. Factor this into tier selection.
Practical use cases
- Transcript pipelines: Pass
getTranscript=truewith a language code and feed the result directly into an NLP or summarization service. The API handles caption fetching and language selection without additional calls. - Video archiving tools: Use the v3 video details endpoint to retrieve multiple quality levels and selectively download them. Proxy mode reduces the chance of broken URLs in asynchronous download queues.
- Cross-platform content monitoring: Combine the YouTube search endpoints with the Facebook profile and TikTok post endpoints to track a creator's output across platforms from a single integration.
- Research dashboards: Channel statistics, video view counts, comment feeds with pagination, and playlist enumeration are all covered, which is enough to build engagement analytics without storing raw video.
- Browser extensions or desktop apps: The legacy
/smvd/get/allendpoint lets a single request resolve the platform automatically, reducing integration complexity for general-purpose download UIs.
Limitations and things to check before integrating
Latency: The average response time of 3,313 ms is high by API standards. For rendered video requests, server-side merging adds further delay and is delivered asynchronously via a WebSocket status URL. Do not place this API in a synchronous user-facing request path without a loading state or a background job queue.
Instagram and TikTok depth: Compared to YouTube, the Instagram and TikTok endpoint sets are thin. There is no feed pagination for Instagram posts, no TikTok hashtag or trending endpoint, and no Instagram Reels search. If those features are central to your product, evaluate whether SMVD covers enough or whether a dedicated platform API is needed alongside it.
Terms of service compliance: Extracting data from social platforms without their official APIs may conflict with their terms of service. Review the ToS of each platform and your jurisdiction's regulations before deploying a production integration.
Free tier ceiling: 200 requests per month resets monthly. Any meaningful development workflow will consume this quickly, so budget for at least the PRO plan early in the project.
Getting started
- Subscribe on RapidAPI (BASIC is free, no credit card required for the initial tier).
- Copy your
X-RapidAPI-Keyand theX-RapidAPI-Hostvalue from the RapidAPI endpoint page. - Make a health check call to
GET /youtube/utils/healthto confirm connectivity. - Try a basic video details request:
GET /youtube/v3/video/details?videoId=<id>with the two required headers. - Inspect the
contents[0].videosarray to see available stream qualities, and addrenderableFormats=720pif you need a merged file. - Use the
fieldsparameter (e.g.,-contents.audios,-metadata.additionalData) to trim response payloads and reduce parsing overhead once you know which fields you need.