CivicStream API

Live government video, elections, schedule, news — one API.

Build with the same dataset that powers civicstream.tv — live federal, state, and local government meetings, structured election data, daily congressional schedule, politician profiles, and breaking civic news. One key, one base URL, prices that come in under what comparable services charge.

50states covered
500+live streams
10k+races tracked
~99.5%uptime

Pricing

Civic (Free)

Free
  • All read endpoints
  • 10,000 requests / month
  • 30 requests / minute
  • Attribution required
  • Non-commercial use only

Starter

$29 /month
  • Everything in Civic
  • 250,000 requests / month
  • 120 requests / minute
  • Commercial use OK
  • Webhooks: live streams, breaking news

Business

$499 /month
  • Everything in Pro
  • 10,000,000 requests / month
  • 2,000 requests / minute
  • Nightly bulk JSON dumps
  • Priority request queue
  • 99.9% uptime SLA

Enterprise

From $1,500 /month
  • Everything in Business
  • Custom or unmetered quota
  • Custom endpoints
  • White-label, no-attribution
  • Signed video URLs
  • Named customer success manager

Overages on paid tiers are billed at $0.50 per 10,000 requests — no hard cutoffs unless you hit your per-minute limit. Discounts available: 20% annual, 50% for verified 501(c)(3), 100% for accredited journalism orgs (manual approval).

Rules of the road

  1. One API key per environment. Send it as X-CivicStream-Key on every request.
  2. Quotas are per-key, calendar month, with a per-minute burst cap. 429 with Retry-After when exceeded.
  3. Caching is mandatory. Honour ETag / If-None-Match — 304 responses don't count against quota.
  4. Attribution required on display: “Data via CivicStream” with a link, on any screen that renders the data. Waivable at Enterprise.
  5. No bulk re-syndication. Don't mirror more than 25% of a dataset, and don't build a competing data API on top of ours.
  6. Video is embed-only. /streams/{id} returns an iframe embed_url — not the underlying HLS/MP4. Hotlinking the raw upstream is a bannable offence and a copyright issue.
  7. No PII or engagement endpoints. Comments, chat, donor data, and user info are not exposed.
  8. Free tier is non-commercial — civic tech, journalists, students, hobbyists. Anything ad-supported, paywalled, or sold to clients needs Starter+.
  9. If you exhaust your quota, don't scrape the public site to make up the difference. The WAF will block you.
  10. Deprecations get 90 days' notice. Breaking changes ship under a new version path.
  11. Keys can be revoked without refund for ToS violations. Voter-suppression or harassment use cases are explicitly disallowed.
  12. Uptime: best-effort on Free/Starter, 99.5% on Pro, 99.9% on Business (with credits).

Endpoints

Base URL: https://civicstream.tv/wp-json/cstv/public/v1

MethodPathReturns
GET/streams/liveCurrently live streams (federal + state + local).
GET/news/recent?limit=10Recent news headlines (1–25).
GET/schedule/todayToday's federal schedule (House, Senate, committees, WH).
GET/elections/upcoming?limit=8Upcoming races, dated, with incumbent + nominee.
GET/elections/calendar?days=10Date-bucketed election calendar (next N days).
GET/whoamiConfirm your key, see plan + current usage.

More endpoints (politicians, bills, committees, by-state filters) are rolling out under the same namespace — subscribe and we'll email you as they ship.

Example

curl https://civicstream.tv/wp-json/cstv/public/v1/streams/live \
  -H "X-CivicStream-Key: csk_live_..."