Skip to main content
GET
Test a Source
Tests one specific provider for a given TMDB ID without running the full parallel fanout. Useful for debugging why a source isn’t appearing in movie or TV responses, or for checking a provider’s availability before building.
This endpoint runs the same two-step verification pipeline as /movie and /tv — a HEAD check on the raw URL, followed by a proxied HLS playability check. The ok field reflects whether a verified, playable URL was found. HTTP status is always 200 regardless of source success or failure — always check ok in the body.
This endpoint requires a standard or partner API key, or a session token from POST /api/auth. The public key will receive a 403 response.

Path Parameters

string
required
TMDB ID. For movies, use the movie ID. For TV, use the series ID.

Query Parameters

string
required
Provider key to test. Must exactly match one of the configured source keys.Available keys are listed in the sources field of /api/health or via GET /api?sources_meta=1.
number
Season number. Required for TV episodes; omit for movies.
number
Episode number. Required for TV episodes; omit for movies.

Request


Response

string
required
The provider key that was tested.
string
required
The TMDB ID that was tested.
number | null
required
Season number. null for movies.
number | null
required
Episode number. null for movies.
boolean
required
true if the provider returned a URL that passed stream verification.
string | null
Fully-qualified, proxied stream URL if the provider returned a valid stream. null on failure. Always an absolute URL — no base URL prepending needed.
string | null
The original, unproxied stream URL from the provider. Useful for debugging. null on failure.
number
required
Time in milliseconds from the start of the test to receiving a result.
string | null
required
Error message if the provider threw an exception or returned nothing. null on success.

Responses


Testing All Sources

To test all providers in one go and see which are working for a given title:
For a quick overview without per-provider isolation, use /api/health — it probes all providers simultaneously and is optimised for monitoring. Health accepts public_api_key.