Retrives insights for a meeting
curl --request GET \
--url https://api.meetgeek.ai/v1/meetings/{meetingId}/insights \
--header 'Authorization: <api-key>'import requests
url = "https://api.meetgeek.ai/v1/meetings/{meetingId}/insights"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.meetgeek.ai/v1/meetings/{meetingId}/insights', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.meetgeek.ai/v1/meetings/{meetingId}/insights",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.meetgeek.ai/v1/meetings/{meetingId}/insights"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.meetgeek.ai/v1/meetings/{meetingId}/insights")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetgeek.ai/v1/meetings/{meetingId}/insights")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"kpi_meeting": [
{
"meeting_id": "0b9d3260-67fc-4353-a74b-ef80152f2942",
"title": "Engagement",
"score": 4.5,
"interpretation": "All participants actively contributed to the discussion, leading to effective interaction and good collaboration.",
"details": [
{
"name": "John Doe",
"talk_time": 20,
"words_min": 120,
"longest_talk": 5
}
],
"type": "custom",
"created_at": "2025-10-13T07:47:51+00:00",
"updated_at": "2025-10-13T07:47:51+00:00"
}
],
"kpi_popular_themes": {
"id": 2034148,
"meeting_id": "0b9d3260-67fc-4353-a74b-ef80152f2942",
"popular_list": [
{
"id": 0,
"name": "Technical issues",
"times": 5
}
],
"created_at": "2025-10-13T07:47:51+00:00",
"updated_at": "2025-10-13T07:47:51+00:00"
},
"kpi_improvement": {
"id": 2034326,
"meeting_id": "0b9d3260-67fc-4353-a74b-ef80152f2942",
"keep_doing": [
{
"id": 0,
"text": "Participants were actively involved in the discussion, which contributed to a collaborative atmosphere.",
"title": "Active participant involvement"
}
],
"top_suggestions": [
{
"id": 0,
"text": "The allocated time per topic should be better respected to avoid overruns.",
"title": "Better time management"
}
],
"created_at": "2025-10-13T07:47:51+00:00",
"updated_at": "2025-10-13T07:47:51+00:00"
},
"old_view": false
}{
"message": "Meeting insights are unavailable for meetings created before December 2024. Please re-run the meeting analysis to generate insights"
}{
"message": "bad request",
"reason": "missing api key"
}{
"message": "unauthorized"
}{
"message": "you do not have access to view this meeting"
}{
"message": "meeting not found"
}{
"message": "target resource is no longer available"
}{
"message": "quota limit reached",
"unit": "day"
}{
"message": "internal server error"
}API Reference
Insights
Get all insights by meeting id
GET
/
v1
/
meetings
/
{meetingId}
/
insights
Retrives insights for a meeting
curl --request GET \
--url https://api.meetgeek.ai/v1/meetings/{meetingId}/insights \
--header 'Authorization: <api-key>'import requests
url = "https://api.meetgeek.ai/v1/meetings/{meetingId}/insights"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.meetgeek.ai/v1/meetings/{meetingId}/insights', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.meetgeek.ai/v1/meetings/{meetingId}/insights",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.meetgeek.ai/v1/meetings/{meetingId}/insights"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.meetgeek.ai/v1/meetings/{meetingId}/insights")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetgeek.ai/v1/meetings/{meetingId}/insights")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"kpi_meeting": [
{
"meeting_id": "0b9d3260-67fc-4353-a74b-ef80152f2942",
"title": "Engagement",
"score": 4.5,
"interpretation": "All participants actively contributed to the discussion, leading to effective interaction and good collaboration.",
"details": [
{
"name": "John Doe",
"talk_time": 20,
"words_min": 120,
"longest_talk": 5
}
],
"type": "custom",
"created_at": "2025-10-13T07:47:51+00:00",
"updated_at": "2025-10-13T07:47:51+00:00"
}
],
"kpi_popular_themes": {
"id": 2034148,
"meeting_id": "0b9d3260-67fc-4353-a74b-ef80152f2942",
"popular_list": [
{
"id": 0,
"name": "Technical issues",
"times": 5
}
],
"created_at": "2025-10-13T07:47:51+00:00",
"updated_at": "2025-10-13T07:47:51+00:00"
},
"kpi_improvement": {
"id": 2034326,
"meeting_id": "0b9d3260-67fc-4353-a74b-ef80152f2942",
"keep_doing": [
{
"id": 0,
"text": "Participants were actively involved in the discussion, which contributed to a collaborative atmosphere.",
"title": "Active participant involvement"
}
],
"top_suggestions": [
{
"id": 0,
"text": "The allocated time per topic should be better respected to avoid overruns.",
"title": "Better time management"
}
],
"created_at": "2025-10-13T07:47:51+00:00",
"updated_at": "2025-10-13T07:47:51+00:00"
},
"old_view": false
}{
"message": "Meeting insights are unavailable for meetings created before December 2024. Please re-run the meeting analysis to generate insights"
}{
"message": "bad request",
"reason": "missing api key"
}{
"message": "unauthorized"
}{
"message": "you do not have access to view this meeting"
}{
"message": "meeting not found"
}{
"message": "target resource is no longer available"
}{
"message": "quota limit reached",
"unit": "day"
}{
"message": "internal server error"
}Authorizations
Type "Bearer" followed by a space and a token
Path Parameters
Meeting ID
Response
OK
Specific metrics evaluated for the meeting
Show child attributes
Show child attributes
The most frequently discussed topics during the meeting
Show child attributes
Show child attributes
Structured feedback aimed at improving future meetings
Show child attributes
Show child attributes
Example:
false
⌘I