Livestorm
Video engagement platform for webinars, virtual events, and online meetings with built-in analytics and integrations.
Capabilities
| Integration | Available | Notes |
|---|---|---|
| API | ✓ | Events, Sessions, People, Recordings, Webhooks |
| MCP | - | Not available |
| CLI | ✓ | livestorm.js |
| SDK | - | REST API with JSON:API format |
Authentication
- Type: API Token
- Header:
Authorization: {API_TOKEN}(no prefix) - Content-Type:
application/vnd.api+json(JSON:API) - Scopes: Identity, Events, Admin, Webhooks
- Get token: Account Settings > Integrations > Public API
- Docs: https://developers.livestorm.co/
Common Agent Operations
Ping (test authentication)
bash
GET https://api.livestorm.co/v1/ping
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+jsonList events
bash
GET https://api.livestorm.co/v1/events?page[number]=1&page[size]=25
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+jsonCreate an event
bash
POST https://api.livestorm.co/v1/events
Headers:
Authorization: {API_TOKEN}
Content-Type: application/vnd.api+json
{
"data": {
"type": "events",
"attributes": {
"title": "Product Demo Webinar",
"slug": "product-demo-webinar",
"estimated_duration": 60
}
}
}Get event details
bash
GET https://api.livestorm.co/v1/events/{event_id}
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+jsonUpdate an event
bash
PATCH https://api.livestorm.co/v1/events/{event_id}
Headers:
Authorization: {API_TOKEN}
Content-Type: application/vnd.api+json
{
"data": {
"type": "events",
"id": "{event_id}",
"attributes": {
"title": "Updated Webinar Title"
}
}
}List sessions
bash
GET https://api.livestorm.co/v1/sessions?page[number]=1&page[size]=25
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+jsonCreate a session for an event
bash
POST https://api.livestorm.co/v1/events/{event_id}/sessions
Headers:
Authorization: {API_TOKEN}
Content-Type: application/vnd.api+json
{
"data": {
"type": "sessions",
"attributes": {
"estimated_started_at": "2025-06-15T14:00:00.000Z",
"timezone": "America/New_York"
}
}
}Register someone for a session
bash
POST https://api.livestorm.co/v1/sessions/{session_id}/people
Headers:
Authorization: {API_TOKEN}
Content-Type: application/vnd.api+json
{
"data": {
"type": "people",
"attributes": {
"fields": {
"email": "attendee@example.com",
"first_name": "Jane",
"last_name": "Doe"
}
}
}
}List session participants
bash
GET https://api.livestorm.co/v1/sessions/{session_id}/people?page[number]=1&page[size]=25
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+jsonRemove a registrant from session
bash
DELETE https://api.livestorm.co/v1/sessions/{session_id}/people?filter[email]=attendee@example.com
Headers:
Authorization: {API_TOKEN}List session chat messages
bash
GET https://api.livestorm.co/v1/sessions/{session_id}/chat-messages
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+jsonList session questions
bash
GET https://api.livestorm.co/v1/sessions/{session_id}/questions
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+jsonGet session recordings
bash
GET https://api.livestorm.co/v1/sessions/{session_id}/recordings
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+jsonList all people
bash
GET https://api.livestorm.co/v1/people?page[number]=1&page[size]=25
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+jsonCreate a webhook
bash
POST https://api.livestorm.co/v1/webhooks
Headers:
Authorization: {API_TOKEN}
Content-Type: application/vnd.api+json
{
"data": {
"type": "webhooks",
"attributes": {
"target_url": "https://example.com/webhook",
"event_name": "attendance"
}
}
}API Pattern
Livestorm follows the JSON:API specification:
- All responses use
data,attributes,relationshipsstructure - Pagination:
page[number]andpage[size]query parameters - Filtering:
filter[field]=valuequery parameters - Events contain multiple Sessions; Sessions contain People
- ISO 8601 timestamps throughout
Key Metrics
Event Metrics
title- Event titleslug- URL-friendly identifierestimated_duration- Duration in minutesregistration_page_enabled- Registration page statuseveryone_can_speak- Whether all attendees can speak
Session Metrics
status- Session status (upcoming, live, past)estimated_started_at- Scheduled start timestarted_at- Actual start timeended_at- Actual end timetimezone- Session timezoneattendees_count- Number of attendeesregistrants_count- Number of registrants
People Metrics
email- Contact emailfirst_name/last_name- Contact nameregistrant_detail- Registration metadataattendance_rate- Attendance percentageattended_at- Join timestampleft_at- Leave timestamp
Parameters
Pagination
page[number]- Page number (default: 1)page[size]- Items per page (default: 25)
Event Attributes
title- Event title (required for create)slug- URL slugdescription- Event descriptionestimated_duration- Duration in minutes
Session Attributes
estimated_started_at- ISO 8601 start timetimezone- IANA timezone string
Registration Fields
email- Registrant email (required)first_name- First namelast_name- Last name
Webhook Events
attendance- Triggered on session attendanceregistration- Triggered on new registrationunregistration- Triggered on unregistration
When to Use
- Hosting product demos and marketing webinars
- Automated webinar registration and attendee management
- Tracking webinar engagement and attendance rates
- Retrieving session recordings for content repurposing
- Building custom registration pages with API-driven registration
- Syncing webinar data with CRM and marketing automation
- Monitoring session Q&A and chat for follow-up
Rate Limits
- 10,000 API calls per 30-day period (organization-wide)
- Rate limits shared across all API tokens in the organization
- Plan accordingly for high-volume operations
- Use webhooks instead of polling to conserve quota
Relevant Skills
- webinar-marketing
- event-marketing
- lead-generation
- content-strategy
- lifecycle-marketing
- customer-engagement