Is there a a JWT API for getting public meeting details?

I would like to use JWT auth to allow my users to register their public Zoom meetings with my app. I want to store the meeting details and register for hooks on those meetings for when they are updated/canceled or started/ended. Is this possible with JWT?

I tried{meetingid}?access_token={token} on a test public meeting id but it returns 404. I assume because the meeting is not my meeting but another user’s meeting.

Is what I am trying to do possible? Can I use JWT for this or do I need to move to OAuth?


1 Like

Hey @rhett.guthrie, thanks for posting and using Zoom!

Sounds like you should be using a User Level OAuth app and the OAuth flow.


I am having the same problem here, I just want to call an API which can return if the meeting exists or not.

People can already check this for arbitrary meeting ID by go to<meetingid>, so such info (if a meeting exists or not) shouldn’t have extra requirements.

But when I am using this “/meetings/<meetingid>” API, if the meeting id is not hosted by me, it will return 404, if it is my host, it will return 200

Why this API requires the meeting ID must be hosted under my account? Then I guess there is no way to see if an arbitrary meeting ID exists or not?

Hey @oyosocial, thanks for posting and using Zoom!

This functionality is intended. Due to privacy, we don’t allow you to check if meetings outside your Zoom account are valid.


Hi Tommy, thank you for the response. I understand “due to privacy”, but the fact is, I can already check if a meeting ID is valid or not by just going to browser and entering the url like<meeting id> , then in the web page, it will literally show me "Invalid meeting ID. (3,001) "

In fact, if I just get the content of the page and search for “Invalid meeting ID”, it will tell me anyway, for example, in Python:

is_invalid = urlopen("").read().find("Invalid meeting") != -1

So if I can already do this without sign into any account anyway, I don’t see a point why the API forbid to do so? seems “privacy” is not the reason.

Hey @oyosocial,

I do understand that flow you are mentioning, however it is an error message to inform a user of a possible mistake on their end, not an endpoint to check if a meeting exists.

Please share your use case so I can help come up with a different solution.


Hi Tommy,

Thank you for the response. My case is, I am making a similar page like<meetingid> page, instead of showing the “Join from browser” link on the page, (because this meeting id is typed by user) I want to check first if this meeting id exists or if this meeting has been created, or if this meeting has ended (i.e. all cases for a meeting that is not available to join): if it is invalid / doesn’t exist, I won’t show the “Join from browser” link, instead, I’ll show “This meeting doesn’t exist or hasn’t started yet or has expired, etc”

I am wondering is there any API allow me to do this?

Thank you.

Hey @oyosocial,

Thanks for sharing your use case! If you or any Zoom user on your account owns the meeting ID, then you could call the get meeting endpoint to see if it exists first, authenticating via JWT.

If you are trying to check if an external Zoom meetings exist, you could create an OAuth app, which your users install, then you can check if said meeting exists by querying the get meeting/meetings endpoint.

Other than that, there is no way to check if a meeting exists without authorization.


I see, got it, thank you very much, Tommy

1 Like

You are welcome! :slight_smile: