When you evaluate a social media data API, the useful questions are concrete. What exactly comes back? How do you know how old a value is? What happens when an account does not exist, or a number cannot be read? This page answers those for Metrika, field by field.
The response, dissected
Every resource you request returns with its platform,
type, identifier, and a status. Once collected, its
datapoints hang off two groups: metrics for numbers and
attributes for flags such as verified status.
{
"data": [
{
"platform": "tiktok",
"type": "account",
"identifier": "nba",
"status": "available",
"metrics": {
"followers": {
"value": 24100000,
"status": "available",
"collected_at": "2026-08-08T00:00:00.000Z",
"semantic": "followers"
},
"posts": {
"value": 8900,
"status": "available",
"collected_at": "2026-08-08T00:00:00.000Z",
"semantic": "videos"
}
},
"attributes": {
"verified": {
"value": true,
"status": "available",
"collected_at": "2026-08-08T00:00:00.000Z",
"semantic": "verified"
}
}
}
]
}
The names are normalised across platforms: YouTube
subscribers and Bluesky followers both arrive as
followers, videos and threads both count as posts, so
your parsing code is written once.
The platform's own word is not lost in that normalisation:
the semantic field on each datapoint carries it, videos
for TikTok output above, subscribers for a YouTube
audience. Key your code on the normalised names and label
your UI with semantic.
Post lookups follow the same shape. Request type: "post"
on Bluesky, Threads, X, or YouTube and the metrics are view,
like, and repost counts, each with the same status,
collected_at, and semantic fields.
Data that admits how fresh it is
Every datapoint carries its own collected_at timestamp and
its own status rather than pretending to be live. Values
for known accounts are refreshed daily. If a particular
datapoint is not available for a platform, its status says
unavailable instead of the field quietly missing, and a
datapoint still being collected reports pending.
Statuses instead of surprises
The resource-level status tells you where an account
stands: pending while first collection runs in the
background, available once data flows, not_found when
the account does not exist on the platform, stale when
previously collected data exists but refreshes are
currently failing, and unavailable when collection keeps
failing and will be retried. Your integration can branch on
five known strings rather than parsing error prose.
The latest value, not a series
Metrika returns the current snapshot of each datapoint, not a history. There is no endpoint for past values. If you want growth over time, call on a schedule and store the values; the daily refresh cadence makes one call per day per set of accounts the natural rhythm.
Getting started
The free tier includes 500 requests per month, no credit card required. Create an account, then see the docs for the full schema reference and the per-platform availability matrix. For the wider picture, start with the Social Media API overview.
Get started with Metrika
Create a free account and start pulling social media datapoints in minutes. The free tier includes 500 requests per month, no credit card required.