Castr Sub-Second Streams API

Ultra-low-latency (WebRTC) live streams.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/castr-live-sub-second-streams-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

castr-live-sub-second-streams-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Castr Analytics Sub-Second Streams API
  description: 'Castr is a live video streaming, multistreaming, and video-hosting (VOD) platform. This OpenAPI describes Castr''s documented, self-serve REST API at https://api.castr.com/v2 for managing live streams and their multistream platform destinations, sub-second (WebRTC) streams, video hosting folders and uploads, live-to-VOD recordings, activity logs/events and stream stats, and webhook endpoints. Requests are authenticated with an API token issued from the account settings API section and sent in an authorization header.


    Endpoint paths, methods, and resource groupings are taken from Castr''s published developer reference and its machine index (developers.castr.com, including llms.txt). The request/response schemas here are honestly modeled from the documentation rather than copied from a Castr-published OpenAPI file; verify property-level detail against the live reference.'
  version: '1.0'
  contact:
    name: Castr
    url: https://castr.com
  x-modeled: true
servers:
- url: https://api.castr.com/v2
  description: Castr production API
security:
- apiToken: []
tags:
- name: Sub-Second Streams
  description: Ultra-low-latency (WebRTC) live streams.
paths:
  /sub_second_streams:
    get:
      operationId: listSubSecondStreams
      tags:
      - Sub-Second Streams
      summary: List sub-second streams
      responses:
        '200':
          description: A list of sub-second streams.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/SubSecondStream'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createSubSecondStream
      tags:
      - Sub-Second Streams
      summary: Create a new sub-second stream
      description: Creates an ultra-low-latency (WebRTC) live stream.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubSecondStreamCreate'
      responses:
        '201':
          description: The created sub-second stream.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubSecondStream'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /sub_second_streams/{stream_id}:
    parameters:
    - $ref: '#/components/parameters/StreamId'
    get:
      operationId: getSubSecondStream
      tags:
      - Sub-Second Streams
      summary: Get a sub-second stream
      responses:
        '200':
          description: The requested sub-second stream.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubSecondStream'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateSubSecondStream
      tags:
      - Sub-Second Streams
      summary: Update a sub-second stream
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubSecondStreamCreate'
      responses:
        '200':
          description: The updated sub-second stream.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubSecondStream'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteSubSecondStream
      tags:
      - Sub-Second Streams
      summary: Delete a sub-second stream
      responses:
        '204':
          description: The sub-second stream was deleted.
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing or invalid API token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    SubSecondStreamCreate:
      type: object
      required:
      - name
      properties:
        name:
          type: string
        enabled:
          type: boolean
    SubSecondStream:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        enabled:
          type: boolean
        ingest:
          type: object
          properties:
            rtmp_url:
              type: string
            webrtc_url:
              type: string
        playback:
          type: object
          properties:
            webrtc_url:
              type: string
            embed_url:
              type: string
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
  parameters:
    StreamId:
      name: stream_id
      in: path
      required: true
      description: The unique identifier of the stream.
      schema:
        type: string
  securitySchemes:
    apiToken:
      type: apiKey
      in: header
      name: authorization
      description: API token issued from the Castr account settings API section (https://castr.com/app/manage/api), sent in the authorization header.