No platform hands you the follower history of an arbitrary public account. Official APIs and aggregators alike return the current value, so a growth chart is something you build: sample the count on a schedule, store each observation, and compute the differences. The pipeline is four small pieces, and most of the ways it goes wrong are avoidable.
Step one: a source of current counts
Anything works: official platform APIs, your own scraper, or an aggregated API such as Metrika. We compared the three in this guide; for tracking, the property that matters most is consistency, because a growth series built from a source that keeps changing shape is a growth series full of artefacts.
Step two: sample on a schedule
A daily cron job is the natural cadence. Follower counts are noisy hour to hour and meaningful week to week, so sampling faster than daily mostly stores noise. With Metrika specifically, values for known accounts refresh once a day, so polling more often than that returns the same value again; one batched call per ten accounts per day is the whole job.
Step three: store dated observations
A single table does it: platform, identifier, datapoint,
value, and the date it was collected. Two details matter.
Use the collected_at timestamp from the response as the
observation date, not the time your job happened to run, or
a job that fires at 23:59 and retries at 00:01 will invent a
day of growth. And only store values whose datapoint
status is available: writing a zero because a collection
was pending or unavailable is how dashboards end up
reporting that an account lost every follower overnight.
Step four: compute growth
With dated rows, growth is arithmetic: the difference between the latest value and the value some window ago. Compute a per-day rate rather than assuming a row exists for every day, so gaps do not corrupt the maths, and smooth over at least a week before drawing conclusions. Pairing followers with post counts adds the context a single line lacks: growth against steady publishing reads differently from growth during a viral spike.
The pitfalls
Rounding is the big one. YouTube abbreviates subscriber
counts for large channels, so an 18.5M channel will sit flat
for days and then step to 18.6M; over short windows that
looks like stagnation followed by a surge, when it is
neither. Compare large channels over longer windows. Missing
days are the other: collections can fail, handles get
renamed, accounts go private. Let the series tolerate holes
rather than interpolating silently, and revisit not_found
accounts before deleting them, because a renamed handle is a
new identifier, not a dead account.
Getting started
If you want the counts without running scrapers, follower counts are the core Metrika datapoint, and 500 requests per month free is enough for a daily sweep of over a hundred accounts. Create an account and see the docs for the response schema.
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.