About
This guide explains how to use the Kaltura API to export detailed analytics from Virtual Classroom sessions. With this API, you can extract data such as session attendance, engagement rates, and other valuable metrics in CSV format. This is useful for generating reports, analyzing performance, and integrating the data into other systems.
Click here for an example report.
Prerequisites
Before using the API, ensure you have the following:
- Admin access to generate a Kaltura Session (KS) for authentication.
- The appropriate API base URL:
- US Region: https://www.kaltura.com
- EU Region: https://api.eu.kaltura.com
For details on generating the KS, see Kaltura API Authentication and Security.
For a detailed guide on how to view session-level engagement analytics, including metrics like unique viewers, live engagement rates, and participation in polls, refer to the Analytics Tab - Engagement (Session Analytics) article.
Exporting room data
Room data (report ID: 6000)
The Room data report provides session-level analytics for virtual classrooms. This includes details such as session times, host information, unique user counts, and engagement rates. Below is the structure of the data returned:
- entry_id: Room entry ID
- entry_name: Room name
- parent_entry_id: Main room ID of a breakout room
- cue_point_id: Session ID
- session_start_time: Unix timestamp of the session start time
- session_end_time: Unix timestamp of the session end time
- session_host_user_id: Host name
- meeting_view_period_unique_users: Count of unique users in the session
- meeting_engaged_play_time_ratio: Session engagement rate
- Additional filters:
- entry_ids - Filter by specific room IDs
- virtual_event_ids - Filter by specific events
Attendees data (report ID: 6001)
The Attendees data report provides user-level analytics for participants in virtual classroom sessions. Below is the structure of the data returned:
- entry_id: Room entry ID
- cue_point_id: Room name
- user_id: User ID
- user_name: User name
- user_email: User email
- user_type: User role
- meeting_view_time: Participation time
- meeting_engaged_play_time_ratio: User engagement rate
- Additional filters:
- entry_ids - Filter by specific room IDs
- virtual_event_ids - Filter by specific events
- user_ids - Filter by specific users
- cue_point_ids - Filter by specific sessions
Breakout Room sessions (report ID: 6002)
The Breakout Room sessions report provides analytics for breakout sessions within virtual classrooms. Below is the structure of the data returned:
Filters:
- fromDate: Start date for the report
- toDate: End date for the report
- parentEntryIds: IDs of the main rooms hosting breakout sessions
- virtual_event_ids: Filter by specific events
Fields:
- parent_entry_id: Main room ID
- parent_entry_name: Main room name
- breakout_entry_id: Breakout room ID
- breakout_entry_name: Breakout room name
- cue_point_id: Session ID
- session_initiator: Host (first and last name; if unavailable, user ID is used)
- session_start_time: Start time of the session (cue point start date)
- session_end_time: End time of the session (cue point end date)
- duration: Session duration (cue point end date - cue point start date)
- participant_count: Estimated unique viewers during the session
- engagement_rate: Total engagement time divided by total view time
Accessing the data
To retrieve these reports, use the API to generate a CSV file containing the data for the specified time range. You can refine your results by applying filters such as entry_ids, virtual_event_ids, or user_ids.
URL structure:
https://www.kaltura.com/api_v3/service/report/action/<Action>/id/<reportId>/ks/<AdminSecret>/params/from_date=<Unix timestamps>;to_date=<Unix timestamps>
Key parameters
- <Action>: The operation to perform (e.g., getCsvFromStringParams to export a CSV file).
- <reportId>: Use -
- 6000 for Room data.
- 6001 for Attendees data.
- 6002 for Breakout Room sessions.
- <Unix timestamps>: The time range for the data (from_date and to_date).
- <AdminSecret>: Your authentication token (Kaltura Secret or KS).
Example request for room data (report ID: 6000):
https://www.kaltura.com/api_v3/service/report/action/getCsvFromStringParams/id/6000/ks/<AdminSecret>/params/from_date=1722470400;to_date=1725148800