StoriesFly logo
Tool — Activity tracker

Instagram activity tracker: follows, unfollows and stories of a public account, on a stated schedule.

StoriesFly's activity tracker watches a public Instagram account on three clocks: a sweep every 180 minutes on Pro and 240 on Basic that re-reads its follower, following and post counts, a story check every 4 hours, and a full reading of its follower and following lists every 7 days, which is where the names behind follows and unfollows come from. Every row is dated by the check that found it. Instagram pushes no updates about someone else's account, so every row exists because a check went and looked. Private accounts cannot be tracked.

The account to put on the schedule@handle

public accounts onlysweep interval by planpaid plans

Fig. 01The clocks a watched account runs on
Pro sweep: the counts
180 min
Basic sweep: the counts
240 min
Story check, either plan
240 min
0240 min
the shortest sweep on offereach tick is one check

What a sweep readsA sweep opens the public profile and reads three numbers: followers, following and posts. It sees that a count moved, not whose name moved it. The names are in the follower and following lists, which are read in full when you add the account and every 7 days after that.

01Step by step, from the handle

From adding a handle to reading the first row

The first stage produces nothing to read. That is how it works, not a fault.

  1. 01The first reading files both listsWhatever you paste is reduced to a plain username and added to your watch list: Basic holds one account, Pro holds five. Its follower and following lists are then read in full and stored with the date. Nothing is reported yet, because there is nothing to compare with.
  2. 02Sweeps re-read the countsEvery 180 minutes on Pro and 240 on Basic, a sweep re-reads the follower, following and post counts. A follower or following count that moved, or a post count that went up, becomes a row.
  3. 03The story check looks for new storiesEvery 4 hours a separate check, switched on by default, looks for stories the account has posted, and each new one becomes a row.
  4. 04The weekly reading adds the namesEvery 7 days both lists are read in full again. Names that are new are reported as follows; a name that is missing is searched for in the list and reported as an unfollow only if the search cannot find it.
02Not live

This page used to promise live alerts

It promised alerts the moment something happened, and that was wrong. Instagram answers when it is asked and pushes nothing to anyone outside the app: there is no feed of someone else's follows and no event behind a story post. Every row on this timeline exists because a check went and looked, and its time is the check's, not the moment the change happened.

So the promise is gone and three numbers replace it. Counts are re-read every 180 minutes on Pro and 240 on Basic, stories are checked every 4 hours, and the names behind follows and unfollows come with the weekly reading of the lists, up to a week after the fact. A follow of one account and an unfollow of another in the same week leave the count where it was, and the reading still names both.

03The schedule

The numbers the checks run on

The tick and the interval are two different clocks, and that is the part people misread. The scheduler wakes every 30 minutes and sweeps only the accounts whose own interval has run out, so a Basic account is swept shortly after its four-hour mark rather than exactly on it.

Fig. 02Intervals by check
Sweep interval on Pro
180 min
Sweep interval on Basic, trial included
240 min
Story check
240 min
Full reading of both lists
7 d
How often the scheduler checks its queue
30 min
04Two kinds of promise

A promise of live alerts, or stated check intervals

An interval you can name is what makes a timeline readable in reverse. Two count rows three hours apart on Pro are two different sweeps, and two names with the same date came from the same weekly reading. On a page that never states its clocks, the same rows could mean anything.

Fig. 03What each promise leaves out
No interval stated
a changean unnamed clockan undated row

A page that never names an interval still runs on one. You cannot size the delay, so you cannot tell a quiet week from a check that failed.

Checked on stated intervals
a changethe next checka comparisona dated row

The delay is about one interval, plus up to one 30-minute scheduler tick, and every interval is printed on this page: 180 or 240 minutes for counts, 4 hours for stories, 7 days for names.

the promise this page makes
05What goes in and out

What the field takes, what the checks record, what they never touch

Nothing in the third group becomes readable on a higher plan. A plan buys a shorter sweep interval and more watched accounts.

What the field takes
@handle
What the checks record
followersfollowingpostsstoriesfollowsunfollows
What they never record
DMsviewersprivate posts
06What sweeps miss

What falls between two checks

Two of these come from checking on a schedule, two from limits we set, and one from Instagram.

  • 01Small moves in a countA sweep that sees the follower or following count move reads it again a few seconds later and holds the change back while it is small: up to 1% of the count (never less than 3), or up to 2% (never less than 6) when both reads agree. Once the change is larger it is reported. A single new follower on a mid-sized account shows up by name at the weekly reading rather than as a count row.
  • 02A follow that is undone within the weekFollowing someone and unfollowing them again between two readings leaves both lists as they were, so no row is written. A shorter sweep interval does not help, because sweeps read counts, not names.
  • 03The exact minute a change happenedA row is dated by the check that found it, not by the event: a count row by its sweep, a name by its weekly reading. Read every time as "seen by this check".
  • 04Private accountsThe checks read the public profile only. An account that goes private keeps its timeline, and count rows continue, since the counters stay public. Stories and names stop, and the lists are not asked for again until 30 days after the reading that found the account private.
  • 05Names on very large listsBy default a list is read by name only if it fits the plan. On Basic that is up to 1,500 followers and 300 following; on Pro, up to 3,500 per list, with 7,000 followers and 3,000 following shared across its five accounts. Capacity added to the plan raises these limits. A longer list is watched through its count alone.
07Questions about the schedule

How the watching works

Does it alert me the moment something happens?

No. Instagram hands over the current state when it is asked and pushes nothing on its own, so every row comes from a scheduled check. The shortest gap is 180 minutes, for counts on Pro; names wait for the weekly reading of the lists.

When does the first row appear?

A count or story row can appear within hours: sweeps come every 180 minutes on Pro and 240 on Basic, and stories are checked every 4 hours. The first names of follows and unfollows come with the second reading of the lists, about a week after you add the account.

What counts as activity here?

Three kinds of rows: changes in the follower and following counts and new posts in the post count, found by sweeps; new stories, found by the story check; and the names behind follows and unfollows, found by the weekly reading. Likes and comments belong to the engagement tracker.

The scheduler ticks every 30 minutes, so why is my interval 240?

A tick is the scheduler looking at its queue, not your account being swept. Each watched handle is picked up on the first tick after its own interval has run out, which is why a Basic sweep lands shortly after the four-hour mark rather than exactly on it.

Can I make it check more often?

No. Pro's 180 minutes is the shortest sweep interval on offer, stories are checked every 4 hours on either plan, and the lists are read once a week on both.

Will the account notice?

No. A sweep reads the public profile, and nothing in a sweep, a story check or a reading carries your name or sends a follow.

Why did an unfollow take longer than a sweep to appear?

Because sweeps read counts, and names come from the weekly reading of the lists. The number can drop on Monday while the name behind it waits for the next reading, and a missing name is then searched for in the list before it is reported.

Nothing is watching that account yet.

The first reading files its lists. The checks after it start the timeline.

Add it to the watch list