Create and manage meeting bots
Skribby REST API (v1)
API-first platform for capturing, transcribing, and processing online meetings. Deploy meeting bots into Zoom, Microsoft Teams, and Google Meet to receive real-time or post-call transcription, audio, and structured data.
- Sign up for a free account
- Generate API key from your dashboard
- Create your first bot:
curl -X POST 'https://platform.skribby.io/api/v1/bot' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"transcription_model": "whisper",
"meeting_url": "https://meet.google.com/abc-def-ghi",
"service": "gmeet",
"bot_name": "My First Bot"
}'
https://platform.skribby.io/api/v1/
Request
Upload and transcribe a recording file or re-transcribe an existing meeting bot recording.
You have three options:
- Upload a file directly - Provide
recording_file
andtranscription_model
- Provide a URL - Provide
recording_url
andtranscription_model
- Re-transcribe from meeting bot - Provide
meeting_bot_id
(optionally override transcription parameters)
When using meeting_bot_id
, the recording and default transcription settings will be copied from the specified meeting bot. You can override transcription_model
, lang
, profanity_filter
, and custom_vocabulary
parameters if needed.
- multipart/form-data
- application/json
The transcription model to use (realtime models not supported for uploads)
Audio or video file to be transcribed. Supported formats: MP3, WAV, MP4, WEBM, M4A, FLAC. Maximum file size: 1GB. Required if meeting_bot_id
is not provided.
ID of an existing meeting bot to re-transcribe its recording. When provided, uses the bot's recording and transcription settings as defaults. Required if recording_file
is not provided.
Language of the recording content, which will be provided to the transcription model.
Refer to the Bot Language page for more information.
Recordings are stored for 1 day by default. This extends storage to 1 year.
Refer to your billing page for cost implications and availability.
Provide certain words or phrases to improve transcription. Only supported on certain models, refer to your billing page to view availability per model.
- Production server
https://platform.skribby.io/api/v1/recording
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://platform.skribby.io/api/v1/recording \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: multipart/form-data' \
-F transcription_model=whisper \
-F recording_file=string \
-F meeting_bot_id=f06d30cc-f650-44cd-bc33-7fe1bdf5ae97 \
-F lang=en \
-F webhook_url=http://example.com \
-F store_recording_for_1_year=false \
-F profanity_filter=false \
-F custom_vocabulary=string \
-F transcription_credentials=faa40ca1-de69-41c5-a298-e0416e869d67
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "status": "transcribing", "webhook_url": "http://example.com", "recording_url": "http://example.com", "recording_available_until": "2019-08-24T14:15:22Z", "lang": "string", "detected_lang": "string", "transcript": [ { … } ], "transcription_model": "string", "events": [ { … } ], "profanity_filter": true, "custom_vocabulary": [ "string" ], "created_at": "2019-08-24T14:15:22Z" }
- Production server
https://platform.skribby.io/api/v1/recording/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://platform.skribby.io/api/v1/recording/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "status": "transcribing", "webhook_url": "http://example.com", "recording_url": "http://example.com", "recording_available_until": "2019-08-24T14:15:22Z", "lang": "string", "detected_lang": "string", "transcript": [ { … } ], "transcription_model": "string", "events": [ { … } ], "profanity_filter": true, "custom_vocabulary": [ "string" ], "created_at": "2019-08-24T14:15:22Z" }
- Production server
https://platform.skribby.io/api/v1/recording/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
'https://platform.skribby.io/api/v1/recording/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
{ "message": "Recording deleted successfully." }