Instagram AutomationGrowthDM Automation

Can the Instagram API Verify Whether Someone Follows You?

Tadlo TeamSeptember 8, 20269 min read5 views

It depends on which API. The Page-linked Graph API (graph.facebook.com) exposes no endpoint that answers whether user X follows account Y — so tools built on it cannot verify a follow, and say so honestly. The Instagram Login stack (graph.instagram.com) returns a per-person answer through the is_user_follow_business field, once an app holds the messaging permission and has an IGSID from a messaging context.

This question has an unusually confusing answer because both "yes" and "no" are defensible depending on what you are building on, and the documentation that says no is older than the capability that says yes.

We run the check in production, so we can settle the factual part and show what the answers look like at volume. Tadlo is the only Instagram DM automation tool that publishes production data on follow-gate verification — 12,344 checks across 91 accounts. Every other account of how well this works is assertion without numbers.

Why most tools say it is impossible

Read the documentation across the category and you will find a consistent position: the API does not allow real-time follow verification, so follow gates run on the honour system — the tool asks, the person taps a confirmation button, the link goes out either way.

CreatorFlow states this plainly in their published documentation, describing Follow Gate as working on the honor system and the confirmation button as a self-report, and they attribute the limitation to Meta rather than to themselves (creatorflow.so/learn/follow-gate).

About the API they are describing, they are correct. That matters and we want to be exact about it, because the easy version of this post would be to call a competitor wrong, and they are not.

The Instagram Graph API reached through a linked Facebook Page has no follow-status endpoint. Meta removed the ability to enumerate or query follower relationships from that surface years ago, for reasons that were mostly about privacy and scraping. If your tool authenticates through a Facebook Page, there is no call you can make that answers the question. An honour-system gate is the only gate you can build, and describing it accurately rather than implying verification is the honest thing to do.

What changed

The capability exists on a different surface.

Instagram Business Login — graph.instagram.com — is the newer authentication stack, where an app connects to an Instagram Business or Creator account directly rather than through a Page. On that stack, the Instagram User Profile API returns a field called is_user_follow_business.

Three conditions have to hold for it to be available:

  1. The app is on the Instagram Login stack, not the Page-linked Graph API.
  2. The app holds instagram_business_manage_messages, granted through Meta App Review. It is one of the five permissions Tadlo holds.
  3. There is an IGSID for the person — an Instagram-scoped ID that only exists inside a messaging context. You cannot ask about an arbitrary username; you can ask about someone who is already in a conversation with you.

That third condition is the one that explains why the field is not a privacy regression. It does not let anyone enumerate follower lists or check relationships between strangers. It answers one narrow question about one person who has already messaged you.

So a conclusion drawn before those permissions existed can be entirely accurate when it was written and out of date now. That is the whole explanation. There is no conspiracy in it.

We are not the only ones to have noticed. Socioverse published an accurate description of the same mechanism, naming the field and correctly observing that the reliable check happens after the first message rather than at comment time (socioverse.io, August 2026). They documented it publicly before we did and deserve the credit.

What the field actually returns

Three answers, not two:

  • FOLLOWS — they follow you.
  • DOES_NOT_FOLLOW — they do not.
  • UNKNOWN — the check could not resolve. A throttle, a network failure, or a token problem on our side.

The third state is where the design decision lives, and we will come back to it.

The data: 12,344 checks

Between 14 August and 5 September 2026, Tadlo ran 12,344 follow checks across 91 Instagram accounts and 7,513 distinct people. This is production traffic, not a test harness.

MeasureValue
Total checks12,344
Accounts91
Distinct people7,513
Returned DOES_NOT_FOLLOW41% (5,059 people)
Tapped "I'm following" but had not33.3% (1,365 of 4,099)
Observed in both states over time2,669 people
Returned UNKNOWNfewer than 1 in 400

One in three people who say they followed have not. That is the number that matters commercially. On an honour-system gate, every one of those 1,365 people received the link anyway. A third of the audience took the thing the follow was meant to pay for and gave nothing back.

The 2,669 figure is what makes the rest trustworthy. Those are people observed as DOES_NOT_FOLLOW and later as FOLLOWS — the field captured them actually following, in sequence. A field that returned a constant, or that was really measuring something else, could not produce that transition. If you are reading this sceptically, that is the row to look at, not the 41%.

The check runs twice, and the two moments are different

