Skip to content

Livestorm

Video engagement platform for webinars, virtual events, and online meetings with built-in analytics and integrations.

Capabilities

IntegrationAvailableNotes
APIEvents, Sessions, People, Recordings, Webhooks
MCP-Not available
CLIlivestorm.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+json

List events

bash
GET https://api.livestorm.co/v1/events?page[number]=1&page[size]=25

Headers:
  Authorization: {API_TOKEN}
  Accept: application/vnd.api+json

Create 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+json

Update 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+json

Create 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+json

Remove 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+json

List session questions

bash
GET https://api.livestorm.co/v1/sessions/{session_id}/questions

Headers:
  Authorization: {API_TOKEN}
  Accept: application/vnd.api+json

Get session recordings

bash
GET https://api.livestorm.co/v1/sessions/{session_id}/recordings

Headers:
  Authorization: {API_TOKEN}
  Accept: application/vnd.api+json

List all people

bash
GET https://api.livestorm.co/v1/people?page[number]=1&page[size]=25

Headers:
  Authorization: {API_TOKEN}
  Accept: application/vnd.api+json

Create 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, relationships structure
  • Pagination: page[number] and page[size] query parameters
  • Filtering: filter[field]=value query parameters
  • Events contain multiple Sessions; Sessions contain People
  • ISO 8601 timestamps throughout

Key Metrics

Event Metrics

  • title - Event title
  • slug - URL-friendly identifier
  • estimated_duration - Duration in minutes
  • registration_page_enabled - Registration page status
  • everyone_can_speak - Whether all attendees can speak

Session Metrics

  • status - Session status (upcoming, live, past)
  • estimated_started_at - Scheduled start time
  • started_at - Actual start time
  • ended_at - Actual end time
  • timezone - Session timezone
  • attendees_count - Number of attendees
  • registrants_count - Number of registrants

People Metrics

  • email - Contact email
  • first_name / last_name - Contact name
  • registrant_detail - Registration metadata
  • attendance_rate - Attendance percentage
  • attended_at - Join timestamp
  • left_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 slug
  • description - Event description
  • estimated_duration - Duration in minutes

Session Attributes

  • estimated_started_at - ISO 8601 start time
  • timezone - IANA timezone string

Registration Fields

  • email - Registrant email (required)
  • first_name - First name
  • last_name - Last name

Webhook Events

  • attendance - Triggered on session attendance
  • registration - Triggered on new registration
  • unregistration - 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

Released under the MIT License.