StreamWatchHub / API
Live on RapidAPI Marketplace

Where-to-Watch data,
unified across every platform.

A single REST API for movie, series and live-sports availability across 590+ streaming providers in 17 countries. Subscription, rent, buy and live-stream offers — normalized, deep-linked, deduped.

Why StreamWatchHub

One schema. Every platform. Every country.

Stop stitching JustWatch, TMDB, league feeds and per-country provider lists. We do the joining, the slugs, the deep-links and the live-event mapping.

Unified offers

flatrate / rent / buy / ads / live — same shape across Netflix, Max, Disney+, Prime, Peacock, ESPN+, DAZN, Fubo, YouTube TV, Apple TV+ and 50+ more.

Country-aware

17 ISO regions today (expanding). Pass country=US or GB and get exactly what your user can actually watch.

Live sports built-in

NBA, NFL, MLB, NHL, EPL, UCL, F1, tennis Grand Slams — fixture → broadcaster mapping with kick-off time.

Deep links

Direct play / detail URLs per platform, web + iOS + Android variants where available.

Fast & cached

p95 < 120ms global edge. 60s freshness for live, 24h for catalog. ETag & If-None-Match supported.

AI guide endpoint

Optional /recommend — ask "where can I watch Sunday's El Clásico in Spain?" and get a structured Markdown answer.

REST endpoints

Clean, predictable, JSON.

Base URL https://streamwatchhub.com/api/v1 · Auth via X-RapidAPI-Key.

GET/search?q={query}&country={iso}Movies, series & matches in one response
GET/title/{tmdb_id}/offers?country={iso}All streaming offers for a title
GET/series/{tmdb_id}/season/{n}/offersPer-season & per-episode availability
GET/match/{fixture_id}/broadcasters?country={iso}Live-sports broadcaster map
GET/fixtures?league={code}&date={YYYY-MM-DD}Upcoming fixtures with broadcast plan
GET/platforms?country={iso}Active platforms in a given market
GET/changes?since={ISO8601}Delta feed for cache invalidation
POST/recommendNatural-language where-to-watch assistant

Example request

# Where can I watch Dune: Part Two in the UK?
curl "https://streamwatchhub.com/api/v1/title/693134/offers?country=GB" \
  -H "X-RapidAPI-Key: YOUR_KEY" \
  -H "X-RapidAPI-Host: streamwatchhub.p.rapidapi.com"

Example response

{
  "title": "Dune: Part Two",
  "tmdb_id": 693134,
  "country": "GB",
  "offers": [
    { "platform": "max", "type": "flatrate", "quality": "4K", "url": "https://play.max.com/..." },
    { "platform": "prime",  "type": "rent",     "price": "£4.99", "url": "https://www.amazon.co.uk/..." },
    { "platform": "apple",  "type": "buy",      "price": "£13.99","url": "https://tv.apple.com/..." }
  ],
  "updated_at": "2026-05-23T12:00:00Z"
}
Coverage

590+ providers across 17 countries.

A non-exhaustive sample — the full list ships with every /platforms response.

🇺🇸 US🇬🇧 GB🇩🇪 DE🇫🇷 FR🇮🇹 IT🇪🇸 ES🇧🇷 BR🇮🇳 IN🇷🇺 RU🇸🇦 SA🇦🇪 AE🇶🇦 QA🇷🇸 RS🇭🇺 HU🇧🇬 BG🇷🇴 RO🇹🇷 TR

Provider sample (per /v1/streaming/providers?country=XX):

NetflixPrime VideoDisney+MaxApple TV+HuluParamount+PeacockESPN+DAZNFuboTVYouTube TVSky / NOWBBC iPlayerITVXCanal+Movistar+CrunchyrollMUBITubiPluto TVRakutenGloboplayHotstarJioCinemaStanCraveSky SportsTNT SportsSky DeutschlandJioHotstarGloboSSC SportsShahid VIPKinopoiskSpíler TV+ many more
Pricing

Pay as you scale.

All tiers billed via RapidAPI. Cancel any time. Movies & Series is live now — Sports API is launching soon.

Free
$0 /mo
  • 1,000 calls per month
  • All read endpoints
  • 17 supported countries
  • Community support
Start free
Movies & Series
$4.99 /mo
  • 28,000+ titles refreshed daily
  • 590+ streaming providers
  • Sub / rent / buy / ads flags
  • Deep links to play
  • Trending & search
Subscribe
Sports SOON
$4.99 /mo
  • 23+ football leagues across 17 countries
  • Live scores every 5 min
  • Per-country broadcaster resolver (Sky · TNT · DAZN · Globo · JioHotstar …)
  • UCL / UEL / UECL + Big-5 + Saudi PL + Russian PL
Notify me
Getting started

Three steps. Five minutes.

1 · Subscribe

Pick a tier on RapidAPI. You'll get an X-RapidAPI-Key instantly.

2 · Call

Hit /search or /title/{id}/offers with the key header. JSON in, JSON out.

3 · Ship

Cache by ETag, refresh deltas via /changes, render. That's it.