Castr

Castr is a live video streaming and multistreaming platform with video hosting (VOD), that lets you ingest a single RTMP/SRT source and restream it to multiple destinations, record and clip live streams, host and deliver on-demand video, run ultra-low-latency sub-second (WebRTC) streams, and embed a player. Castr exposes a documented, self-serve REST API at https://api.castr.com/v2 for managing live streams and their platform destinations, sub-second streams, video hosting folders and uploads, live-to-VOD recordings, activity/analytics logs and events, and webhook endpoints. Requests are authenticated with an API token issued from the account settings and sent in an authorization header.

5 APIs 0 Features
Live StreamingMultistreamingVideo HostingVODVideoRestreamingSub-Second StreamingWebRTCAnalyticsWebhooks

APIs

Castr Live Streams API

Create, list, get, update, and delete live streams, retrieve stream stats and the live EPG, and manage the multistream platform destinations (YouTube, Facebook, custom RTMP, etc...

Castr Sub-Second Streams API

Create, list, get, update, and delete sub-second (ultra-low-latency, WebRTC-based) streams for interactive and real-time use cases where the standard HLS live stream latency is ...

Castr Video Hosting and VOD API

Manage video hosting folders and their contents, create direct upload URLs for on-demand videos, retrieve temporary live-stream recordings, and convert live recordings into perm...

Castr Analytics and Activity API

Retrieve activity logs and activity events for a given live stream or video, and pull per-stream stats (online status, duration, bitrate, codec, viewers) for real-time monitorin...

Castr Webhooks API

Register, list, update, and delete webhook endpoints so Castr can push stream and video lifecycle events (online/offline, recording ready, upload complete) to your own systems f...

Collections

Castr API

OPEN

Pricing Plans

Castr Live Plans Pricing

6 plans

PLANS

Rate Limits

Castr Live Rate Limits

6 limits

RATE LIMITS

FinOps

Resources

🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
🔗
Website
Website
🔗
LinkedIn
LinkedIn
🔗
Documentation
Documentation
🔗
APIReference
APIReference
📝
SignUp
SignUp
💰
Pricing
Pricing
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
📰
Blog
Blog

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Castr API
  version: '1.0'
  description: Documented, self-serve REST API for Castr live streaming, sub-second streams, video hosting/VOD, analytics,
    and webhooks. Base https://api.castr.com/v2. Token auth via the authorization header. Request/response bodies are honestly
    modeled from the published reference.
request:
  auth:
    type: apikey
    apikey:
      key: authorization
      value: '{{apiToken}}'
      in: header
  baseUrl: https://api.castr.com/v2
items:
- info:
    name: Live Streams
    type: folder
  items:
  - info:
      name: List live streams
      type: http
    http:
      method: GET
      url: https://api.castr.com/v2/live_streams
    docs: Lists the live streams in your account.
  - info:
      name: Create a new live stream
      type: http
    http:
      method: POST
      url: https://api.castr.com/v2/live_streams
      body:
        type: json
        data: '{"name":"My Stream","enabled":true}'
    docs: Creates a live stream that ingests RTMP/SRT and can multistream to destinations.
  - info:
      name: Get a live stream
      type: http
    http:
      method: GET
      url: https://api.castr.com/v2/live_streams/:stream_id
    docs: Retrieves a single live stream.
  - info:
      name: Update a live stream
      type: http
    http:
      method: PATCH
      url: https://api.castr.com/v2/live_streams/:stream_id
      body:
        type: json
        data: '{}'
    docs: Updates a live stream.
  - info:
      name: Delete a live stream
      type: http
    http:
      method: DELETE
      url: https://api.castr.com/v2/live_streams/:stream_id
    docs: Deletes a live stream.
  - info:
      name: Get stream stats
      type: http
    http:
      method: GET
      url: https://api.castr.com/v2/live_streams/:stream_id/stats
    docs: Returns online status, duration, bitrate, codec, resolution, and viewers.
  - info:
      name: Get live EPG
      type: http
    http:
      method: GET
      url: https://api.castr.com/v2/live_streams/:stream_id/epg
    docs: Returns the electronic program guide for a stream.
  - info:
      name: Add platform destination
      type: http
    http:
      method: POST
      url: https://api.castr.com/v2/live_streams/:stream_id/platforms
      body:
        type: json
        data: '{"type":"custom_rtmp"}'
    docs: Adds a multistream destination.
  - info:
      name: Update platform destination
      type: http
    http:
      method: PATCH
      url: https://api.castr.com/v2/live_streams/:stream_id/platforms/:platform_id
      body:
        type: json
        data: '{}'
    docs: Updates a multistream destination.
  - info:
      name: Delete platform destination
      type: http
    http:
      method: DELETE
      url: https://api.castr.com/v2/live_streams/:stream_id/platforms/:platform_id
    docs: Deletes a multistream destination.
- info:
    name: Sub-Second Streams
    type: folder
  items:
  - info:
      name: List sub-second streams
      type: http
    http:
      method: GET
      url: https://api.castr.com/v2/sub_second_streams
    docs: Lists ultra-low-latency (WebRTC) streams.
  - info:
      name: Create a sub-second stream
      type: http
    http:
      method: POST
      url: https://api.castr.com/v2/sub_second_streams
      body:
        type: json
        data: '{"name":"Low latency"}'
    docs: Creates an ultra-low-latency stream.
  - info:
      name: Get a sub-second stream
      type: http
    http:
      method: GET
      url: https://api.castr.com/v2/sub_second_streams/:stream_id
    docs: Retrieves a sub-second stream.
  - info:
      name: Update a sub-second stream
      type: http
    http:
      method: PATCH
      url: https://api.castr.com/v2/sub_second_streams/:stream_id
      body:
        type: json
        data: '{}'
    docs: Updates a sub-second stream.
  - info:
      name: Delete a sub-second stream
      type: http
    http:
      method: DELETE
      url: https://api.castr.com/v2/sub_second_streams/:stream_id
    docs: Deletes a sub-second stream.
- info:
    name: Video Hosting and VOD
    type: folder
  items:
  - info:
      name: List folders
      type: http
    http:
      method: GET
      url: https://api.castr.com/v2/videos
    docs: Lists video hosting folders.
  - info:
      name: Create a folder
      type: http
    http:
      method: POST
      url: https://api.castr.com/v2/videos
      body:
        type: json
        data: '{"name":"My Folder"}'
    docs: Creates a video hosting folder.
  - info:
      name: Update a folder
      type: http
    http:
      method: PATCH
      url: https://api.castr.com/v2/videos/:folder_id
      body:
        type: json
        data: '{}'
    docs: Updates a folder.
  - info:
      name: Delete a folder
      type: http
    http:
      method: DELETE
      url: https://api.castr.com/v2/videos/:folder_id
    docs: Deletes a folder.
  - info:
      name: List contents in folder
      type: http
    http:
      method: GET
      url: https://api.castr.com/v2/videos/:folder_id/contents
    docs: Lists videos in a folder.
  - info:
      name: Delete content in folder
      type: http
    http:
      method: DELETE
      url: https://api.castr.com/v2/videos/:folder_id/contents/:content_id
    docs: Deletes a video in a folder.
  - info:
      name: Create direct upload URL
      type: http
    http:
      method: POST
      url: https://api.castr.com/v2/videos/:folder_id/uploads
      body:
        type: json
        data: '{}'
    docs: Creates a direct upload URL for a VOD video.
  - info:
      name: Get temporary recordings
      type: http
    http:
      method: GET
      url: https://api.castr.com/v2/live_streams/:stream_id/temporary_recordings
    docs: Lists temporary cloud recordings of a stream.
  - info:
      name: Convert live to VOD
      type: http
    http:
      method: POST
      url: https://api.castr.com/v2/live_streams/:stream_id/temporary_recordings/:recording_id
    docs: Converts a temporary recording to a permanent VOD asset.
  - info:
      name: Get live-to-VOD recordings
      type: http
    http:
      method: GET
      url: https://api.castr.com/v2/live_streams/:stream_id/recordings
    docs: Lists permanent VOD recordings from a stream.
- info:
    name: Analytics and Activity
    type: folder
  items:
  - info:
      name: Get stream activity logs
      type: http
    http:
      method: GET
      url: https://api.castr.com/v2/activity_logs/stream/:stream_id
    docs: Retrieves activity logs for a stream.
  - info:
      name: Get stream activity events
      type: http
    http:
      method: GET
      url: https://api.castr.com/v2/activity_events/stream/:stream_id
    docs: Retrieves activity events for a stream.
- info:
    name: Webhooks
    type: folder
  items:
  - info:
      name: Get webhook endpoints
      type: http
    http:
      method: GET
      url: https://api.castr.com/v2/webhook_endpoints
    docs: Lists webhook endpoints.
  - info:
      name: Create webhook endpoint
      type: http
    http:
      method: POST
      url: https://api.castr.com/v2/webhook_endpoints
      body:
        type: json
        data: '{"url":"https://example.com/hook"}'
    docs: Creates a webhook endpoint.
  - info:
      name: Update webhook endpoint
      type: http
    http:
      method: PATCH
      url: https://api.castr.com/v2/webhook_endpoints/:webhook_id
      body:
        type: json
        data: '{}'
    docs: Updates a webhook endpoint.
  - info:
      name: Delete webhook endpoint
      type: http
    http:
      method: DELETE
      url: https://api.castr.com/v2/webhook_endpoints/:webhook_id
    docs: Deletes a webhook endpoint.