11 KiB
📡 XtreamCodes API
The API provides access to IPTV streams (Live TV, Radio), VOD (Movies), Series, and EPG (TV guide) for applications compatible with XtreamCodes. It is a core component for integration with XC_VM.
📚 Navigation
- 📂 File Location
- 📑 Overview
- 🔑 Authorization
- 📺 Live TV (TV & Radio)
- 🎬 VOD (Movies)
- 📽 Series
- 🎞 Media Access
- 🧾 Notes
📂 File Location
The main API file is located at:
/home/xc_vm/wwwdir/player_api.php
📑 Overview
The API is divided into key sections for easier integration. Each endpoint includes example requests and responses.
🔑 Authorization
Authorization is the first step to access content. It validates user credentials and returns server information.
Request
GET /player_api?username={username}&password={password}
Example Response
{
"user_info": {
"username": "testxc",
"password": "testxc",
"message": "Welcome to XC_VM",
"auth": 1,
"status": "Active",
"exp_date": null,
"is_trial": 0,
"created_at": 1757353729,
"max_connections": 1,
"allowed_output_formats": [
"m3u8",
"ts",
"rtmp"
]
},
"server_info": {
"xui": true,
"version": "1.1.0",
"url": "176.124.192.118",
"port": "80",
"https_port": "443",
"server_protocol": "http",
"rtmp_port": "8880",
"timestamp_now": 1757442189,
"time_now": "2025-09-09 19:23:09",
"timezone": "Europe/London"
}
}
💡 Tip: Use the obtained data for subsequent requests to avoid repeated authentication.
📺 Live TV (TV & Radio)
Endpoints for working with live streams, including categories, streams, and EPG.
Get All Live Categories
GET /player_api?username={username}&password={password}&action=get_live_categories
Example Response
[
{
"category_id": "1",
"category_name": "News",
"parent_id": 0
},
{
"category_id": "2",
"category_name": "Sports",
"parent_id": 0
}
]
Get All Live Streams
GET /player_api?username={username}&password={password}&action=get_live_streams
Example Response
[
{
"num": 1,
"name": "BBC News",
"stream_type": "live",
"stream_id": 101,
"stream_icon": "http://176.124.192.118/images/bbc.png",
"epg_channel_id": "bbc.news.uk",
"added": "1660568200",
"category_id": "1",
"custom_sid": "",
"tv_archive": 0,
"direct_source": "",
"tv_archive_duration": 0
}
]
Get Streams by Category
GET /player_api?username={username}&password={password}&action=get_live_streams&category_id={id}
Get Channel Short EPG
GET /player_api?username={username}&password={password}&action=get_short_epg&stream_id={id}&limit={N}
Example Response
{
"epg_listings": [
{
"id": 1,
"title": "Morning News",
"start": "2022-08-15 07:00:00",
"end": "2022-08-15 08:00:00",
"description": "Daily morning news update."
}
]
}
Get Full Channel Schedule
GET /player_api?username={username}&password={password}&action=get_simple_data_table&stream_id={id}
Get EPG for All Channels (XMLTV)
GET /xmltv.php?username={username}&password={password}
Example Response (XMLTV)
<tv>
<channel id="bbc.news.uk">
<display-name>BBC News</display-name>
</channel>
<programme start="20220815070000 +0000" stop="20220815080000 +0000" channel="bbc.news.uk">
<title>Morning News</title>
<desc>Daily morning news update.</desc>
</programme>
</tv>
🎬 VOD (Movies)
Endpoints for Video on Demand, including categories and movie details.
Get Movie Categories
GET /player_api?username={username}&password={password}&action=get_vod_categories
Example Response
[
{
"category_id": "10",
"category_name": "Action",
"parent_id": 0
},
{
"category_id": "11",
"category_name": "Drama",
"parent_id": 0
}
]
⚠️ Note: The full list of categories may be large; only fragments are shown in examples.
Get All VOD Streams
GET /player_api?username={username}&password={password}&action=get_vod_streams
Example Response
[
{
"num": 1,
"name": "The Dark Knight (2008)",
"title": "The Dark Knight",
"year": 2008,
"stream_type": "movie",
"stream_id": 1,
"stream_icon": "http://176.124.192.118:80/images/...jpg",
"rating": 8.5,
"rating_5based": 4.3,
"added": 1757343129,
"plot": "Batman raises the stakes in his war on crime. With the ...",
"cast": "Christian Bale, Heath Ledger, Aaron Eckhart, Michael Caine, Maggie Gyllenhaal",
"director": "Christopher Nolan, Christopher Nolan, Steve Gehrke",
"genre": "Drama, Action, Crime",
"release_date": "2008-07-16",
"youtube_trailer": "kmJLuwP3MbY",
"episode_run_time": "152",
"category_id": "1",
"category_ids": [1, 2],
"container_extension": "mp4",
"custom_sid": "",
"direct_source": ""
}
]
Get Movies by Category
GET /player_api?username={username}&password={password}&action=get_vod_streams&category_id={id}
Get Movie Info
GET /player_api?username={username}&password={password}&action=get_vod_info&vod_id={id}
📽 Series
Endpoints for managing TV shows, including categories, seasons, and episodes.
Get Series Categories
GET /player_api?username={username}&password={password}&action=get_series_categories
Get All Series
GET /player_api?username={username}&password={password}&action=get_series
Example Response
[
{
"num": 1,
"name": "Braceface (2001)",
"title": "Braceface",
"year": 2001,
"stream_type": "series",
"series_id": 1,
"cover": "http://176.124.192.118:80/images/7pQr8EhEi05VXRmZc5QfCLaoCzC2XshRjzbEF-0-ISX3OBAKZPN21ASjMFFF_OljpT6mCZeHa4zLXMQZ2eaTpGZUSOucptPKyuP5tgpEZm0.jpg",
"plot": "The show, set in Elkford, British Columbia, is based around Sharon Spitz, who is a junior high school student with braces that get in her way of leading a normal teenage life. In the first season, she is enrolled at Mary Pickford Junior High.",
"cast": "Stacey DePass",
"director": "Charles E. Bastien",
"genre": "Drama, Animation, Comedy",
"release_date": "2001-06-02",
"releaseDate": "2001-06-02",
"last_modified": "1757348651",
"rating": "7",
"rating_5based": 3.5,
"backdrop_path": [
"http://176.124.192.118:80/images/7pQr8EhEi05VXRmZc5QfCADBzwKB171qpiTTqrZdeATBaSzxZEgi9EPIvh5kU_50ecbH2L-yDt1PIfqijKTIMg.jpg"
],
"youtube_trailer": null,
"episode_run_time": 25,
"category_id": "4",
"category_ids": [4]
}
]
Series by Category
GET /player_api?username={username}&password={password}&action=get_series&category_id={id}
Get Series Info
GET /player_api?username={username}&password={password}&action=get_series_info&series_id={id}
Example Response
{
"seasons": [
{
"air_date": "2001-06-02",
"episode_count": 26,
"id": 4937,
"name": "Season 1",
"overview": "",
"season_number": 1,
"vote_average": 4.5,
"cover": "http://176.124.192.118:80/images/7pQr8EhEi05VXRmZc5QfCLaoCzC2XshRjzbEF-0-ISX3OBAKZPN21ASjMFFF_OljJBrZ7sNEJHE6hlqofFOJSRKiMRvSj08-T6iTQVWvj2I.jpg",
"cover_big": "http://176.124.192.118:80/images/7pQr8EhEi05VXRmZc5QfCLaoCzC2XshRjzbEF-0-ISX3OBAKZPN21ASjMFFF_OljJBrZ7sNEJHE6hlqofFOJSRKiMRvSj08-T6iTQVWvj2I.jpg"
}
],
"info": {
"name": "Braceface (2001)",
"title": "Braceface",
"year": 2001,
"cover": "http://176.124.192.118:80/images/7pQr8EhEi05VXRmZc5QfCLaoCzC2XshRjzbEF-0-ISX3OBAKZPN21ASjMFFF_OljpT6mCZeHa4zLXMQZ2eaTpGZUSOucptPKyuP5tgpEZm0.jpg",
"plot": "The show, set in Elkford, British Columbia, is based around Sharon Spitz, who is a junior high school student with braces that get in her way of leading a normal teenage life. In the first season, she is enrolled at Mary Pickford Junior High.",
"cast": "Stacey DePass",
"director": "Charles E. Bastien",
"genre": "Drama, Animation, Comedy",
"release_date": "2001-06-02",
"releaseDate": "2001-06-02",
"last_modified": "1757348651",
"rating": "7",
"rating_5based": 3.5,
"backdrop_path": [
"http://176.124.192.118:80/images/7pQr8EhEi05VXRmZc5QfCADBzwKB171qpiTTqrZdeATBaSzxZEgi9EPIvh5kU_50ecbH2L-yDt1PIfqijKTIMg.jpg"
],
"youtube_trailer": null,
"episode_run_time": 25,
"category_id": "4",
"category_ids": [4]
},
"episodes": {
"1": [
{
"id": "2",
"episode_num": "1",
"title": "Braceface - S01E01 - Brace Yourself",
"container_extension": "mp4",
"info": {
"release_date": "2001-06-02",
"plot": "Sharon Spitz, a 13-year-old 8th grader gets braces the day before picture day. During the procedure, a thunderstorm causes a power outage, and something strange happens with Sharon's braces, making her do all sorts of weird things!",
"duration_secs": 649,
"duration": "00:10:49",
"movie_image": "http://176.124.192.118:80/images/7pQr8EhEi05VXRmZc5QfCADBzwKB171qpiTTqrZdeARCK8Ch0a6wlNxuIHhbJ3c1Dg_AqkwSsH-qdpnCvcMsiy6U85vvi1bs1xDOddBeOEQ.jpg",
"bitrate": 2791,
"rating": "5",
"season": "1",
"tmdb_id": "105800",
"cover_big": "http://176.124.192.118:80/images/7pQr8EhEi05VXRmZc5QfCADBzwKB171qpiTTqrZdeARCK8Ch0a6wlNxuIHhbJ3c1Dg_AqkwSsH-qdpnCvcMsiy6U85vvi1bs1xDOddBeOEQ.jpg"
},
"subtitles": [],
"custom_sid": "",
"added": 1757348651,
"season": 1,
"direct_source": ""
}
]
}
}
🎞 Media Access
After authorization, you can access direct links to media files.
- Live TV (channel):
http://176.124.192.118/live/{username}/{password}/{stream_id}.ts
- Movie (VOD):
http://176.124.192.118/movie/{username}/{password}/{vod_id}.mp4
- Episode:
http://176.124.192.118/series/{username}/{password}/{episode_id}.mp4
⚠️ Important: On the first request, a redirect occurs to
/auth/...for authentication before content is served.
🧾 Notes
- Output Formats: Supported formats —
m3u8,ts,rtmp. Choose based on your device. - Security: All requests require valid authorization; monitor logs for access errors.
- Integration: Use tools like Postman for testing. Implement response caching in your application for better performance.
💬 If you have integration issues, please open an issue in the repository.