Get a meeting's join token for local recording

Dear support,

We prepare to implement Zoom API “Get a meeting’s join token for local recording” into our product.

The page above says “The recording bot can then automatically start locally recording. This supports both regular and raw local recording types.” I have some questiosn regarding this:

  • What are the differences betweenregular and raw local recording types?
  • If we want to record the meeting via a bot, should we request the API after the bot is admitted to the meeting?
  • How will the recording file be sent to out database?

Your answer is crucial to us. We would be incredibly grateful if you could help offer more details. Look forward to hearing from you. Hope you will be fine.


→ Local Regular Recording is totally recorded and processed by Zoom SDK Internally
→ Local Raw Recording will provide you a door to access meeting raw streams (Video, Audio, ScreenShare)

:point_up_2: Yes.


Regular Local Recording → Files will be generated once the meeting ended & saved the configured path.

Local Raw Recording → You have access to meeting Raw streams then it will totally depend on you how to process and where to store those. But Zoom recommended to don’t place any heavy processing inside raw recording handlers if you do that then you will face latency.

If any query still please ask. Thanks

1 Like

Hi @freelancer.nak ,

Thank you a lot for the prompt response.

Where can I set the recording type as Local Raw Recording?

If Local Raw Recording is implement and the local recording token is returned, can I get the Zoom meeting audio in real time? For example, we want to transcode the realtime audio and transcribe the audio with a third-party ASR service.

Please follow to docs :point_down:

Yes :point_down:

Hope that answers. Thanks

Hi @freelancer.nak

Would you mind sending me the link for the detailed doc?

Here → Raw Data Docs

Really appreciate your help. Thanks! Welcome & Thanks, happy to share how to build a meeting bot that joins meetings and interacts as a participant.

If you’re using the Zoom Raw Data SDK, these are the steps:

  1. Spin up a server. We recommend AWS, GCP, or Digital Ocean.
  2. Use either the Windows or Mac Zoom SDK to launch an instance of the Zoom client.
  3. Once you have the Zoom SDK launched, and use the Raw Data functionality to extract the video and audio streams.
  4. This will return the video in I420 raw frames and audio in PCM 16LE raw format, so you’ll need to encode the audio and video yourself afterwards.
  5. Once you have one instance of this working, you’ll need to scale this across several servers if you want to run multiple bots simultaneously, which is required to have bots for multiple meetings.

Finally, another option is It’s a simple 3rd party API that lets you use meeting bots to get raw audio/video from meetings and interact with participants without you needing to spend months to build, scale and maintain these bots.

Let me know if you have any questions!

Hi @amanda-recallai , thanks for the explanation.

I was wondering what’s the difference between your recall API meeting bot and Zoom SDK meeting bot.

Could you please show me some real examples of meeting bots implemented’s API?

Hi @freelancer.nak

How will the meeting bot display after the LocalRecordingToken returns? Hi,

In the meeting, the bot will be joined as a participant.

Any queries still please share. Thanks

Thank you so much for the prompt reply.

In this case, who will provide the Zoom account for the meeting bot participant?
How can I customize the meeting bot participant’s appearance in a Zoom meeting?

:point_down: You need to build OAuth flow for your users & then get access and refresh tokens

:point_down: Appearance means name etc?

What’s the difference between an OAuth app and a Meeting SDK app?

Here “appearance” means name, avatar of the meeting bot participant., the difference between and using the Zoom SDK is with the Zoom SDK, you will need to manage servers that run the Zoom SDK and operate your own infrastructure. This takes 3-4 months to build, and 5 full time engineers to maintain going forward. is an API where we’ve abstracted away the complexity for you. We run the servers instead.
It takes about a day to get into production. You can check out some of the products that use on our website.

Of course, if you want to own the integrations in-house that’s no problem, you don’t have to use Just an alternate solution!


Thank you so much for your patience and help.

I’ve read the docs and found that Zoom App SDK provides an API named “allowParticipantToRecord”.

It allows a specific participant to start a local recording. This API will trigger a pop-up consent dialog in the client to let the host allow or not allow.

Could you please help confirm whether this API works for a Meeting Bot implmented with Zoom Meeting SDK web portal?

What’s the difference between #allowParticipantToRecord and #GET meetingLocalRecordingJoinToken?

This is confusing to me.

1 Like

I’ve visited your website and checked the products using your API. Grain caught my attention. However, when I tried to use Grain Zoom App in Zoom client to record a meeting. It says “Forbidden” on the Grain Zoom App interface.

Do you know why this occurs?