SMART OTT subscriptions include access to the xTream Codes API endpoint, allowing power users to integrate with custom IPTV apps, build playlists programmatically, automate EPG updates, and use any third-party IPTV player.
These docs are for power users. If you just want to watch TV, use IPTV Smarters or TiViMate with the credentials emailed to you — they handle the API automatically.
Your credentials
Every paid SMART OTT subscription gets:
- Server URL (e.g.,
https://your-server.smartott.live) — issued at subscription time. - Username — your unique 8-12 char alphanumeric ID.
- Password — your unique password (do not share).
- M3U URL (auto-generated from credentials):
{SERVER}/get.php?username={USER}&password={PASS}&type=m3u_plus&output=ts - EPG URL:
{SERVER}/xmltv.php?username={USER}&password={PASS}
Main API endpoints (xTream Codes compatible)
Player API
GET {SERVER}/player_api.php?username={USER}&password={PASS}&action={ACTION}
Supported actions:
get_account_info— user account status, expiry date, active connectionsget_live_categories— list of live TV categories (sports, news, kids, by-country)get_live_streams— all live channels, optionally filtered by&category_id={ID}get_vod_categories— list of VOD categoriesget_vod_streams— all VOD contentget_vod_info&vod_id={ID}— full metadata for a specific VOD titleget_series_categories— TV series categoriesget_series— all TV seriesget_series_info&series_id={ID}— series episodes + season infoget_short_epg&stream_id={ID}&limit=10— EPG for a specific channelget_simple_data_table&stream_id={ID}— current + upcoming program
Stream URLs
Live TV streams (HLS / MPEG-TS):
# MPEG-TS (default — best for VLC, OTT players)
{SERVER}/live/{USER}/{PASS}/{STREAM_ID}.ts
# HLS / m3u8 (best for HTML5 players, mobile)
{SERVER}/live/{USER}/{PASS}/{STREAM_ID}.m3u8
# Catch-up TV (last 7 days, where available)
{SERVER}/timeshift/{USER}/{PASS}/{DURATION_MIN}/{START}/{STREAM_ID}.ts
VOD streams:
{SERVER}/movie/{USER}/{PASS}/{VOD_ID}.{EXT}
# {EXT} is one of: mp4, mkv, avi (depending on source)
Series episode:
{SERVER}/series/{USER}/{PASS}/{SERIES_ID}.{EXT}
Code examples
Python — fetch channel list
import requests
SERVER = "https://your-server.smartott.live"
USER = "yourusername"
PASS = "yourpassword"
# Get all live streams
r = requests.get(f"{SERVER}/player_api.php", params={
"username": USER, "password": PASS, "action": "get_live_streams"
})
streams = r.json()
# Filter to "Sports" category and print
sport_streams = [s for s in streams if "sport" in (s.get("category_name") or "").lower()]
for s in sport_streams[:10]:
print(s["stream_id"], s["name"])
cURL — get account info
curl "https://your-server.smartott.live/player_api.php?username=YOURUSER&password=YOURPASS&action=get_account_info"
Bash — download fresh M3U playlist daily
# Add to crontab: 0 3 * * * /path/to/this/script SERVER="https://your-server.smartott.live" USER="yourusername" PASS="yourpassword" curl -s -o /tmp/playlist.m3u "$SERVER/get.php?username=$USER&password=$PASS&type=m3u_plus&output=ts" curl -s -o /tmp/epg.xml "$SERVER/xmltv.php?username=$USER&password=$PASS"
Compatible apps & players
- IPTV Smarters Pro — most popular Android/iOS player (auto-discovers via xTream Codes login)
- TiViMate — premium Android TV player (uses M3U + EPG URLs)
- Perfect Player — Android, mature options
- VLC Media Player — desktop, paste M3U URL into Open Network Stream
- Kodi + PVR IPTV Simple Client — for Kodi setups
- Tivimate / GSE Smart IPTV / IBO Player — Smart TV native apps
- Custom HTML5 players — use hls.js or video.js with the m3u8 URLs above
Rate limits
- Player API calls: ~10 per minute per username. Bursts above this may be temporarily rate-limited.
- Concurrent streams: depends on your plan — Elite typically 2 concurrent, Infinity 4K typically 4 concurrent. Streaming a 6th connection will kick the oldest.
- EPG fetches: refresh no more than every 6 hours per user (the underlying EPG only updates every 6h).
- M3U downloads: refresh once per day. The channel list changes infrequently.
API support
For API-level issues, server URLs, credential resets, or unusual integration questions: WhatsApp +212 600 246 420 or Telegram @smartott. Mention "API question" in your first message for faster routing.