Tapemetric

HTTP API

Analytics API

Read your own data programmatically — pipe metrics into Looker, BigQuery, or your own internal dashboards.

Base URL

text
https://api.tapemetric.com

Authentication

JWT bearer token from POST /v1/auth/login. Tokens expire in 24h. For scripted access, create a service-account JWT in settings with a 90-day expiry.

GET /v1/analytics/overview

Top-line KPIs with week-over-week deltas.

bash
curl "https://api.tapemetric.com/v1/analytics/overview?range=7d" \
  -H "Authorization: Bearer eyJhbGci..."
json
{
  "monthly_active_users": 8420000,
  "watch_hours": 94700000,
  "paid_subscribers": 1860000,
  "arpu_inr": 187,
  "churn_pct": 3.1,
  "wow_delta": { "mau": 12.4, "watch_hours": 8.1, "subs": 3.2, "revenue": 5.8 }
}

Query params: range = 24h | 7d | 30d | qtd.

GET /v1/analytics/concurrency

Time-series of concurrent viewers.

bash
curl "https://api.tapemetric.com/v1/analytics/concurrency?range=24h&interval=15" \
  -H "Authorization: Bearer ..."
json
{
  "interval_minutes": 15,
  "points": [
    { "ts": "2026-04-23T00:00:00Z", "value": 22100 },
    { "ts": "2026-04-23T00:15:00Z", "value": 18400 }
  ],
  "peak": 184220,
  "peak_at": "2026-04-22T21:30:00Z"
}

GET /v1/analytics/top-content

bash
curl "https://api.tapemetric.com/v1/analytics/top-content?range=7d&limit=10" \
  -H "Authorization: Bearer ..."
json
[
  {
    "content_id": "aashiqana_s04",
    "title": "Aashiqana · S4",
    "content_type": "series",
    "watch_hours": 14200000,
    "completion_pct": 86.4,
    "unique_viewers": 1240000
  }
]

GET /v1/analytics/geo

Viewership by region (state-level for India).

json
[
  { "region": "Maharashtra", "watch_hours": 17400000, "viewers": 1680000, "share_pct": 18.4 }
]

GET /v1/analytics/devices

json
[
  { "device": "tv", "sessions": 5840000, "share_pct": 42 },
  { "device": "mobile", "sessions": 5010000, "share_pct": 36 }
]

GET /v1/analytics/alerts

json
[
  {
    "id": 1,
    "severity": "critical",
    "source": "qos",
    "title": "Rebuffer spike · Mumbai edge",
    "description": "Rebuffer ratio 3.1% -> 8.4% on ap-south-1 PoP",
    "acknowledged": false,
    "created_at": "2026-04-23T18:28:00Z"
  }
]

Pagination

List endpoints accept limit (max 200) and offset.

Rate limits

300 requests / minute per JWT. Use the bulk export endpoint for large pulls.

Bulk export

For data-warehouse syncs, use POST /v1/analytics/export to request a signed S3 URL to a Parquet file of raw events for a date range. Enterprise plans only.