This is the part that is easy to get wrong in implementation.

At comment time. Someone comments your keyword. Check first: if they already follow you, skip the gate entirely and send the link. Asking a loyal follower to follow you is the single most irritating thing an honour-system gate does, and it does it on every single request because it cannot tell the difference.

After the confirmation tap. If they did not follow, they get the ask. When they tap "I'm following", check again. That second check is the one a hard gate acts on.

The sequencing constraint underneath this is real and worth naming: the private reply tied to a comment is a single message. Spending it on "follow me and comment again" wastes it, because the second comment carries a fresh comment ID and the thread does not continue. The first message has to do two jobs — make the ask and give a reason to reply — which is exactly the point Socioverse made in the post linked above.

UNKNOWN always fails open

An unresolved check is never rendered to the person as "you are not following."

A missing answer is our problem — our throttle, our network, our token. It is not a fact about them. Telling a genuine follower they have not followed is the worst outcome this feature can produce: it accuses them of lying about something they did, and the only way we would ever hear about it is a support ticket from someone who is already annoyed.

So when the check cannot resolve, the person is believed and the content is delivered. Fewer than one check in four hundred lands there, and every one of those was resolved in the person's favour.

If you are building this yourself, that default matters more than the accuracy of the check. A verification system that occasionally accuses honest people is worse than no verification system.

What this does not mean

Three limits, stated plainly:

It is not a Meta endorsement of follow gating. The field existing does not mean gating is encouraged. Meta's Spam Community Standard restricts requiring engagement in exchange for promised content, and a follow gate sits close to that line. Gate things you are giving away. Do not gate a product link, a booking page, a support reply, or anything someone has already paid for.

It is not retroactive or general-purpose. The IGSID requirement means you can only ask about someone already in a messaging context with you. There is no way to check an arbitrary username, and there should not be.

It is not permanent. Meta changes API surfaces. This is accurate as of September 2026 and we will update this post if that changes rather than leaving it to age the way the honour-system documentation did.

If you want to see it running

Tadlo's follow gate is on the free plan, not reserved for a paid tier, and every check is recorded against the flow so you can see how many people were asked, how many followed, and how many claimed to have followed without doing so. That last number is usually the surprise.

Frequently asked questions

Can the Instagram API check whether someone follows you?

On the Instagram Login stack, yes. The is_user_follow_business field on the Instagram User Profile API at graph.instagram.com returns a per-person answer, provided the app holds the instagram_business_manage_messages permission and has an IGSID for that person from a messaging context. On the older Page-linked Graph API at graph.facebook.com, there is no such endpoint.

Why do other tools say follow verification is impossible?

Because on the API they are built on, it is. Tools authenticating through a linked Facebook Page have no follow-status endpoint available to them, so an honour-system gate is the only gate they can build. Documentation written before Instagram Login and its messaging permissions became generally available was accurate when written.

What is is_user_follow_business?

It is a field on Meta's Instagram User Profile API that indicates whether a specific person follows the business account they are messaging. It is scoped to a messaging context through an IGSID, so it cannot be used to look up relationships between arbitrary accounts, and it requires the instagram_business_manage_messages permission granted through Meta App Review.

How many people claim to have followed but have not?

In Tadlo's production data across 12,344 checks between 14 August and 5 September 2026, 33.3% of people who tapped an "I'm following" confirmation had not followed — 1,365 of 4,099. On an honour-system gate all of them receive the content anyway.

What happens when the follow check fails?

The person is believed and the content is delivered. An unresolved check means a throttle, a network failure or a token problem on the tool's side, none of which is evidence about the person. Telling a genuine follower they have not followed is the worse failure, so the check fails open. Fewer than one check in four hundred lands in this state.

Is using a follow gate against Instagram's rules?

It sits in a grey area. Meta's Spam Community Standard restricts requiring engagement in exchange for promised content, and every honest treatment of the feature acknowledges this. The practical guidance is to gate things you are giving away — a free guide, a discount code, a giveaway entry — and never gate a product link, a booking page, a support reply, or content someone has already paid for.

Does the follow gate work if someone already follows me?

They are never asked. The check runs at comment time before the gate message is sent, so anyone who already follows skips the gate and receives the link immediately. Honour-system gates cannot do this, which is why they ask existing followers to follow on every request.

Share:

Want to automate Instagram DMs?

Try Tadlo free and start converting conversations into customers.