Automate your video library from your own server: upload and manage videos, sync your BYOA Cloudflare Stream account, and read analytics — all with a long-lived, scoped API key. No more scraping a browser token every day.
The Markdown file (also at /llms.txt) is a single self-contained spec you can hand to an AI coding agent so it knows how to call this API.
Every request sends an API key as a Bearer token:
Authorization: Bearer rtv_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Create and revoke keys on the Developer page in your portal. The full key is shown once at creation — store it securely; it can't be retrieved later. Base URL: https://reedtv.com
| Scope | Grants |
|---|---|
videos:read | List/read videos, storage usage, captions |
videos:write | Create/update/delete videos, copy to shared, bulk ops, manage captions |
vendors:read | List BYOA accounts and their Cloudflare Stream videos |
vendors:write | Connect/verify/sync/delete BYOA accounts |
analytics:read | Read analytics overview and per-video analytics |
List your videos. Query: page, limit, status, search, vendor (shared|byoa), sort, order.
Get one video with playback URLs, embed URL and ready-to-paste embed code.
Storage usage (minutes), plan, overage, and spending cap.
Create a video record and get a one-time upload URL. The file uploads directly to Cloudflare Stream at the returned URL. Then poll the video until status is ready.
Update title, description, OG metadata, visibility, or embed settings.
Delete a video. ?keepRemote=true removes from ReedTV only (keeps it in your BYOA account).
Copy a BYOA video into ReedTV shared storage.
Body: { "publicIds": [...] } (max 20).
Body: { "publicIds": [...] } (max 50). ?keepRemote=true supported.
List captions. POST to generate/upload, DELETE to remove (videos:write).
List your connected Cloudflare Stream accounts.
List videos in your CF Stream account, flagged with whether each is already imported.
Import remote videos into ReedTV. Body: { "vendorVideoIds": [...] }.
Re-verify the account's stored Cloudflare credentials.
Disconnect a BYOA account from ReedTV (your Cloudflare Stream videos are not deleted).
Account-wide analytics.
Per-video views, countries, and referrers.
curl -s https://reedtv.com/api/vendor-accounts \
-H "Authorization: Bearer $REEDTV_API_KEY"
# import specific Cloudflare Stream videos into ReedTV
curl -X POST https://reedtv.com/api/vendor-accounts/5/sync \
-H "Authorization: Bearer $REEDTV_API_KEY" \
-H "Content-Type: application/json" \
-d '{"vendorVideoIds":["a1b2c3d4e5f6"]}'
# read back the ReedTV watch URLs to publish wherever you post
curl -s "https://reedtv.com/api/videos?vendor=byoa&limit=100" \
-H "Authorization: Bearer $REEDTV_API_KEY"
watchUrl is an embed-compatible link you can drop into a post on any platform that supports rich embeds — the watch URL is what makes the player render.