What exactly does the API return?
A JSON object with the request's PSSH, every content key as kid:key pairs, the MPD URL, the licence endpoint, latency and whether the answer came from the cache.
Is it compatible with pywidevine RemoteCdm?
Yes. We implement the pywidevine serve surface — /open, /get_license_challenge/STREAMING, /parse_license, /get_keys/CONTENT, /close — authenticated with X-Secret-Key, so RemoteCdm and devine-style tooling work unchanged.
How fast are cached lookups?
About 2–5 ms with no CDM work. A brand new PSSH needs a fresh challenge, which takes roughly 25 seconds because the CDM is emulated fully in software — that is why the cache exists.
Which providers are supported?
Any service issuing a standard Widevine licence. Documented integrations include ZEE5, JioHotstar, Sky and Sky Sports, Freely, Vodafone Portugal, Tele2 Play, DStv, NOW TV, Max, LiTV, Channel 5, Tata Play and YouTube.
Do you store the keys I capture?
Yes — that is the design. Every successful request is cached with its PSSH, keys, MPD, licence endpoint, page URL and headers, so the next call is instant and the key vault can find it again.
What happens when I hit my concurrency limit?
You get 429 concurrency_limit immediately rather than a request that hangs. A global cap is separate and answers 503 global_busy.