Accounts

Check whether an Instagram user follows the account

Changed on

Resolves the follow relationship between an Instagram user and the connected account, plus their public profile counters.

userId is the Instagram-scoped id (IGSID) Meta gives you on a webhook: sender.id on message.received, comment.author.id on comment.received.

Meta only answers for people who have MESSAGED the account. Commenting grants no consent, so a commenter who has never DMed you is unresolvable - that is a platform rule, not a limitation of this endpoint. When it cannot be resolved the response is still 200 with isFollower: null and an unavailableReason, because "unknown" is a normal state to branch on:

  • consent_required - the user has never messaged this account.
  • dm_access_disabled - the account owner turned off Instagram Direct API access.
  • not_messageable - the id is not a messaging-scoped id.
  • error - a transient Graph API failure.

To gate a comment automation on this, use the automation's audience rules instead of calling this per comment - they run the same lookup only on comments that actually match a keyword, and can ask the commenter to confirm with one tap.

Answers are cached briefly per (account, user). Pass refresh=true right after asking someone to follow, so a follow from a moment ago is visible.

get/v1/accounts/{accountId}/follow-status/{userId}

Request

  • Base URL: https://zernio.com/api
  • URL: https://zernio.com/api/v1/accounts/{accountId}/follow-status/{userId}
  • Auth: HTTP bearer

Path parameters

accountIdstring required

Instagram account ID

userIdstring required

Instagram-scoped user id (IGSID) from a webhook payload

Query parameters

refreshboolean

Bypass the cache and re-query Meta

Response

Follow status (fields are null when Meta would not resolve it)

userIdstring required
accountIdstring required
isFollowerboolean nullable required

The user follows this account. Null = unknown, never "no".

isFollowedByAccountboolean nullable

This account follows the user.

followerCountinteger nullable
isVerifiedboolean nullable
usernamestring nullable
namestring nullable
unavailableReason'consent_required' | 'dm_access_disabled' | 'not_messageable' | 'error' | 'null' nullable

Why the follow relationship could not be resolved. Null when it was.

Changes

    • warning

      added the new account enum value to the / response property for the response status

    • warning

      added the new account enum value to the / response property for the response status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status