Zoom Developer Forum

Resolving intermittent errors while downloading Zoom transcripts

Updated at:
October 24, 2025
Written By:
Aydin Schwartz

Question

People commonly ask on the Zoom Developer Forum:

Why do I intermittently get a 401 with errorCode 300 (“Forbidden”) when downloading a transcript using the download_token right after the recording.transcript_completed webhook? I’m using payload.recording_files[0].download_url with the webhook’s download_token as a Bearer header. If I retry later with the same token, it works.

Answer

This can happen because the transcript file isn’t immediately available to download when the webhook fires. There is a slight delay between data and system servers, so attempting the download instantly can return 401/300. A short retry delay resolves it.

  1. On receiving recording.transcript_completed, attempt the download using recording_files[0].download_url with the download_token as a Bearer token.
  2. If you receive 401/300, wait ~5 seconds and retry the same request. Developers report that a 5-second delay consistently succeeds.
  3. If issues persist, log and share the webhook IDs and timestamps with Zoom support so they can investigate specific events.


Zoom Developer Forum Examples

Some examples of this question are:

Written By:
Aydin Schwartz