We’re currently pulling data from the /v2/webinars/{webinarId}/registrants endpoint, but we’ve run into an issue: some registrants that our operations team sees as valid registrations aren’t showing up in the API response.
When asked how those webinars were created, they said: *These were created as a zoom event which now falls under “events and sessions”, but they are in webinar form meaning the audience cannot be seen. *
I joined the Zoom drop-in session, and we were advised to use this endpoint instead: /v2/zoom_events/events/{eventId}/registrants
We attempted to call that Events API endpoint using our server-to-server OAuth app (which has all the Events scopes enabled), but the request returns: {‘code’: 124, ‘message’: ‘Invalid Access token’}
API Call
url = f’https://zoom.us/oauth/token?grant_type=account_credentials&account_id={account_id}’
def get_zoom_token():
response = requests.post(url, auth=(self.user, self.password))
return response.json().get('access_token')
We reviewed the Zoom Events and couldn’t find any note indicating that server-to-server OAuth is unsupported for this endpoint.
We’re extracting registration data from the API to our data warehouse, so interactive OAuth flows are not a viable option for our use case.
Why do some users appear in the Zoom UI as registrants but not in the /webinars/{webinarId}/registrants API?
How does Zoom define a “registration” for the webinar API? (in their report those users show up as
self-registration by email)
Does the /zoom_events/events/{eventId}/registrants endpoint support Server-to-Server OAuth?
If not, what is the recommended approach for backend automation that pulls registrant data from Zoom Events?
