How to Use a third-party closed captioning service in Zoom

In order to add closed captions, you need to provide a third-party closed captioning service with the caption URL, which then allows you to add closed captions. This URL enables the third-party caption service to stream text from their closed captioning software to the Zoom meeting through the closed caption URL. According to this article, Zoom uses a specific data format to receive Closed Caption data.

We have an overview of closed captioning with Zoom for those who are new to using closed captions with Zoom.

Prerequisites for integrating with a third-party closed captioning service

  • Using this option, closed captioning services from 3rd parties can be integrated with caption API tokens, allowing integration with closed captioning services from 3rd parties.
  • Access to third-party closed captioning services will be available with this option.

Obtaining the caption URL (API token)

Alternatively, the host can copy the caption URL and send it via in-meeting chat to someone else. The host must enter the caption URL into closed captioning software that supports Zoom’s REST API in order to establish a connection.

  1. You can turn on closed captioning while hosting a Zoom meeting or a webinar.
  2. From the API tokens menu, click Copy.

Using the URL for closed captioning over HTTP

A continuous sequence of POSTs will be expected by Zoom for the closed caption data. There is a special URL that each meeting and breakout room session has which shows which parameters are relevant (breakout rooms have an additional parameter called subconfid). As the URL of the POST will specify the destinted of the data (the meeting that the close captions are associated with), it should specify the meeting name.

In order to add the following parameter to the URL of every POST request, it must be added as follows:

Name Description Example fragment
 seq The fragment seq must be included in all posts. There should be a counter for each closed caption data post. Between posts of new caption data, the counter must be incremented by one (it should not be incremented for retrying).

You can retrieve the seq number of the last successful send using the following API method: /closedcaption/seq [GET]

 lang This is separated by the hyphen by the language code and country code linked to the language code.

For example:

  • German: de-DE
  • English:en-US
  • Japanese: jp-JP
  • Spanish: es-ES
  • French: fr-FR
  • Chinese: zh-CN

Content type and data

All post types (mimetypes) for all POST requests need to be in plain text format with UTF-8 encoding.

Closed caption content must be the only thing sent with the HTTP POST to the closed caption ingestion point within the body of the content. Form-encoding must not be used to encode the data.

This will be the body of the post where the closed caption data will be added.  The closed caption text can be broken up with the use of the /n (0x0D).


  • 1st HTTP post data: I’M SENDING
  • 2nd HTTP post data: SEVERAL CAPTIONS.\n

Response codes

The following response codes may be returned by HTTP POSTs:

Response code Description
405 The method you are trying to use isn’t permitted. Posting is not allowed.
400 Internal Server Error. There has been no start of the meeting yet.
403 Unauthorized access. There is a possibility that &seq may be missing from the query, &id, &signature, &expire, or &ns could be missing during the execution.


Request retries

Please retry all of your codes according to Zoom’s recommendation. There are several different types of response codes that can be attributed to this, which include error codes such as 408 Request Timeout, 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable, and 504 Gateway Timeout.

There should be a timeout applied to all HTTP POST requests. This would allow retrying of a failed request if it times out.

Whenever you are retrying a request, you should use randomized binary exponential backoff:

Upon receiving a response, wait for a random period between [0..100] milliseconds before retrying; if that fails, wait a random period between [0..200] milliseconds before retrying; if that fails, wait a random period between [0..400] milliseconds before retrying, and so on. The retrying process should continue until it becomes increasingly important to move on to the next closed caption packet (approximately after 5 seconds).

HTTP POST returns timestamp

Upon completing a POST request, the response body contains a timestamp value, which reflects the time when the POST request was processed.  If a client drives the server from the client’s computer, the time on the client may need to be corrected. Due to the fact that local clocks are often not synchronized with each other, Zoom recommends using this value.

This is an example of a timestamp returned by the API: 2012-12-24T00:00:06.873

Example POST

POST /closedcaption?id=200610693&ns=GZHkEA==&expire=86400&sparams=id%2Cns%2Cexpire&signature=nYtXJqRKCW&seq=41&lang=en-US 
Accept: */*
Content-Type: text/plain
Content-Length: 11
POST /closedcaption?id=200610693&ns=GZHkEA==&expire=86400&sparams=id%2Cns%2Cexpire&signature=nYtXJqRKCW&seq=42&lang=en-US 
Accept: */*
Content-Type: text/plain
Content-Length: 18

Read it also –

Joining A Third Party Meeting From A Zoom Room
Enabling Auto Sign In With A Third Party Mdm In Zoom
Archiving Messages With A Third Party Provider In Zoom App

Frequently Asked Questions

How do you use third party CC in Zoom?

Instructions for the Third-Party Captioner

It will appear on your screen that once you have been assigned the ability to type closed captions by the host, a notification letting you know that has been sent to you: “The host has assigned you to type closed captions.” To enter closed captions as a participant, click Closed Caption in the pop-up window that appears.

What 3rd party closed captioning works with Zoom?

It is our pleasure to introduce VITAC as the preferred third-party vendor for Zoom Live Captioning services. It is our goal to help you keep your employees, constituents, students, and professional communities connected to your Zoom content and accessible by providing closed captioning that is provided by real people.

Does Zoom support closed captions?

You will need to sign into the Zoom desktop client in order to use it. Please join one of our meetings or webinars. A notification will appear above the Closed Caption option in the meeting controls when closed captioning has been enabled by the host, informing you that the microphone is available for closed captioning during the meeting. To start viewing closed captions, click on the Closed Caption button.

Does Zoom offer closed captioning translation?

Zoom’s translated captions let users have real-time translation of a meeting or webinar into captions in another language seamlessly in real-time, no matter what the language of the speakers in the meeting or webinar is. For instance, if a speaker speaks English in a meeting, captions are able to be provided in Spanish, Chinese, Ukrainian, and a bunch of other languages as well.

What is a third party closed captioning for Zoom free?

In addition to Google’s Live Transcription, you can also use Slides Live (or Microsoft PowerPoint Closed Captioning) or Otter AI, which are three other free options you can use.

Related Articles

How To Use In Zoom Meeting Voting Function
How To Use Public Calendars With Zoom
How To Use The Dual Monitor Display For Zoom App
How To Use Auto Answer For Zoom Rooms
How To Use Network Device Interface Ndi In Zoom App
How To Use Dual Monitor In Zoom App
How To Use Dedicated Dial In Numbers In Zoom
How To Use Zoom On A Laptop
How To Use Siri With Zoom
How To Use Zoom Webinar Host Control
How To Use Language Interpretation In Your Meeting Or Webinar In Zoom App
How To Use Zapier In Zoom
How To Use Coupon In Zoom App
How To Use Zoom Phone With The Gsuite Add On
How To Use The Librato Notifications App For Zoom
How To Use Slack App In Zoom
How To Use Subtitles In Zoom App
Administrator How To Use Zoom Room Digital Signage