When to Use
- Account health monitoring: Schedule a daily workflow to fetch your own account's follower count and media count, logging the values over time to track growth trends and detect sudden drops.
- Competitor benchmarking (Business Discovery): Retrieve public profile data for competitor Instagram Business accounts to compare follower growth, bio changes, and post frequency in a competitive intelligence dashboard.
- Influencer vetting: Before initiating a partnership, programmatically retrieve the influencer's follower count, following count, and media count to calculate engagement benchmarks and verify audience size claims.
- Partner onboarding: When a partner connects their Instagram account to your platform, retrieve their profile data to populate their profile in your system.
- Bio change detection: Periodically fetch biography text and compare to the stored value — alert the team when a key partner or influencer changes their bio or removes a brand mention.
Configuration
Connection
| Field | Required | Description |
accessToken | Required | Long-lived Instagram access token stored in BizFirst Credentials Manager. |
igUserId | Required | Instagram Business/Creator account ID to retrieve. Use your own account ID or a Business Discovery-accessible ID. |
Operation
| Field | Required | Description |
resource | Required | Must be ig-user. |
operation | Required | Must be get. |
fields | Optional | Comma-separated fields to return. Available fields: id, username, name, biography, followers_count, follows_count, media_count, profile_picture_url, website. |
Sample Configuration JSON
{
"resource": "ig-user",
"operation": "get",
"accessToken": "{{ $credential.instagram.accessToken }}",
"igUserId": "17841400000000000",
"fields": "id,username,name,biography,followers_count,follows_count,media_count,website"
}
Validation Errors
| Error | Cause |
accessToken is required | accessToken field is missing or empty. |
igUserId is required | igUserId field is missing or empty. |
| Graph API error 100 | User ID does not exist or is not a Business/Creator account. |
| Graph API error 10 | Business Discovery permission not granted for accessing another account's data. |
Output
Success Port
| Field | Type | Description |
status | string | "success" |
id | string | Instagram user ID. |
username | string | Instagram handle (without @). |
name | string | Display name on the account. |
biography | string | Profile bio text. |
profilePictureUrl | string | URL of the profile picture image. |
mediaCount | number | Total number of published media objects. |
followersCount | number | Number of followers. |
followingCount | number | Number of accounts followed. |
website | string | Website URL from the profile. |
payload | string | Raw JSON response from the Graph API. |
Error Port
| Field | Type | Description |
status | string | "error" |
errorCode | string | Graph API error code. |
errorMessage | string | Error description. |
payload | string | Raw error response. |
Sample Output JSON
{
"status": "success",
"id": "17841400000000000",
"username": "yourbrand",
"name": "Your Brand Official",
"biography": "Premium fashion & lifestyle. New collection every season. Shop via link below.",
"profilePictureUrl": "https://scontent.cdninstagram.com/v/...",
"mediaCount": 487,
"followersCount": 124500,
"followingCount": 312,
"website": "https://yourbrand.com",
"payload": "{\"id\":\"17841400000000000\",\"username\":\"yourbrand\",...}"
}
Expression Reference
| Expression | Value |
{{ $output.instagram.username }} | Instagram handle |
{{ $output.instagram.followersCount }} | Follower count integer |
{{ $output.instagram.mediaCount }} | Total post count |
{{ $output.instagram.biography }} | Profile bio text |
{{ $output.instagram.website }} | Website URL from profile |
Node Policies & GuardRails
- Business Discovery: Accessing another account's data requires the
instagram_manage_insights and pages_read_engagement permissions plus the target account must be a Business or Creator account publicly accessible via Business Discovery API.
- Rate limit: 200 calls per user per hour. Business Discovery calls share this quota. High-frequency competitor monitoring should be throttled.
- GDPR: Profile data including biography text, follower counts, and profile pictures constitute personal data. Ensure appropriate lawful basis for storing and processing this data, particularly for other users' accounts.
- Profile picture URL expiry:
profilePictureUrl is a CDN URL that expires. Store the id and username as stable identifiers instead.
Examples
Daily follower growth tracker
{
"resource": "ig-user",
"operation": "get",
"accessToken": "{{ $credential.instagram.accessToken }}",
"igUserId": "{{ $env.IG_USER_ID }}",
"fields": "id,username,followers_count,media_count"
}
Scheduled daily. The next node compares followersCount with yesterday's value from the database and calculates the day-over-day delta for the growth report.
Influencer verification for partnership
{
"resource": "ig-user",
"operation": "get",
"accessToken": "{{ $credential.instagram.accessToken }}",
"igUserId": "{{ $input.influencerIgId }}",
"fields": "id,username,followers_count,follows_count,media_count,biography"
}
Retrieves profile stats for an influencer under consideration for a campaign. The next node calculates an estimated engagement rate and writes a partnership eligibility score to the CRM record.