Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/zoom-meeting-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.0.1
info:
title: 'Zoom meeting/'
description: Needs description.
contact:
name: Zoom Developers
url: https://zoom.us/developer
email: developer@zoom.us
license:
name: MIT
url: https://opensource.org/licenses/MIT
version: 1.0.0
externalDocs:
description: Zoom REST API Documentation
url: https://zoom.github.io/api
servers:
- url: https://api.zoom.us/v1
security:
- api_key: []
- api_secret: []
tags:
- name: Meeting
paths:
/meeting/create:
post:
tags:
- Meeting
description: |+
Create a meeting on Zoom, return the created meeting URL
operationId: meetingCreate
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- topic
- type
type: object
properties:
host_id:
type: string
description: >-
Meeting host user ID. Can be any user under this account.
Cannot be updated after creation.
type:
type: string
description: >-
Meeting type: 1 means instant meeting (Only used for host to
start it as soon as created). 2 means normal scheduled
meeting. 3 means a recurring meeting with no fixed time. 8
means a recurring meeting with fixed time.
default: '2'
topic:
type: string
description: Meeting topic. Max of 300 characters.
start_time:
type: string
description: >-
Meeting start time in ISO datetime format. For scheduled
meeting and recurring meeting with fixed time. Should be UTC
time, such as 2012-11-25T12:00:00Z.
duration:
type: string
description: Meeting duration (minutes). For scheduled meeting only.
timezone:
type: string
description: >-
Timezone to format start_time, like "America/Los_Angeles".
For scheduled meeting only. For this parameter value please
refer to the id value in timezone list JSON file.
password:
type: string
description: >-
Meeting password. Password may only contain the following
characters: [a-z A-Z 0-9 @ - _
default: ' 10 characters'
recurrence:
type: string
description: >-
Recurrence Meeting Settings. For recurring meeting with
fixed time only. See [Recurrence Object](#recurrence-object)
for more details.
option_registration:
type: boolean
description: Registration required.
default: false
registration_type:
type: string
description: >-
Registration type. 1 means Attendees register once and can
attend any of the occurrences, 2 means Attendees need to
register for each occurrence to attend, 3 means Attendees
register once and can choose one or more occurrences to
attend. For recurring meeting with fixed time only.
default: '1'
option_jbh:
type: boolean
description: >-
Join meeting before host start the meeting. Only for
scheduled or recurring meetings.
default: false
option_start_type:
type: string
description: >-
Meeting start type. Can be "video" or "screen_share".
(deprecated)
default: video
option_host_video:
type: boolean
description: Start video when host join meeting.
default: true
option_participants_video:
type: boolean
description: Start video when participants join meeting.
default: true
option_cn_meeting:
type: boolean
description: Host meeting in China.
default: false
option_in_meeting:
type: boolean
description: Host meeting in India.
default: false
option_audio:
type: string
description: Meeting audio options. Can be "both", "telephony", "voip".
default: both
option_enforce_login:
type: boolean
description: Only signed-in users can join this meeting.
default: false
option_enforce_login_domains:
type: string
description: >-
Only signed-in users with specified domains can join
meetings.
option_alternative_hosts:
type: string
description: Alternative hosts.
option_alternative_host_ids:
type: string
description: Alternative hosts IDs.
option_use_pmi:
type: boolean
description: Use Personal Meeting ID. Only for scheduled meetings.
default: false
option_auto_record_type:
type: string
description: >-
Automatically record type. Can be "local", "cloud" or
"none".
default: local
required: true
responses:
'200':
description: Success
content:
application/json:
example:
uuid: unique_id
id: '123456789'
start_url: https://zoom.us/s/123456789?zak=xxxxxx
join_url: https://zoom.us/j/123456789
created_at: '2012-11-25T12:00:00.000Z'
host_id: unique_id
topic: Topic for this meeting
type: 2
option_jbh: false
option_start_type: video
start_time: '2012-11-25T12:00:00.000Z'
duration: 30
timezone: America/Los_Angeles
password: '123'
h323_password: '123456'
option_host_video: false
option_participants_video: false
option_audio: both
option_enforce_login: false
'option_enforce_login_domains ': ''
option_alternative_hosts: ''
status: 0
/meeting/delete:
post:
tags:
- Meeting
description: |+
Delete a meeting on Zoom, return the deleted meeting ID.
operationId: meetingDelete
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- id
type: object
properties:
id:
type: string
description: Meeting ID.
host_id:
type: string
description: Meeting host user ID. Can be any user under this account.
occurrence_id:
type: string
description: Occurrence ID, could get this value from Meeting Get API.
required: true
responses:
'200':
description: Success
content:
application/json:
example:
id: '123456789'
deleted_at: '2012-11-25T12:00:00.000Z'
/meeting/end:
post:
tags:
- Meeting
description: |+
End a meeting on Zoom, return the deleted meeting ID.
operationId: meetingEnd
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- id
type: object
properties:
id:
type: string
description: Meeting ID.
host_id:
type: string
description: Meeting host user ID. Can be any user under this account.
required: true
responses:
'200':
description: Success
content:
application/json:
example:
id: '123456789'
ended_at: '2012-11-25T12:00:00.000Z'
/meeting/get:
post:
tags:
- Meeting
description: |+
Get a meeting on Zoom via meeting ID, return the meeting info.
operationId: meetingGet
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- id
type: object
properties:
id:
type: string
description: Meeting ID.
host_id:
type: string
description: Meeting host user ID. Can be any user under this account.
required: true
responses:
'200':
description: Success
content:
application/json:
example:
uuid: unique_id
id: '123456789'
host_id: unique_id
topic: Zoom Meeting
password: ''
h323_password: ''
status: 0
option_jbh: false
option_start_type: video
option_host_video: true
option_participants_video: true
option_cn_meeting: false
option_enforce_login: false
option_enforce_login_domains: ''
option_in_meeting: false
option_audio: both
option_alternative_hosts: ''
option_use_pmi: false
type: 8
start_time: ''
duration: 0
timezone: Asia/Hong_Kong
start_url: https://www.zoom.us/s/123456789?zak=xxxxxx
join_url: https://www.zoom.us/j/123456789
created_at: '2016-12-20T02:51:42.000Z'
occurrences:
- occurrence_id: '1483210260000'
start_time: '2017-01-01T02:51:00.000Z'
duration: 60
/meeting/list:
post:
tags:
- Meeting
description: |+
List all the scheduled meetings on Zoom.
operationId: meetingList
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
type: object
properties:
host_id:
type: string
description: Meeting host user ID. Can be any user under this account.
page_size:
type: string
description: >-
The amount of records returns within a single API call.
Defaults to 30. Max of 300 meetings.
default: '30'
page_number:
type: string
description: Current page number of returned records. Default to 1.
default: '1'
required: true
responses:
'200':
description: Success
content:
application/json:
example:
page_count: 5
total_records: 235
page_number: 1
page_size: 50
meetings:
- uuid: unique_id
id: '123456789'
start_url: https://zoom.us/s/123456789?zak=xxxxxx
join_url: https://zoom.us/j/123456789
created_at: '2012-11-25T12:00:00.000Z'
host_id: unique_id
topic: Topic for this meeting
type: 2
start_time: '2012-11-25T12:00:00.000Z'
duration: 30
timezone: America/Los_Angeles
password: '123'
h323_password: '123456'
option_jbh: false
option_start_type: video
option_host_video: false
option_participants_video: false
option_audio: both
option_enforce_login: false
'option_enforce_login_domains ': ''
option_alternative_hosts: ''
status: 0
/meeting/live:
post:
tags:
- Meeting
description: |+
Lists the live meetings on Zoom.
operationId: meetingLive
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- api_key
- api_secret
type: object
properties:
api_key:
type: string
description: Your API Key
api_secret:
type: string
description: Your API Secret
required: true
responses:
'200':
description: Success
content:
application/json:
example:
page_count: 5
total_records: 235
page_number: 1
page_size: 50
meetings:
- uuid: unique_id
id: '123456789'
start_url: https://zoom.us/s/123456789?zak=xxxxxx
join_url: https://zoom.us/j/123456789
created_at: '2012-11-25T12:00:00.000Z'
host_id: unique_id
topic: Topic for this meeting
type: 2
status: 0
start_time: '2012-11-25T12:00:00.000Z'
duration: 30
timezone: America/Los_Angeles
password: '123'
h323_password: '123456'
option_jbh: false
option_start_type: video
option_host_video: false
option_participants_video: false
option_audio: both
option_enforce_login: false
'option_enforce_login_domains ': ''
option_alternative_hosts: ''
/meeting/register:
post:
tags:
- Meeting
description: |+
Register for a meeting.
operationId: meetingRegister
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- email
- first_name
- id
- last_name
type: object
properties:
id:
type: string
description: Meeting ID.
email:
type: string
description: A valid email address.
first_name:
type: string
description: User’s first name.
last_name:
type: string
description: User’s last name.
address:
type: string
description: Address.
city:
type: string
description: City.
country:
type: string
description: >-
Country. For this parameter value please refer to the id
value in country list JSON file
zip:
type: string
description: Zip/Postal Code.
state:
type: string
description: State/Province.
phone:
type: string
description: Phone.
industry:
type: string
description: Industry.
org:
type: string
description: Organization.
job_title:
type: string
description: Job Title.
purchasing_time_frame:
type: string
description: >-
Purchasing Time Frame, should be "Within a month", "1-3
months", "4-6 months", "More than 6 months", "No timeframe".
role_in_purchase_process:
type: string
description: >-
Role in Purchase Process, should be "Decision Maker",
"Evaluator/Recommender", "Influencer", "Not involved".
no_of_employees:
type: string
description: >-
Number of Employees, should be "1-20", "21-50", "51-100",
"101-250", "251-500", "501-1,000", "1,001-5,000",
"5,001-10,000", "More than 10,000".
comments:
type: string
description: Questions & Comments.
custom_questions:
type: string
description: >-
Custom Questions, should be JSON format:
[{"title":"field_name1","value":"xxx"},{"title":"field_name2","value":"xxx"}].
language:
type: string
description: >-
Language setting of email. This value should be "en-US",
"en", "zh-CN", "zh", "en-ES", "es", "fr-FR" or "fr".
occurrence_ids:
type: string
description: Occurrence IDs, could get this value from Meeting Get API.
required: true
responses:
'200':
description: Success
content:
application/json:
example:
registrant_id: unique_id
id: '123456789'
topic: meeting registration
start_time: '2016-02-21T04:00:00.000Z'
join_url: >-
https://www.zoom.us/w/869275230?tk=2DsQiu6nZVsZVATrPLvXgqPvw8mmKyxgAGaDMizLv34.DQEAAAAAM9AWXhZ2Nm5vRjIyMlRoUzE3ZktWM3l4cHVRAA
/meeting/update:
post:
tags:
- Meeting
description: |+
Update meeting info on Zoom via meeting ID.
operationId: meetingUpdate
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- id
- type
type: object
properties:
id:
type: string
description: Meeting ID.
host_id:
type: string
description: >-
Meeting host user ID. Can be any user under this account.
Used to retrieve a meeting, cannot be updated.
type:
type: string
description: >-
Meeting type: 1 means instant meeting (Only used for host to
start it as soon as created). 2 means normal scheduled
meeting. 3 means a recurring meeting with no fixed time. 8
means a recurring meeting with fixed time.
default: '2'
topic:
type: string
description: Meeting topic. Max of 300 characters.
start_time:
type: string
description: >-
Meeting start time in ISO datetime format. For scheduled
meeting only. Should be UTC time, such as
2012-11-25T12:00:00Z.
duration:
type: string
description: Meeting duration (minutes). For scheduled meeting only.
timezone:
type: string
description: >-
Timezone to format start_time, like "America/Los_Angeles".
For scheduled meeting only. For this parameter value please
refer to the id value in timezone list JSON file.
password:
type: string
description: >-
Meeting password. Password may only contain the following
characters: [a-z A-Z 0-9 @ - _
default: ' 10 characters'
recurrence:
type: string
description: >-
Recurrence Meeting Settings. For recurring meeting with
fixed time only. See [Recurrence Object](#recurrence-object)
for more details.
option_registration:
type: boolean
description: Registration required.
default: false
registration_type:
type: string
description: >-
Registration type. 1 means Attendees register once and can
attend any of the occurrences, 2 means Attendees need to
register for each occurrence to attend, 3 means Attendees
register once and can choose one or more occurrences to
attend. For recurring meeting with fixed time only.
default: '1'
option_jbh:
type: boolean
description: >-
Join meeting before host start the meeting. Only for
scheduled or recurring meetings.
default: false
option_start_type:
type: string
description: >-
Meeting start type. Can be "video" or "screen_share".
(deprecated)
default: video
option_host_video:
type: boolean
description: Start video when host join meeting.
default: true
option_participants_video:
type: boolean
description: Start video when participants join meeting.
default: true
option_cn_meeting:
type: boolean
description: Host meeting in China.
default: false
option_in_meeting:
type: boolean
description: Host meeting in India.
default: false
option_audio:
type: string
description: Meeting audio options. Can be "both", "telephony", "voip".
default: both
option_enforce_login:
type: boolean
description: Only signed-in users can join this meeting.
default: false
option_enforce_login_domains:
type: string
description: >-
Only signed-in users with specified domains can join
meetings.
option_alternative_hosts:
type: string
description: Alternative hosts.
option_alternative_host_ids:
type: string
description: Alternative hosts IDs.
option_use_pmi:
type: boolean
description: Use Personal Meeting ID. Only for scheduled meetings.
default: false
option_auto_record_type:
type: string
description: >-
Automatically record type. Can be "local", "cloud" or
"none".
default: local
required: true
responses:
'200':
description: Success
content:
application/json:
example:
id: unique_id
updated_at: '2012-11-25T12:00:00.000Z'
components:
schemas: {}