# Xtream Codes API - Quick Endpoint Reference ## Player API (`/player_api.php`) | Action | Method | Required Params | Description | |--------|--------|-----------------|-------------| | (default) | GET | username, password | Get user info & server info | | get_live_categories | GET | username, password | List live TV categories | | get_live_streams | GET | username, password, [category_id] | List live channels | | get_vod_categories | GET | username, password | List VOD/movie categories | | get_vod_streams | GET | username, password, [category_id] | List movies | | get_vod_info | GET | username, password, vod_id | Get movie details | | get_series_categories | GET | username, password | List series categories | | get_series | GET | username, password, [category_id] | List TV series | | get_series_info | GET | username, password, series_id | Get series details & episodes | | get_short_epg | GET | username, password, stream_id, [limit] | Get current EPG for channel | | get_simple_data_table | GET | username, password, stream_id | Get EPG in table format | --- ## Panel API (`/panel_api.php`) | Action | Method | Required Params | Description | |--------|--------|-----------------|-------------| | (default) | GET | username, password | Get full data (user, server, categories, channels) | | get_epg | GET | username, password, stream_id | Get EPG for stream | --- ## Admin API (`/api.php`) **Note:** IP-restricted to authorized server IPs only. ### Server Management | Sub-action | Required Params | Description | |------------|-----------------|-------------| | server/list | - | List all servers | ### Stream Management | Sub-action | Required Params | Description | |------------|-----------------|-------------| | stream/start | stream_id | Start stream | | stream/stop | stream_id | Stop stream | | stream/list | - | List all streams | | stream/online | - | List online streams | | stream/offline | - | List offline streams | ### VOD Management | Sub-action | Required Params | Description | |------------|-----------------|-------------| | vod/start | stream_id | Start VOD encoding | | vod/stop | stream_id | Stop VOD encoding | ### User Management | Sub-action | Required Params | Description | |------------|-----------------|-------------| | user/info | user_id OR username | Get user info | | user/create | username, password, [many optional] | Create user | | user/edit | user_id, [fields to update] | Edit user | ### STB/MAG Management | Sub-action | Required Params | Description | |------------|-----------------|-------------| | stb/info | mag_id OR mac | Get STB info | | stb/create | mac, user_id | Create STB | | stb/edit | mag_id, [fields to update] | Edit STB | ### Reseller Management | Sub-action | Required Params | Description | |------------|-----------------|-------------| | reg_user/list | - | List resellers | | reg_user/credits | reg_user_id | Get reseller credits | --- ## MAG Portal API (`/portal.php`) ### STB Actions (`type=stb`) | Action | Required Params | Description | |--------|-----------------|-------------| | handshake | mac | Initial handshake, get token | | get_profile | - | Get device profile | | get_modules | - | Get available modules | | get_localization | - | Get language strings | | get_locales | - | Get available locales | | get_timezones | - | Get timezones | | get_preload_images | gmode | Get theme images | | get_settings_profile | - | Get settings | | set_volume | vol | Set volume | | set_locale | locale | Set locale | | set_parent_password | pass, repeat_pass | Set parental password | | set_playback_buffer | playback_buffer_bytes, playback_buffer_size | Set buffer | ### ITV Actions (`type=itv`) | Action | Required Params | Description | |--------|-----------------|-------------| | get_genres | - | Get live categories | | get_ordered_list | [genre, sortby, fav] | Get channel list | | get_all_channels | - | Get all channels | | get_all_fav_channels | [genre] | Get favorite channels | | create_link | cmd | Generate stream URL | | get_short_epg | ch_id | Get EPG for channel | | get_epg_info | [period] | Get full EPG | | set_fav | fav_ch | Set favorites (comma-separated) | | get_fav_ids | - | Get favorite IDs | | set_last_id | id | Set last watched | ### VOD Actions (`type=vod`) | Action | Required Params | Description | |--------|-----------------|-------------| | get_categories | - | Get VOD categories | | get_ordered_list | [category, sortby, search, abc, genre, years, fav] | Get movies | | create_link | cmd, [series] | Generate VOD URL | | set_fav | video_id | Add to favorites | | del_fav | video_id | Remove from favorites | | get_years | - | Get available years | | get_abc | - | Get alphabet filter | ### Series Actions (`type=series`) | Action | Required Params | Description | |--------|-----------------|-------------| | get_categories | - | Get series categories | | get_ordered_list | [category, sortby, search, movie_id] | Get series | | set_fav | video_id | Add to favorites | | del_fav | video_id | Remove from favorites | ### Watchdog Actions (`type=watchdog`) | Action | Required Params | Description | |--------|-----------------|-------------| | get_events | - | Get pending events | | confirm_event | event_active_id | Confirm event | --- ## Enigma2 API (`/enigma2.php`) | Type | Required Params | Description | |------|-----------------|-------------| | (default) | username, password | Main menu | | get_live_categories | username, password | Live categories | | get_live_streams | username, password, [cat_id] | Live streams | | get_vod_categories | username, password | VOD categories | | get_vod_streams | username, password, [cat_id] | VOD streams | | get_series_categories | username, password | Series categories | | get_series | username, password, [cat_id] | Series list | | get_seasons | username, password, series_id | Season list | | get_series_streams | username, password, series_id, season | Episodes | --- ## Streaming Endpoints ### Live Streaming ``` GET /live/{username}/{password}/{stream_id}.ts GET /live/{username}/{password}/{stream_id}.m3u8 GET /{username}/{password}/{stream_id} ``` ### VOD Streaming ``` GET /movie/{username}/{password}/{stream_id}.{ext} Extensions: mp4, mkv, avi, 3gp, flv, wmv, mov, ts ``` ### Series Streaming ``` GET /series/{username}/{password}/{stream_id}.{ext} ``` ### Timeshift/Catchup ``` GET /timeshift/{username}/{password}/{duration}/{start}/{stream_id} GET /timeshift/{username}/{password}/{duration}/{start}/{stream_id}.m3u8 Start format: YYYY-MM-DD:HH-MM or YYYYMMDD-HH ``` ### HLS Segments ``` GET /hls/{username}/{password}/{stream_id}/{segment}.ts ``` --- ## Other Endpoints ### XMLTV/EPG ``` GET /xmltv.php?username={user}&password={pass}&prev_days=1&next_days=3 ``` ### Playlist Generator ``` GET /get.php?username={user}&password={pass}&type=m3u_plus&output=ts Types: m3u, m3u_plus, m3u8 Outputs: ts, m3u8, rtmp ```