| Title: | Connect to Your 'Zoom' Data |
|---|---|
| Description: | Facilitates making a connection to the 'Zoom' API and executing various queries. You can use it to get data on 'Zoom' webinars and 'Zoom' meetings. The 'Zoom' documentation is available at <https://developers.zoom.us/docs/api/>. This package is not supported by 'Zoom' (owner of the software). |
| Authors: | Chris Umphlett [aut, cre], Paul Schmidt [ctb] |
| Maintainer: | Chris Umphlett <[email protected]> |
| License: | CC0 |
| Version: | 0.4.0.9000 |
| Built: | 2026-05-24 09:19:16 UTC |
| Source: | https://github.com/chrisumphlett/zoomr |
Get all users in a zoom account. The user id is required to get a list of webinars hosted by a particular user.
get_account_users(account_id, client_id, client_secret)get_account_users(account_id, client_id, client_secret)
account_id |
Account Id granted by the Zoom developer app. |
client_id |
Client Id granted by the Zoom developer app. |
client_secret |
Client secret granted by the Zoom developer app. |
A data frame with the list of all users in the account.
See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.
## Not run: dat <- get_account_users(your_account_id, your_client_id, your_client_secret) ## End(Not run)## Not run: dat <- get_account_users(your_account_id, your_client_id, your_client_secret) ## End(Not run)
Get metadata about a single meeting including participant count, duration, and other meeting statistics.
get_meeting_details(meeting_id, account_id, client_id, client_secret)get_meeting_details(meeting_id, account_id, client_id, client_secret)
meeting_id |
Zoom Meeting ID (from list_meetings). |
account_id |
Account ID granted by the Zoom developer app. |
client_id |
Client ID granted by the Zoom developer app. |
client_secret |
Client secret granted by the Zoom developer app. |
This function retrieves basic meeting metadata. For more comprehensive meeting analytics and participant data, users with Pro+ Zoom accounts can access the Reports API endpoints which provide enhanced meeting details and participant information.
A data frame with the metadata about a meeting. The type
column contains integer codes describing the meeting structure/format,
while meeting_format_label provides human-readable descriptions:
1 = Instant meeting
2 = Scheduled meeting
3 = Recurring meeting (no fixed time)
8 = Recurring meeting (fixed time)
10 = Screen share only meeting
Official Zoom API documentation: https://developers.zoom.us/docs/api/meetings/#tag/meetings/get/meetings/{meetingId}
## Not run: dat <- get_meeting_details(meeting_id = "81753923023", your_account_id, your_client_id, your_client_secret) ## End(Not run)## Not run: dat <- get_meeting_details(meeting_id = "81753923023", your_account_id, your_client_id, your_client_secret) ## End(Not run)
Get participant information from all instances of a meeting. For recurring meetings, this function automatically retrieves participants from all occurrences, making it ideal for workshop attendance tracking.
get_meeting_participants( meeting_id, account_id, client_id, client_secret, page_size = 300 )get_meeting_participants( meeting_id, account_id, client_id, client_secret, page_size = 300 )
meeting_id |
Zoom Meeting ID (from list_meetings). |
account_id |
Account ID granted by the Zoom developer app. |
client_id |
Client ID granted by the Zoom developer app. |
client_secret |
Client secret granted by the Zoom developer app. |
page_size |
Number of records per page. Default is 300. |
Important Limitations:
Meeting instances older than 15 months cannot be retrieved
This function works with all Zoom account types
Enhanced Features for Pro+ Users: Users with Pro+ Zoom accounts can access additional Reports API endpoints that provide more detailed participant analytics, custom date ranges, and enhanced filtering capabilities.
A data frame with data on each participant at a meeting. Includes an 'instance_date' column to identify which occurrence each participant attended (NA for non-recurring meetings).
Official Zoom API documentation: https://developers.zoom.us/docs/api/meetings/#tag/meetings/get/past_meetings/{meetingId}/instances and https://developers.zoom.us/docs/api/meetings/#tag/reports/get/report/meetings/{meetingUuid}/participants
## Not run: # Get participants from all instances of a meeting dat <- get_meeting_participants( meeting_id = "81753923023", your_account_id, your_client_id, your_client_secret) ## End(Not run)## Not run: # Get participants from all instances of a meeting dat <- get_meeting_participants( meeting_id = "81753923023", your_account_id, your_client_id, your_client_secret) ## End(Not run)
Get the list of attendees who were also panelists from a single webinar.
get_panelists(webinar_id, account_id, client_id, client_secret)get_panelists(webinar_id, account_id, client_id, client_secret)
webinar_id |
Zoom Webinar Id, typically an 11 digit number. |
account_id |
Account Id granted by the Zoom developer app. |
client_id |
Client Id granted by the Zoom developer app. |
client_secret |
Client secret granted by the Zoom developer app. |
A data frame with the list of panelists from that webinar.
See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.
## Not run: dat <- get_webinar_panelists(webinar_id = "99911112222", your_account_id, your_client_id, your_client_secret) ## End(Not run)## Not run: dat <- get_webinar_panelists(webinar_id = "99911112222", your_account_id, your_client_id, your_client_secret) ## End(Not run)
Get registration question answers from all registrants for a single webinar.
get_registration_questions( webinar_id, account_id, client_id, client_secret, registrant_status = c("approved") )get_registration_questions( webinar_id, account_id, client_id, client_secret, registrant_status = c("approved") )
webinar_id |
Zoom Webinar Id, typically an 11 digit number. |
account_id |
Account Id granted by the Zoom developer app. |
client_id |
Client Id granted by the Zoom developer app. |
client_secret |
Client secret granted by the Zoom developer app. |
registrant_status |
One or more of "approved", "pending", or "denied". Default is "approved" only. |
A data frame with the registration question answers.
See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.
## Not run: dat <- get_registration_questions(webinar_id = "99911112222", your_account_id, your_client_id, your_client_secret, c("approved", "denied", "pending")) ## End(Not run)## Not run: dat <- get_registration_questions(webinar_id = "99911112222", your_account_id, your_client_id, your_client_secret, c("approved", "denied", "pending")) ## End(Not run)
Get a summary of registrations and visitors by tracking source for a specific webinar.
get_tracking_sources(webinar_id, account_id, client_id, client_secret)get_tracking_sources(webinar_id, account_id, client_id, client_secret)
webinar_id |
Zoom Webinar Id, typically an 11 digit number. |
account_id |
Account Id granted by the Zoom developer app. |
client_id |
Client Id granted by the Zoom developer app. |
client_secret |
Client secret granted by the Zoom developer app. |
A data frame with the list of panelists from that webinar.
See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.
## Not run: dat <- get_tracking_sources(webinar_id = "99911112222", your_account_id, your_client_id, your_client_secret) ## End(Not run)## Not run: dat <- get_tracking_sources(webinar_id = "99911112222", your_account_id, your_client_id, your_client_secret) ## End(Not run)
Get metadata about a single webinar.
get_webinar_details(webinar_id, account_id, client_id, client_secret)get_webinar_details(webinar_id, account_id, client_id, client_secret)
webinar_id |
Zoom Webinar Id, typically an 11 digit number. |
account_id |
Account Id granted by the Zoom developer app. |
client_id |
Client Id granted by the Zoom developer app. |
client_secret |
Client secret granted by the Zoom developer app. |
A data frame with the metadata about a webinar.
See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.
## Not run: dat <- get_webinar_details(webinar_id = "99911112222", your_account_id, your_client_id, your_client_secret) ## End(Not run)## Not run: dat <- get_webinar_details(webinar_id = "99911112222", your_account_id, your_client_id, your_client_secret) ## End(Not run)
Get participant info about a single webinar.
get_webinar_participants(webinar_id, account_id, client_id, client_secret)get_webinar_participants(webinar_id, account_id, client_id, client_secret)
webinar_id |
Zoom Webinar Id, typically an 11 digit number. |
account_id |
Account Id granted by the Zoom developer app. |
client_id |
Client Id granted by the Zoom developer app. |
client_secret |
Client secret granted by the Zoom developer app. |
A data frame with data on each participant at a webinar.
See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.
## Not run: dat <- get_webinar_participants(webinar_id = "99911112222", your_account_id, your_client_id, your_client_secret) ## End(Not run)## Not run: dat <- get_webinar_participants(webinar_id = "99911112222", your_account_id, your_client_id, your_client_secret) ## End(Not run)
Get the polls summary from a single webinar.
get_webinar_polls(webinar_id, account_id, client_id, client_secret)get_webinar_polls(webinar_id, account_id, client_id, client_secret)
webinar_id |
Zoom Webinar Id, typically an 11 digit number. |
account_id |
Account Id granted by the Zoom developer app. |
client_id |
Client Id granted by the Zoom developer app. |
client_secret |
Client secret granted by the Zoom developer app. |
A data frame with poll results from a webinar.
See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.
## Not run: dat <- get_webinar_polls(webinar_id = "99911112222", your_account_id, your_client_id, your_client_secret) ## End(Not run)## Not run: dat <- get_webinar_polls(webinar_id = "99911112222", your_account_id, your_client_id, your_client_secret) ## End(Not run)
Get the Q&A summary from a single webinar.
get_webinar_qanda(webinar_id, account_id, client_id, client_secret)get_webinar_qanda(webinar_id, account_id, client_id, client_secret)
webinar_id |
Zoom Webinar Id, typically an 11 digit number. |
account_id |
Account Id granted by the Zoom developer app. |
client_id |
Client Id granted by the Zoom developer app. |
client_secret |
Client secret granted by the Zoom developer app. |
A data frame with all of the Q&A data from a webinar.
See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.
## Not run: dat <- get_webinar_qanda(webinar_id = "99911112222", your_account_id, your_client_id, your_client_secret) ## End(Not run)## Not run: dat <- get_webinar_qanda(webinar_id = "99911112222", your_account_id, your_client_id, your_client_secret) ## End(Not run)
Get registrant info about a single webinar.
get_webinar_registrants( webinar_id, account_id, client_id, client_secret, registrant_status = c("approved") )get_webinar_registrants( webinar_id, account_id, client_id, client_secret, registrant_status = c("approved") )
webinar_id |
Zoom Webinar Id, typically an 11 digit number. |
account_id |
Account Id granted by the Zoom developer app. |
client_id |
Client Id granted by the Zoom developer app. |
client_secret |
Client secret granted by the Zoom developer app. |
registrant_status |
One or more of "approved", "pending", or "denied". Default is "approved" only. |
A data frame with data on all the registrants for a webinar.
See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.
## Not run: dat <- get_webinar_registrants(webinar_id = "99911112222", your_account_id, your_client_id, your_client_secret, c("approved", "denied", "pending")) ## End(Not run)## Not run: dat <- get_webinar_registrants(webinar_id = "99911112222", your_account_id, your_client_id, your_client_secret, c("approved", "denied", "pending")) ## End(Not run)
Get list of meetings for a User. This function retrieves meeting IDs and UUIDs to pass into other functions for detailed analysis.
list_meetings( user_id, account_id, client_id, client_secret, meeting_type = "previous_meetings", page_size = 300 )list_meetings( user_id, account_id, client_id, client_secret, meeting_type = "previous_meetings", page_size = 300 )
user_id |
Zoom User ID or email address. |
account_id |
Account ID granted by the Zoom developer app. |
client_id |
Client ID granted by the Zoom developer app. |
client_secret |
Client secret granted by the Zoom developer app. |
meeting_type |
Type of meetings to retrieve. Options are:
|
page_size |
Number of records per page. Maximum 300, default 300. |
Important Limitations:
6-month historical limit: When using "upcoming", "upcoming_meetings", or "previous_meetings", only meetings from the last 6 months are returned
Scheduled meetings only: Does not return instant meetings
Unexpired meetings only: Only returns meetings that haven't expired
For Enhanced Historical Data Access:
Users with Pro+ Zoom accounts can access the Reports API endpoint
/report/users/{userId}/meetings which offers:
Date range filtering with from and to parameters
Enhanced meeting details including participant information
Better historical data retrieval capabilities
A data frame with meetings hosted by the specified user.
The meetings_type column contains integer codes describing the
meeting structure/format, while meeting_format_label provides
human-readable descriptions:
1 = Instant meeting
2 = Scheduled meeting
3 = Recurring meeting (no fixed time)
8 = Recurring meeting (fixed time)
10 = Screen share only meeting
Official Zoom API documentation: https://developers.zoom.us/docs/api/meetings/#tag/meetings/get/users/{userId}/meetings
## Not run: dat <- list_meetings(user_id = "user_id_string", your_account_id, your_client_id, your_client_secret, meeting_type = "previous_meetings") ## End(Not run)## Not run: dat <- list_meetings(user_id = "user_id_string", your_account_id, your_client_id, your_client_secret, meeting_type = "previous_meetings") ## End(Not run)
Get list of webinars for a User. This is used to get the webinar Id's to pass into other functions.
list_webinars(user_id, account_id, client_id, client_secret)list_webinars(user_id, account_id, client_id, client_secret)
user_id |
Zoom User Id. |
account_id |
Account Id granted by the Zoom developer app. |
client_id |
Client Id granted by the Zoom developer app. |
client_secret |
Client secret granted by the Zoom developer app. |
A data frame with all of the webinars hosted by a specific user.
See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.
## Not run: dat <- get_webinar_details(user_id = "user_id_string", your_account_id, your_client_id, your_client_secret) ## End(Not run)## Not run: dat <- get_webinar_details(user_id = "user_id_string", your_account_id, your_client_id, your_client_secret) ## End(Not run)