CinePro Core is in active development. The API surface follows the
OMSS v1.0 specification and may
evolve as the spec progresses.
Overview
CinePro Core is built on the Open Media Streaming Standard (OMSS) — an open specification that defines a common HTTP API contract for media scraping backends. Any client that speaks OMSS works with CinePro Core out of the box, and any other OMSS-compliant backend works as a drop-in replacement for CinePro Core. The server is bootstrapped via@omss/framework, which wires together providers, caching, TMDB metadata enrichment, and the proxy layer — CinePro’s server.ts registers all of this in a single OMSSServer instance.
Core Concepts
Understanding these four building blocks will help you read the endpoint reference and understand what CinePro returns.Media IDs
Every piece of content in CinePro is identified by its TMDB ID — a numeric identifier from The Movie Database. You pass this ID to every scraping endpoint. CinePro uses it to look up metadata (title, year, etc.) and to construct queries that providers can resolve into playable links. For TV shows, a request also requires a season and episode number alongside the TMDB show ID, since providers resolve individual episodes rather than whole series.Providers
A provider is a self-contained module insidesrc/providers/ that knows how to scrape a specific streaming source. CinePro ships several built-in providers.
All providers are auto-discovered at startup — the OMSS framework scans ./providers/ and registers any valid provider it finds. No manual registration is needed. Each provider implements the OMSS IProvider interface, so the framework can call them uniformly regardless of how the underlying source works.
Sources
A source is what a provider returns: a resolved URL (or set of URLs) pointing to streamable or downloadable media for a requested piece of content. A single API call may return sources from multiple providers simultaneously, each with its own quality, language, and subtitle tracks. Sources are cached by the OMSS framework to avoid re-scraping on every request:- Source results: 1 hour TTL
- Subtitle data: 24 hours TTL
Stream Patterns & Third-Party Proxy Unwrapping
Providers sometimes return URLs that are themselves wrapped by external proxy services — for example, an HLS stream routed throughhlsproxy.example.net rather than the origin CDN directly. CinePro decouples such URLs and smartly returns the direct URL through the proxy. The framework decodes the captured URL (including nested URL-encoding) and routes your own proxy directly to the origin, giving you full control over headers, caching, and error handling.
How to Read This Reference
Auto-generated from OMSS spec
Every endpoint page in this section is generated directly from the OMSS v1.0 OpenAPI specification. This means the reference is always in sync with the standard — not hand-written docs that can drift.
Interactive playground
Each endpoint page includes a live playground. Set your server URL (default:
http://localhost:3000) and fire real requests directly from the docs. Make sure your CinePro Core instance is running and your TMDB_API_KEY is configured.Shared across OMSS backends
Because the reference comes from the OMSS spec, it is valid for any OMSS-compliant backend — not just CinePro Core. If you run another OMSS server, you can point the playground at it and it will work exactly the same way.
Multi-language examples
Every endpoint includes auto-generated code examples in JavaScript, cURL, Python, PHP, Go, and Java.
The playground’s server URL defaults to
https://api.example.com. To test against a deployed instance, update it by clicking on it and change it to http://localhost:3000.Before You Start
Make sure you have:- A running CinePro Core instance (→ Quickstart)
- A valid
TMDB_API_KEYin your.env(→ Environment Variables) - At least one provider available (all built-in providers are auto-registered on startup)