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
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.
- <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