Retrieve Virtual Classroom data with the Kaltura API


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:

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/&lt;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/&lt;AdminSecret>/params/from_date=1722470400;to_date=1725148800

Was this article helpful?
Thank you for your feedback!
User Icon

Thank you! Your comment has been submitted.

In This Article
Related Articles
Back to top

Never miss a thing!

Subscribe to our customer newsletter and our release notes updates, so you always get the best out of Kaltura.
Newsletter