Cache-friendly, read-only JSON endpoints. No auth or API key required. Please be a good citizen — respect the cache headers, don't hammer the endpoints.
source field (db or fallback)./api/public/topMost-played channels aggregated from real viewer plays. Great for a leaderboard widget or a ‘trending now’ row on your site.
Cache-Control: s-maxage=60, stale-while-revalidate=300
Query parameters
rangeMs24h default · capped 30d— Look-back window in millisecondslimit20 default · max 100— How many rows to returnExample request
curl https://alltvlive.example.com/api/public/top?rangeMs=86400000&limit=10
Response shape
{
"channels": [
{
"channelId": "AlJazeeraEnglish.qa",
"channelName": "Al Jazeera English",
"plays": 214,
"uniqueIps": 138,
"lastPlayedAt": 1728820193000
}
],
"source": "db"
}/api/public/healthRolling success and failure counters per channel, aggregated across every viewer. Use it to surface a red / yellow / green dot on your own channel list.
Cache-Control: s-maxage=30, stale-while-revalidate=120
Example request
curl https://alltvlive.example.com/api/public/health
Response shape
{
"channels": [
{
"channelId": "SkyNews.uk",
"channelName": "Sky News",
"status": "healthy",
"failureRate": 0.02,
"successes": 812,
"failures": 17,
"lastSuccessAt": 1728820193000,
"lastFailureAt": 1728800001000
}
],
"source": "db"
}Have questions? Open an issue on GitHub .