📖 Overview

GoatAPI is a powerful streaming REST API that provides movie and TV series streaming links, subtitles, and metadata. All endpoints use TMDB IDs for content identification, making integration simple and standardized.

We offer three streaming providers (FebBox, Debrid, Lightning) and a dedicated subtitles API, all accessible through clean GET endpoints that return JSON responses.

🔗 Base URL

// All API requests should be made to:
https://goatapi.imreallydagoatt.workers.dev

📦 Response Format

All endpoints return JSON. Successful responses include:

{ "success": true, "provider": "febbox", "type": "movie", "tmdb_id": 550, "title": "Fight Club", "year": 1999, "streams": [ { "quality": "1080p", "url": "https://...", "codec": "h264" } ], "subtitles": [ { "lang": "en", "label": "English", "url": "https://..." } ] }

🔑 How to get the FebBox UI Key

  1. Sign in to FebBox: Go to febbox.com and sign in with Google. Note: Do not log out afterward, as it invalidates the token.
  2. Open Developer Tools: Right-click anywhere on the page and select Inspect, or press F12.
  3. Extract 'ui' Cookie: Go to the Application tab (or Storage in Firefox), select Cookies → https://www.febbox.com, and copy the value of the cookie named ui.

🖥️ FebBox API

High-quality streams with multi-resolution support. Streams play perfectly in the browser natively, but the free plan has bandwidth limits. Note: A valid FebBox UI cookie token is required for all FebBox endpoints.

Get Movie Stream

GET /api/febbox/movie/{tmdb_id}?token={ui_cookie}
ParameterTypeDescription
tmdb_idintegerTMDB movie ID
tokenstringFebBox UI Cookie Token (Required)

Get TV Episode Stream

GET /api/febbox/tv/{tmdb_id}/{season}/{episode}?token={ui_cookie}
ParameterTypeDescription
tmdb_idintegerTMDB TV show ID
seasonintegerSeason number
episodeintegerEpisode number
tokenstringFebBox UI Cookie Token (Required)

⚡ Debrid API

Premium uncapped debrid-powered streams. Provides massive files with superior quality, best suited for downloading or external streaming, as browser codec support is limited.

Note: By default, this uses the server's master Real-Debrid key. If you want to use your own, you can pass your Real-Debrid API Key in the token parameter.

Get Movie Stream

GET /api/debrid/movie/{tmdb_id}?token={optional_rd_key}
ParameterTypeDescription
tmdb_idintegerTMDB movie ID
tokenstringReal-Debrid API Key (Optional)

Get TV Episode Stream

GET /api/debrid/tv/{tmdb_id}/{season}/{episode}?token={optional_rd_key}
ParameterTypeDescription
tmdb_idintegerTMDB TV show ID
seasonintegerSeason number
episodeintegerEpisode number
tokenstringReal-Debrid API Key (Optional)

🚀 Lightning API

Unlimited ultra-fast streaming. Offers a vast library of instantly playable streams, capped at reliable 1080p quality for maximum speed.

Get Movie Stream

GET /api/lightning/movie/{tmdb_id}
ParameterTypeDescription
tmdb_idintegerTMDB movie ID

Get TV Episode Stream

GET /api/lightning/tv/{tmdb_id}/{season}/{episode}
ParameterTypeDescription
tmdb_idintegerTMDB TV show ID
seasonintegerSeason number
episodeintegerEpisode number

📝 Subtitles API

Dedicated subtitle endpoint returning multi-language subtitles for any movie or TV episode.

Get Movie Subtitles

GET /api/subtitles/movie/{tmdb_id}
ParameterTypeDescription
tmdb_idintegerTMDB movie ID

Get TV Episode Subtitles

GET /api/subtitles/tv/{tmdb_id}/{season}/{episode}
ParameterTypeDescription
tmdb_idintegerTMDB TV show ID
seasonintegerSeason number
episodeintegerEpisode number

Subtitle Response Format

{ "success": true, "tmdb_id": 550, "subtitles": [ { "lang": "en", "label": "English", "format": "srt", "url": "https://..." }, { "lang": "es", "label": "Spanish", "format": "srt", "url": "https://..." } ] }

Search for movies and TV shows to find their TMDB IDs. This proxies TMDB's search API.

GET /api/search?q={query}&type={movie|tv}
ParameterTypeDescription
qstringSearch query
typestringContent type: movie or tv (default: movie)

⚠️ Error Handling

When an error occurs, the API returns an appropriate HTTP status code with details:

{ "success": false, "error": "Content not found for the given TMDB ID", "code": 404 }
CodeDescription
400Bad Request — Missing or invalid parameters
403Forbidden — IP banned, or feature disabled by admin
404Not Found — Content not found for the given TMDB ID
429Too Many Requests — Rate limit exceeded (retry after wait time in response)
500Internal Server Error — Something went wrong

🚦 Rate Limits

Per-IP rate limits apply to prevent abuse:

EndpointCooldown
Debrid streams10 seconds between requests
Lightning / FebBox streams5 seconds between requests
Subtitles5 seconds between requests

Exceeding the limit returns HTTP 429 with a waitMs value. Contact us on Discord for higher limits.

💾 Caching

All streaming responses are cached at the edge for performance. Add ?fresh=true to any stream endpoint to bypass the cache and fetch fresh data:

GET /api/lightning/movie/550?fresh=true
ProviderCache Duration
Lightning6 hours
Debrid2 hours
Subtitles24 hours