In the past two years, video conferencing platforms such as Zoom, Google Meet, and Microsoft Teams have become a staple of our everyday lives in both professional and personal capacities. Many tools have adapted to meet their users' needs by integrating with these platforms.
Despite Google Meet being the second most popular video call platform worldwide with 31.4% market share, it’s surprising how limited the APIs are. If you’ve ever found yourself searching “How to create a Google Meet link via API?” or even, “Does Google Meet have an API?”, this article is for you.
In this article, we’ll walk you through how to achieve the following integrations with Google Meet:
- How to programmatically create a Google Meet
- How to receive Google Meet webhook notifications
- How to retrieve the emails of anyone attending a Google Meet
- How to get Google Meet call recordings
- How to receive video/audio from Google Meet in real-time
How to programmatically create a Google Meet
Although there is no publicly available API to do this today, there are a few workarounds:
- You can generate a meeting that always points to the same URL by constructing a link in the format https://meet.google.com/lookup/[custom-meeting-name], where [custom-meeting-name] is replaced with your desired meeting name. The caveat is that you, or your end user needs to be on a paid Google Workspace (a free Gmail email account won’t have this capability).
- Using the Google Calendar API, you can create a new meeting that has a Google Meet attached. An important caveat to bear in mind: this new Google Meet session will be linked to the calendar associated with your API authentication - so if you are creating this meeting on behalf of your end user, you should have your user grant Oauth permission onto their account, so the calendar event and Google Meet session are accessible to them.
- Google is also releasing new APIs that allow developers to initiate meetings within their apps. However, it is unknown when these APIs will be available for general availability.
How to receive Google Meet webhook notifications
If you are looking to receive Google Meet webhooks for when a meeting has started/stopped, user joined/left, screenshare start/stop and more – unfortunately, there are no such APIs today. However, here are some workarounds:
- If you are looking to know when participants have joined and left a meeting, you can enable Google Meet attendance reports and receive an email with a Google Sheet that outlines who joined the meeting and the timestamps of when they joined and left.
- Another method is to use the Google Workspace Admin SDK Reports API to build attendance reports via API.
- Finally, you could use Recall.ai to build a meeting bot that joins a Google Meet. The meeting bot is then able to receive events of when a user joined/left, screenshare starts/stops and more.
How to retrieve the emails of anyone attending a Google Meet
Again, there are no APIs that allow you to do this directly. You could use the Google Meet Attendance Reports feature or Admin SDK reports API mentioned in the previous section to retrieve these emails. You could also use the Google Calendar API to retrieve the participant emails addresses that are visible on the invite.
How to get Google Meet call recordings
If you are on the “Business Standard” tier or above, you will be able to record on Google Meet. These recordings get stored in your Google Drive, under a folder called “Recordings”. By using the Google Drive API, you will be able to access these Google Meet recordings programmatically. Unfortunately, the Google Drive readonly API is a restricted scope and requires you to go through a restricted scope verification process, which costs between $15k - $75k for the security review and a minimum of 2 months to complete. This may not be ideal depending on your budget and timelines.
How to receive video/audio from Google Meet in real-time
Once again, there are no official APIs to retrieve the real-time video or audio streams from Google Meet, but there is a workaround – using a meeting bot that joins the call as a participant.
A meeting bot not only allows you to work with the real-time video and audio streams, it also can record the meeting so you don’t need to go through the costly process to retrieve the recording from Google Drive outlined above. Additionally, the meeting bot is able to retrieve participant names and deliver webhook events when participants join/leave, screenshare starts/stops, and more.
To create a meeting bot, here is what you need to do:
- Spin up a server. We recommend AWS, GCP, or Digital Ocean.
- Launch an instance of the Google Meet client in a web browser.
- Once you have the Google Meet client launched, use the WebRTC protocol to extract the video and audio streams.
- This will return the video in I420 raw video frames and audio in F32LE raw audio data, so you’ll need to encode the audio and video yourself afterwards.
- 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.
If you don't want to build your own meeting bot, you can use Recall.ai. It’s a simple 3rd party API that lets you launch meeting bots without you needing to spend months to build, scale and maintain these bots.
Google Meet still has a lot of catching up to do in terms of developer experience and capabilities. In the meantime, we will do the best we can with the tools available.