Limit on Max Page Size : 30

Description
Using the Zoom API, I want to retrieve the complete data of ListMeetings,Zoom Rooms etc.( Whatever I am seeing in the standard zoom dashboard)using Python coding and save the output file to local desktop in json format. But, I am not able to see the complete output because of the page size limit. How can I get the complete data?
Will Zoom provide the data in any format ? My requirement is to extract the data using Zoom API’s in json format and create the Tableau dashboard. Please provide your inputs.

Error
The full error message or issue you are running into.

Which App Type (OAuth / Chatbot / JWT / Webhook)?
JWT

Which Endpoint/s?
Example : https://api.zoom.us/v2/users

Python Code I have used to extract the data.

import requests
import json
url = “https://api.zoom.us/v2/users

querystring = {“status”:“active”}

headers = {‘authorization’: ‘Bearer xxxxx’}

response = requests.request(“GET”, url, headers=headers, params=querystring)

with open(‘C:/Users/Priya/Documents/ActiveUsers.json’, ‘w’) as json_file:
json.dump(response.json(), json_file,indent=4, sort_keys=True)

1 Like

Hey @thummalapriyanka, thanks for posting and using Zoom!

For the List Users API you can specify the page_size query param to return 300 users. For additional users, specify the page_number query param to get the next 300 users.

Thanks,
Tommy

Is there a way I can get the complete data when I hit the API without giving the page_size & page_number?

Hey @thummalapriyanka,

Unfortunately no. You must use the page_size & page_number params.

Thanks,
Tommy

Do you have any python code to extract the complete data without providing the page_size & page_number ?

Hey @thummalapriyanka,

The way our API (and most APIs) work when returning large amounts of data is with pagination.

You must use the page_size and page_number to get all of the data.

Thanks,
Tommy

@thummalapriyanka and @tommy, I bumped into this while searching for any thread that can point me to Zoom API/Snowflake/Tableau integration. I am looking for a Python code to use Zoom API and populate Zoom meetings details (user id, application id, meeting start time, end time, participant details etc.) into a Snowflake table. The final goal is to develop a Tableau dashboard using Snowflake table. Do you have any sample code to share for this?

Thanks
-Bheem

Hey @baitha!

I can’t speak for @tommy (he may know about some existing source code which I do not), but I’ve not heard of any available source code for piping data from: Zoom->Snowflake->Tableau (specifically).

The Zoom API is RESTful, and Python has native libraries and published modules available on [pip](https://pypi.org/project/pip/), such as requests, you can include as dependencies as part of your Python app, enabling your code interoperability with Zoom REST API. Using this, your app can:

  • Obtain historical data about your Zoom account, within limits defined by Zoom’s Data Retention, Privacy, and other legal Policies.
  • To retrieve additional object details, not exposed in the webhook event payload, where only IDs are provided in the event but your app requires more comprehensive data

Zoom Webhooks are encrypted HTTP POST requests sent to the Event Subscription URL you define for your Zoom Marketplace App -> Features -> Event Subscription (development/production). You just have to make available (either as part of your Python app, or SOA-style independent) publicly available web-server that supports TLSv1.2+ and can accept incoming HTTP POST requests (making sure to respond with an HTTP 200 when successfully received, in an async manner). Using this, your app can:

  • Subscribe to a robust/growing, near-real-time Zoom events as they occur in your account
  • Create dashboards from the data, or securely send to a dashboard service provider
  • Eliminate your app’s need to long-poll Zoom’s REST API
  • Conserve valuable API Rate Limit overhead for more critical needs

For your specific automation workflow @baitha

Using a combination of Zoom Webhooks and Zoom REST API, your Python app could:

  1. Subscribe to desired Zoom Events (Webhooks) in your Marketplace app
  2. Handle received events at your Zoom Marketplace app’s Event Subscription URL, then relay into Snowflake Data Lifecycle, making sure to ETL JSON Data into Snowflake
  3. Establish a secure connection between Tableau and Snowflake
  4. Build/customize/share your Tableau dashboards!

For a more drag-n-drop type automation…

Of course, there are some service providers available, such as Zapier, you can use to automate this workflow, and the list of service-automation providers is continually growing. Using these services, the trade off for reduced development time and off-loading of maintenance/support, is the cost of your usage of the service.

Zoom Policy for 3rd Party Providers

We only recommend using official, approved third party service providers, these apps have been reviewed and published by Zoom on:

!! Protect your Zoom Data !!

NEVER share or store your Zoom JWT App’s API Keys with ANY third-party!
The only exception would be Zoom Marketplace apps that are marked as “Built by: Zoom”.


Does this answer your question (I know it isn’t a turn-key solution, but this should point you in the right direction)?

@bdeanindy thanks for the quick reply. This should be get me started.
-Bheem

2 Likes

Thanks Ben!

Let us know if you have additional questions @baitha! :slight_smile:

-Tommy