API Documentation v1.0
The Subtitle Search Engine API allows you to search and download subtitles for movies and TV shows. The API is free to use with rate limits depending on your account type.
Base URL:
https://subtitles.website/strapi/api
All responses are in JSON format. No registration is required for basic search and download.
Authentication is optional but recommended for higher rate limits. To authenticate, include your API key in the request header:
Authorization: Bearer YOUR_API_KEY
To get an API key:
Rate limits reset at midnight UTC every day.
| Account Type | Search/Download per day | Authentication |
|---|---|---|
| Guest (no account) | 10 requests/day | Not required |
| Registered | 50 requests/day | API key required |
| โญ VIP | 1000 requests/day | API key required |
When you exceed the rate limit, the API returns HTTP 429 Too Many Requests.
/search/subtitles
Search for subtitles by title or IMDB ID. Returns subtitles for movies, series and episodes.
| Parameter | Type | Required | Description |
|---|---|---|---|
title | string | Yes* | Movie or TV show title |
imdb | string | Yes* | IMDB ID (e.g. tt0133093) |
language | string | No | Language code (e.g. en, hr, sr) |
format | string | No | File format: srt, vtt, ass |
* Either title or imdb is required.
GET https://subtitles.website/strapi/api/search/subtitles?imdb=tt0133093&language=en
{
"data": [
{
"id": "vrbjtmhqh2vwwv9iy217fhar",
"release": "The.Matrix.1999.1080p.BrRip.x264.YIFY.en",
"film_title": "The Matrix",
"downloads": 42,
"language": {
"id": "ejv7t634wflvqpewgstt0v8d",
"code": "en",
"name": "English"
},
"format": "srt",
"download_url": "/uploads/subtitle.srt"
}
]
}
/search/download/:id
Get download URL for a subtitle. The id is the subtitle's document ID from search results.
GET https://subtitles.website/strapi/api/search/download/vrbjtmhqh2vwwv9iy217fhar
{
"download_url": "/uploads/The_Matrix_subtitle.srt",
"remaining": 49,
"limit": 50
}
download_url is relative. Prepend https://subtitles.website/strapi to get the full URL.
/search/stats
Get database statistics. No authentication required.
{
"films": 50745,
"series": 5345,
"subtitles": 712665
}
Our Stremio addon provides subtitles directly in the Stremio media player.
https://subtitles.website/stremio/manifest.json
https://subtitles.website/stremio/{api_key}/manifest.json
Get your personal URL in My Profile after generating an API key.
GET https://subtitles.website/stremio/subtitles/{type}/{imdb_id}.json
# Examples:
https://subtitles.website/stremio/subtitles/movie/tt0133093.json
https://subtitles.website/stremio/subtitles/series/tt0944947.json
{
"subtitles": [
{
"id": "abc123",
"url": "https://subtitles.website/strapi/uploads/subtitle.vtt",
"lang": "hrv",
"name": "The.Matrix.1999.BluRay.hr"
}
]
}
| HTTP Code | Meaning |
|---|---|
200 | Success |
400 | Bad request โ missing or invalid parameters |
401 | Unauthorized โ invalid or missing API key |
404 | Not found |
429 | Rate limit exceeded โ try again tomorrow |
500 | Server error |
{
"error": "Daily download limit reached",
"limit": 10,
"remaining": 0,
"reset": "midnight"
}
// Search by IMDB ID
const response = await fetch(
'https://subtitles.website/strapi/api/search/subtitles?imdb=tt0133093&language=en',
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY' // optional
}
}
);
const data = await response.json();
console.log(data.data); // array of subtitles
// Download a subtitle
const dl = await fetch(
`https://subtitles.website/strapi/api/search/download/${data.data[0].id}`,
{ headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
);
const dlData = await dl.json();
const fullUrl = 'https://subtitles.website/strapi' + dlData.download_url;
import requests
BASE = 'https://subtitles.website/strapi/api'
HEADERS = {'Authorization': 'Bearer YOUR_API_KEY'} # optional
# Search
r = requests.get(f'{BASE}/search/subtitles',
params={'imdb': 'tt0133093', 'language': 'en'},
headers=HEADERS)
subtitles = r.json()['data']
# Download
dl = requests.get(f'{BASE}/search/download/{subtitles[0]["id"]}',
headers=HEADERS)
url = 'https://subtitles.website/strapi' + dl.json()['download_url']
print(url)
# Search without authentication curl "https://subtitles.website/strapi/api/search/subtitles?title=Matrix&language=en" # Search with API key curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://subtitles.website/strapi/api/search/subtitles?imdb=tt0133093" # Download curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://subtitles.website/strapi/api/search/download/SUBTITLE_ID"