API Reference

Welcome to the HelixStream Stream Resolver API. Our developer SDK provides direct links, CORS/Referer-bypassed proxies, and progressive segment downloaders to easily integrate stream resolvers directly into your web portals or Android native applications. Use the interactive playgrounds on each section to test queries in real-time.

GET /api/resolve

Resolves movie or TV show stream links using a TMDB numerical ID or a text query. Behind the scenes, the endpoint cleans titles, queries content catalog providers (Netflix, Prime Video, Disney+, Hotstar), bypasses verify checks, resolves the HLS master playlist, and aggregates direct, proxied, and progressive download endpoints.

Parameter Type Description
id * Required
string
The TMDB ID (e.g. 1399) or title text query (e.g. Game of Thrones).
type * Required
string
The media content type. Must be either movie or tv.
season Optional
number
default: 1
Required if type is tv. Specifies the season number.
episode Optional
number
default: 1
Required if type is tv. Specifies the episode number.
provider Optional
string
Forces a specific scraper provider. Set to 0 to force Vidlink only (skips NHDAPI). Set to 1 to force NHDAPI only (skips Vidlink fallback).
developer console
# Request Modern Family S1E1 resolution
curl -X GET "http://localhost:3000/api/resolve?id=Modern%20Family&type=tv&season=1&episode=1"
Live Playground
GET /api/stream-proxy

Intercepts HLS streams (`.m3u8` playlists, decryption keys, subtitle listings, and segment files) and rewrites relative/absolute paths into absolute proxy routes. It attaches required `Referer` headers and bypasses CORS sandboxing, guaranteeing standard HLS players (like `Hls.js` or `Video.js`) can play restricted streams.

Parameter Type Description
url * Required
string
The absolute target HLS resource URL (playlist, keys, segments). Must be URL-encoded.
referer Optional
string
The HTTP Referer required by the CDN provider (e.g. https://net52.cc).
developer console
import Hls from 'hls.js';

const video = document.getElementById('video-player');
const hls = new Hls();

// Play the local proxied playlist with rewritten CORS links
const proxiedUrl = "http://localhost:3000/api/stream-proxy?url=https%3A%2F%2Ftv.imgcdn.kim%2Fnewtv%2Fhls%2Fhs%2F1770001008.m3u8&referer=https%3A%2F%2Fnet52.cc";

hls.loadSource(proxiedUrl);
hls.attachMedia(video);
hls.on(Hls.Events.MANIFEST_PARSED, () => video.play());
Live Playground
GET /api/download

Direct progressive downloader. It parses the unencrypted HLS sub-playlist, downloads all MPEG-TS or JPEG segment chunks sequentially, handles backpressure, and pipes the combined stream directly to the response as a single continuous `.ts` file download (using the video/mp2t MIME type). Perfect for background download managers on mobile devices.

Parameter Type Description
url * Required
string
The absolute target HLS stream playlist URL. Must be URL-encoded.
referer Optional
string
The HTTP Referer header required by the hosting CDN (e.g. https://net52.cc).
title Optional
string
Optional filename title (e.g. Modern_Family). Special characters will be cleaned automatically.
developer console
// Start background download using native Android DownloadManager
String downloadUrl = "http://localhost:3000/api/download?url=...";

DownloadManager.Request request = new DownloadManager.Request(Uri.parse(downloadUrl));
request.setTitle("Modern_Family.ts");
request.setMimeType("video/mp2t");
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "Modern_Family.ts");

DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
manager.enqueue(request);
Live Playground
GET /api/test-providers

Diagnostic endpoint to test and monitor the reachability, response latency, and Cloudflare block status of the streaming providers (Vidlink and NHDAPI) directly from the current hosting server IP. Returns a real-time status summary of all sources.

Parameter Type Description
No query parameters required.
developer console
# Trigger diagnostic self-test
curl -X GET "http://localhost:3000/api/test-providers"
Live Playground

Run a diagnostics check against all 3 scraper targets from the server IP to evaluate if they are online, offline, or blocked.