Official live news channels (TRIPWIRE)
Use this when you need links to official live news video (YouTube embed URL, broadcaster's official page) for a country or for international wires, as curated for the TRIPWIRE map.
What it is
The TRIPWIRE curated list of official broadcaster live news channels, 2-4 per covered country, balanced mainstream/independent and (US) left/center/right: broadcaster name, ISO country (INTL for pan-national channels, with home_country), type, state_media flag (state broadcasters such as CGTN, TRT, Al Qahera), editorial lean where obvious, the official page and live page, the official YouTube channel id, and an ordered list of youtube-nocookie embed candidates (resolved live video id when a resolver key exists, then pinned 24/7 video ids that passed the daily oEmbed audit, then the channel live_stream embed). stream_status summarises the plan; audit carries each pin's oEmbed result (ok / embed_disabled / gone / error) and time. Players should try embed_candidates in order and fall back to live_url / youtube_live_url. Links only: cev-os never hosts, proxies or transcribes video.
Endpoints
- REST:
GET /v1/news-videoonhttps://api.cev-os.com - Legacy host (same service):
GET /v1/news-videoonhttps://cev-os.com - MCP tool:
get_news_videoonhttps://mcp.cev-os.com/mcp
Parameters
| Name | Type | Description | Constraints |
|---|---|---|---|
country | string | ISO 3166-1 alpha-2 country code, or INTL for pan-national channels. | example GB; pattern ^[A-Za-z]{2,4}$ |
embed_only | boolean | Only channels with at least one embed candidate (default false). | default false |
Example request
No account and no key. Query values below are the examples or defaults from the registry. An optional free key (header x-api-key) raises the limits; create one at https://cev-os.com/#api_keys after signing in with a verified email (Google sign-in is already verified).
curl -s "https://api.cev-os.com/v1/news-video?country=GB&embed_only=false"
Example response
Every /v1 response is a JSON envelope (schema_version, product, timestamps, license, attribution, data). The registry example is the data member:
{
"count": 1,
"summary": {
"embeddable": 1,
"channel_only": 0,
"not_embeddable": 0,
"link_only": 0,
"unknown": 0
},
"audit": {
"pins_ok": 1,
"pins_total": 1,
"resolver": "off",
"checked_at": "2026-11-01T22:00:00.000Z"
},
"channels": [
{
"id": "sky",
"name": "Sky News",
"country": "GB",
"home_country": "GB",
"type": "mainstream",
"state_media": false,
"lean": null,
"official_url": "https://news.sky.com/",
"youtube_channel_id": "UCoMdktPbSTixAyNGwb-UYkQ",
"youtube_channel_url": "https://www.youtube.com/channel/UCoMdktPbSTixAyNGwb-UYkQ",
"youtube_live_url": "https://www.youtube.com/channel/UCoMdktPbSTixAyNGwb-UYkQ/live",
"stream_status": "embeddable",
"embed_url": "https://www.youtube-nocookie.com/embed/umLWFz4izTM",
"embed_candidates": [
"https://www.youtube-nocookie.com/embed/umLWFz4izTM",
"https://www.youtube-nocookie.com/embed/live_stream?channel=UCoMdktPbSTixAyNGwb-UYkQ"
],
"live_url": "https://news.sky.com/watch-live",
"audit": {
"pins": [
{
"video_id": "umLWFz4izTM",
"status": "ok",
"audited_at": "2026-11-01T22:00:00.000Z"
}
],
"resolved_live_video_id": null,
"resolver": "off (no YOUTUBE_API_KEY)"
},
"checked_at": "2026-11-01T22:00:00.000Z"
}
]
}
Update frequency
Curated list changed by code review; pinned video ids audited by YouTube oEmbed at most once a day (layer refreshed every 30 min); cached 10 min.
- Public cache:
600seconds (Cache-Control: public, max-age=600).
Sources, license and usage
License status: cleared with attribution. cev-os's own curated list (names, countries, public channel and video ids, links). Video is only ever played by YouTube or the broadcaster under their own terms; nothing is copied or proxied.
| Source | License | commercialOk | Terms |
|---|---|---|---|
| CEV-OS TRIPWIRE curated list of official live news channels | Own work (Cutting Edge Ventures): names, countries and links to each broadcaster's own official page / YouTube channel. No video, thumbnails or text from the broadcasters is copied or proxied. | true | — |
| YouTube embedded player (youtube-nocookie.com) links | Links/embeds only, played by YouTube under the YouTube Terms of Service and API Services Terms; cev-os never hosts or proxies video | true | https://www.youtube.com/t/terms |
Attribution (show this wherever you display the data):
- Curated by cev-os TRIPWIRE. Streams are the broadcasters' own, played by YouTube / the broadcaster under their terms.
Privacy class: public-derived. Access: public. Price: free (price is null; pay-per-call is not active).
Gaps
- oEmbed confirms a video exists and allows embedding, not that it is live right now; the browser player skips non-live sources. Pinned ids rotate when broadcasters restart streams.
- No YouTube Data API key is configured, so current live ids are not resolved (audit.resolver is off).
- The audit cache is in memory on the TRIPWIRE service and restarts with it.
Related
- Data API hub (all products, limits, license notes)
- MCP Registry listing
com.cev-os/data - OpenAPI 3.1
- Machine product list:
/v1/products
Reference data, not investment advice.