Wustream API Documentation
The Wustream API provides structured access to movies and TV shows including metadata, cast, crew, trailers, recommendations, streaming providers, categories, and search. This API is optimized for mobile applications (Flutter), web apps, and backend services.
Base URL
Authentication
All requests must include your company API key using the x-api-key header. Keys should be stored securely on your server or inside secure environment variables.
Required Headers
{
"x-api-key": "YOUR_COMPANY_API_KEY",
"Accept": "application/json",
"Content-Type": "application/json"
}Get Movie by ID
Returns full metadata for a single movie including cast, crew, trailers, streaming providers, recommendations and technical identifiers.
Response Object Structure
Core Movie Fields
- id – Internal UUID identifier.
- tmdbId – TMDB external reference ID.
- imdbId – IMDb identifier.
- title – Movie title.
- titleLong – Full title including year.
- slug – SEO-friendly URL slug.
- year – Release year.
- releaseDate – Official release date (ISO string).
- runtime – Duration in minutes.
- type – "movie" or "tv".
- synopsis – Full plot description.
- homepage – Official website URL.
Ratings & Popularity
- voteAverage – Average rating (0-10).
- voteCount – Total number of votes.
- popularity – Relative popularity score.
- mpaRating – Content rating (e.g. PG-13).
Images
- posterUrl – 500px optimized poster.
- backdropUrl – 1280px background image.
Genres & Languages
- genres – Array of genre strings.
- spokenLanguages – Languages used in the movie.
- productionCountries – Countries of production.
- productionCompanies – Studios involved.
Cast
List of actors appearing in the movie.
{
"name": "Actor Name",
"character": "Role Name",
"profilePath": "https://image.tmdb.org/..."
}Crew
Directors, producers and other contributors.
{
"name": "Person Name",
"job": "Director | Producer | Writer",
"profilePath": "https://image.tmdb.org/..."
}Videos
- YouTube trailers & teasers.
- Fields: name, site, type, size, key
Watch Providers
- Streaming availability by region.
- Types: free, ads, rent, buy, flatrate
- Includes provider_name, provider_id and logo URL.
Recommendations
Array of similar movies using the standard movie list item format.
Technical Fields
- f_id – Encrypted internal file identifier.
Standard Movie List Item
All endpoints that return multiple movies follow this standardized object structure.
{
"id": "e6af9be9-09a0-4ee8-8918-c90a704c2838",
"title": "Now You See Me: Now You Don't",
"slug": "now-you-see-me-now-you-don-t-2025",
"genres": ["Thriller", "Crime", "Mystery"],
"posterUrl": "https://image.tmdb.org/t/p/w500/oD3Eey4e4Z259XLm3eD3WGcoJAh.jpg",
"backdropUrl": "https://image.tmdb.org/t/p/w1280/ufqytAlziHq5pljKByGJ8IKhtEZ.jpg",
"synopsis": "...",
"releaseDate": "2025-11-12T00:00:00.000Z",
"type": "movie",
"voteAverage": 6.6,
"tmdbId": 425274,
"voteCount": 719,
"popularity": 202.0756
}- id – Internal UUID
- tmdbId – External TMDB reference
- posterUrl – Optimized poster
- backdropUrl – Background image
- voteAverage – Rating score
- popularity – Sorting metric
Trending
GET /movies/trending
Latest
GET /movies/category?category=latest&page=1
Popular
GET /movies/category?category=popular&page=1
Categories
GET /movies/category?category=ACTION&page=1
Genres
GET /movies/genre?name=Drama&page=1
Years
GET /movies/year?year=2024&page=1
Alphabetical
GET /movies/az?page=1
Search
GET /search?q=batman&page=1
Featured Content
GET /featured
Grouping
GET /movies/group/year GET /movies/group/genres
Error Responses
wustream-developer uses standard HTTP response codes to indicate the success or failure of an API request.
Unauthorized
{
"error": "Access Denied: Valid session or API Key required"
}Forbidden / Blocked
Returned if the client is suspended or a security threshold is triggered.
{
"success": false,
"blocked": true,
"reason": "Suspended for 24h due to repeated violations."
}Rate Limits
Our API employs a multi-tier sliding window strategy via Redis to ensure system stability. Exceeding these limits triggers a 429 Too Many Requests response.
Per Second
5 req/s
Per Minute
60 req/m
Per Hour
2,000 req/h
Per Day
6,000 req/d
Rate Limit Exceeded Response
{
"success": false,
"message": "Moving too fast!",
"limit": 60,
"remaining": 0,
"reset": 1705324800
}* Note: The 'reset' field is a Unix timestamp indicating when your quota refreshes.