The auto-embed API

One REST API to embed any title, fetch metadata and stream your own uploads. Saves where viewers left off, caches fast, and auto-updates sources.

v2 stable 60 req/min free tier HTTPS only

Introduction

The CloudNEXTRA API lets you embed players, pull rich metadata and serve your own uploads from anywhere. Responses are JSON; embeds are plain <iframe> URLs — no SDK required. The auto-embed engine resolves the best available source, caches it, and keeps it fresh automatically.

GEThttps://api.cloudnextra.one/v2/embed/{id}

Authentication

Authenticate every request with your API key in the Authorization header. Create and rotate keys from your dashboard.

http
Authorization: Bearer cnx_live_8fK2pQ7sR1vT4wX9

Keep keys secret. Never expose a cnx_live_ key in client-side code — use cnx_embed_ public keys for browser embeds.

Base URL

https://api.cloudnextra.one/v2

All endpoints are relative to this base. The edge CDN routes you to the nearest of 60+ locations automatically.

Embed a title

Return a ready-to-play player URL for any catalog ID or your own upload ID. Drop it straight into an iframe.

GET/embed/{id}
bash
curl https://api.cloudnextra.one/v2/embed/8fK2pQ \
  -H "Authorization: Bearer cnx_live_8fK2pQ7sR1vT4wX9"
javascript
const res = await fetch("https://api.cloudnextra.one/v2/embed/8fK2pQ", {
  headers: { Authorization: "Bearer cnx_live_8fK2pQ7sR1vT4wX9" }
});
const { embed_url } = await res.json();
html
<iframe src="https://cdn.cloudnextra.one/embed/8fK2pQ"
  allow="autoplay; fullscreen" allowfullscreen></iframe>

Response

200 · application/json
{
  "id": "8fK2pQ",
  "embed_url": "https://cdn.cloudnextra.one/embed/8fK2pQ",
  "status": "ready",
  "qualities": [360, 720, 1080],
  "subtitles": ["en", "es", "fr"],
  "resume": true
}

Get metadata

Fetch title, duration, poster, available qualities and view stats for any ID.

GET/title/{id}
200 · application/json
{
  "id": "8fK2pQ",
  "title": "Summer Trip — Final Cut",
  "duration": 742,
  "poster": "https://cdn.cloudnextra.one/thumb/8fK2pQ.jpg",
  "size_mb": 248,
  "views": 48213,
  "streamable": true
}

Your uploads

List your own files, check conversion status and pull per-video earnings.

GET/me/uploads
POST/me/uploads
FieldTypeDescription
filemultipartThe video file (≤ 10 GB; streamable ≤ 1 GB or auto-converted).
titlestringDisplay title for the player and metadata.
streamablebooleanConvert to adaptive HLS so it plays in-browser.

Errors

Standard HTTP codes. Error bodies include a machine-readable code and human message.

StatusCodeMeaning
401unauthorizedMissing or invalid API key.
404not_foundNo title or upload with that ID.
422unprocessableFile type not supported or too large.
429rate_limitedToo many requests — slow down.

Rate limits

PlanRequests / minEmbedsStorage
Free60Unlimited50 GB
Creator300Unlimited1 TB
Studio1,200UnlimitedCustom

Build something great

Grab a free API key from your dashboard and ship your first embed in minutes.