Xc Api Playlist Link File
Because it doesn't need to load thousands of links at once, channel switching and navigating menus is much faster.
The goal: Convert a list of track IDs stored in a database into a unique, sharable URL. xc api playlist link
Note: The queryId is a hash string that changes periodically when X updates their frontend code (e.g., aUYGngeCUWZeMPrgctDApQ ). You usually need to inspect network traffic from the browser developer tools to get the current active ID. Because it doesn't need to load thousands of
const playlistLinkSchema = new mongoose.Schema( userId: type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true , linkId: type: String, unique: true, required: true , xcServer: type: String, required: true , xcPort: type: Number, required: true , xcUsername: type: String, required: true , xcPassword: type: String, required: true , outputFormat: type: String, enum: ['m3u', 'm3u8'], default: 'm3u' , expiresAt: type: Date, default: null , // null = never expires createdAt: type: Date, default: Date.now , lastAccessed: type: Date , accessCount: type: Number, default: 0 ); You usually need to inspect network traffic from
The Electronic Program Guide (TV guide) typically loads automatically with the API, whereas M3U often requires a separate EPG link.
| Method | Endpoint | Description | |--------|----------|-------------| | POST | /api/playlist/generate | Generate new playlist link | | GET | /api/playlist/:linkId | Stream M3U playlist | | DELETE | /api/playlist/:linkId | Revoke link | | GET | /api/playlist/links | List all generated links for user |
If you only have a long M3U URL, you can usually extract the XC API details from it. A typical M3U URL looks like this: http://my-iptv.url