API Reference
A small read-only API for pulling your own metrics, goals, and connected platforms into spreadsheets, dashboards, or scripts. Every request is scoped to the account that owns the API key — there’s no way to read another creator’s data.
Authentication
Generate a key from Settings. Keys start with mf_live_ and are shown once at creation — store it somewhere safe, since we only keep a hash of it. Send it as a bearer token on every request:
Authorization: Bearer mf_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxRequests without a valid key return a 401.
Rate limits
Each key is limited to 30 requests per 60 seconds. Going over that returns a 429 with { "error": "Rate limit exceeded." }. The limit applies per key, not per IP, so it follows the key even if you call it from different machines. Agencies pulling data at scale can enable usage-based billing from Settings to remove the fixed cap and pay per call beyond it instead.
Base URL
https://themediafootprint.com/api/v1Endpoints
/api/v1/metricsYour current aggregate metrics — the same numbers shown on your dashboard, rolled up across every connected platform.
Example response
{
"ok": true,
"metrics": {
"total_followers": 18420,
"total_views": 1042300,
"total_revenue": 3120,
"total_streams": 289411,
...
}
}/api/v1/goalsYour active (non-archived) goals, most recently created first.
Example response
{
"ok": true,
"goals": [
{
"id": "b4b0...",
"title": "Hit 20k followers",
"goal_type": "followers",
"target_value": "20000",
"current_value": "18420",
"deadline": "2026-09-01",
"status": "in_progress",
"is_pinned": true
}
]
}/api/v1/platformsThe platforms you've connected, their type, and their connection status.
Example response
{
"ok": true,
"platforms": [
{
"platform_name": "YouTube",
"module_type": "video",
"connection_status": "connected",
"platform_url": "https://youtube.com/@yourname",
"platform_handle": "@yourname"
}
]
}Errors
Errors are always JSON with an error string:
{ "error": "Invalid or missing API key." }401 means the key is missing, malformed, or revoked. 429 means you’re rate limited. Anything else is a 500 — retry with backoff.