JKT48Connect

Live Streaming Endpoint

Comprehensive documentation for the JKT48Connect API live streaming endpoints to fetch live member data from IDN, Showroom, and YouTube.

GET /api/jkt48/live

This endpoint returns data for all JKT48 members who are currently broadcasting live streams across all supported platforms (IDN Live, Showroom, YouTube).

Request

GET https://v2.jkt48connect.com/api/jkt48/live?apikey=YOUR_API_KEY
ParameterTypeRequiredDescription
apikeystringAPI key for authentication

Example Response

[
  {
    "name": "Fritzy",
    "img": "https://cdn.idntimes.com/content-images/post/20250406/717109e0.jpg",
    "img_alt": "https://cdn.idn.media/idnaccount/avatar/500/f4d25811.webp",
    "url_key": "jkt48_fritzy",
    "slug": "yuk-diborong-250406190348",
    "room_id": 510011,
    "is_graduate": false,
    "is_group": false,
    "chat_room_id": "arn:aws:ivschat:us-east-1:050891932989:room/dsKjuKRqfoRE",
    "started_at": "2025-04-06T12:03:58.000Z",
    "streaming_url_list": [
      {
        "label": "original",
        "quality": 1,
        "url": "https://example.com/stream.m3u8"
      }
    ],
    "type": "idn"
  }
]

Response Structure

FieldTypeDescription
namestringMember's name
imgstringPrimary thumbnail/image URL
img_altstringAlternative image/avatar URL
url_keystringUnique identifier for the member's URL
slugstringCurrent live stream slug
room_idnumberStreaming room ID
is_graduatebooleanWhether the member has graduated
is_groupbooleanWhether this is a group live stream
chat_room_idstringChat room ID for the stream
started_atstringStream start time (ISO 8601 format)
streaming_url_listarrayList of available streaming URLs
typestringPlatform: "idn", "showroom", or "youtube"

Streaming URL List Object

FieldTypeDescription
labelstringQuality label (e.g., "original", "720p")
qualitynumberQuality level (1 = highest)
urlstringStream URL (usually an HLS .m3u8 link)

GET /api/jkt48/live/idn

A dedicated endpoint to fetch live streaming data exclusively from IDN Live.

Request

GET https://v2.jkt48connect.com/api/jkt48/live/idn?apikey=YOUR_API_KEY

The response format is identical to /api/jkt48/live, but only returns members currently streaming on the IDN platform.


Supported Platforms

PlatformType ValueDescription
IDN Live"idn"Indonesian live streaming platform
Showroom"showroom"Interactive live streaming platform
YouTube"youtube"YouTube live streams and premieres

Usage Examples

JavaScript — Show Members Currently Live

const API_KEY = 'YOUR_API_KEY';
const BASE_URL = 'https://v2.jkt48connect.com';

async function getLiveMembers() {
  try {
    const response = await fetch(`${BASE_URL}/api/jkt48/live?apikey=${API_KEY}`);
    
    if (!response.ok) {
      throw new Error(`HTTP error! status: ${response.status}`);
    }
    
    const data = await response.json();
    
    if (data.length === 0) {
      console.log('No members are currently live right now.');
      return;
    }
    
    console.log(`🔴 ${data.length} members are live!\n`);
    
    // Group by platform
    const platforms = {};
    data.forEach(member => {
      if (!platforms[member.type]) platforms[member.type] = [];
      platforms[member.type].push(member);
    });
    
    Object.entries(platforms).forEach(([platform, members]) => {
      console.log(`📺 ${platform.toUpperCase()} (${members.length} members):`);
      members.forEach(member => {
        const startedAt = new Date(member.started_at);
        console.log(`   • ${member.name} — started at ${startedAt.toLocaleTimeString()}`);
      });
    });
    
    return data;
  } catch (error) {
    console.error('Error:', error.message);
  }
}

getLiveMembers();

Python — Monitor Live Streams Grouped by Platform

import requests
from datetime import datetime

API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://v2.jkt48connect.com'

def get_live_members():
    try:
        response = requests.get(f"{BASE_URL}/api/jkt48/live?apikey={API_KEY}")
        response.raise_for_status()
        data = response.json()
        
        if not data:
            print("No members are currently live right now.")
            return
        
        print(f"🔴 {len(data)} members are live!\n")
        
        # Group by platform
        platforms = {}
        for member in data:
            platform = member['type']
            if platform not in platforms:
                platforms[platform] = []
            platforms[platform].append(member)
        
        for platform, members in platforms.items():
            print(f"📺 {platform.upper()} ({len(members)} members):")
            for member in members:
                # Parse the ISO time properly
                started = datetime.fromisoformat(
                    member['started_at'].replace('Z', '+00:00')
                )
                print(f"   • {member['name']} — started at {started.strftime('%H:%M:%S')}")
        
        return data
    except requests.exceptions.RequestException as e:
        print(f"Error: {e}")

get_live_members()

Tips

  • The response will be an empty array [] if no members are currently live
  • Use the type field to filter broadcasts by platform
  • The streaming_url_list field provides HLS URLs that can be played in supported video players
  • started_at uses the ISO 8601 UTC format

On this page