Instagram Bot Detector avatar
Instagram Bot Detector

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Instagram Bot Detector

Instagram Bot Detector

Instantly analyze Instagram profiles to detect fake followers, bot accounts, and artificial influencers. Get a precision 0-1 Bot Score based on engagement, ratios, and behavioral signals.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(1)

Developer

Louis Deconinck

Louis Deconinck

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Instagram Bot Detector is an Apify Actor that analyzes Instagram profiles to detect bot accounts using multiple signals like follower ratios, username patterns, engagement metrics, and profile completeness.

๐ŸŽฏ Why detect Instagram bots?

Use cases:

  • Influencer Verification - Verify that influencer accounts have real, engaged followers before partnerships
  • Community Moderation - Identify and filter out bot accounts from your Instagram followers
  • Competitor Analysis - Check if competitors are using bots to inflate their follower counts
  • Account Auditing - Audit your own followers to understand the quality of your audience
  • Research - Study bot patterns and behavior on social media platforms

โœจ What can Instagram Bot Detector do?

This Actor allows you to:

  • Analyze multiple profiles - Process multiple Instagram usernames or URLs in a single run
  • Calculate bot scores - Get a 0-1 score indicating how likely an account is to be a bot
  • Detect fake influencers - Identify accounts with bought followers through engagement analysis
  • Analyze posting patterns - Detect automated posting through timing analysis
  • Handle private accounts - Gracefully handle private accounts with adjusted scoring

๐Ÿš€ How to detect Instagram bots?

  1. Make a free Apify account here: https://console.apify.com/sign-up
  2. Click on "Try for free"
  3. Enter Instagram usernames (e.g., instagram, therock) or profile URLs (e.g., https://instagram.com/therock)
  4. Click "Start" and wait for the Actor to complete
  5. Download your data in JSON, CSV or Excel format

๐Ÿ’ก What data will you receive?

Instagram Bot Detector extracts detailed information about each profile:

FieldDescription
userIdInstagram user ID
usernameInstagram username
fullNameDisplay name
biographyProfile bio text
followersNumber of followers
followingNumber of accounts following
postsNumber of posts
isVerifiedWhether the account is verified
isPrivateWhether the account is private
botScoreBot likelihood score (0-1, higher = more likely bot)
humanScoreHuman likelihood score (0-1, higher = more likely human)
confidenceConfidence in the bot detection (0-1)
isLikelyBotBoolean indicating if botScore > 0.5

๐Ÿงฎ How the scoring algorithm works

The bot detection algorithm analyzes multiple signals from an Instagram profile and combines them into a single botScore (0-1). Higher scores indicate a higher likelihood the account is a bot.

Scoring methodology

  1. Individual signal scores - Each profile characteristic is evaluated and scored from 0 (not suspicious) to 1 (highly suspicious)
  2. Weighted combination - Scores are combined using weighted averages, with stronger bot indicators having higher weights
  3. Fatal flags - Certain conditions (like verified accounts) immediately classify an account as human
  4. Private account handling - Content-based scores are set to null for private accounts since the data isn't accessible

Signal weights

SignalWeightDescription
ratioScore2.0Follower/following ratio is the strongest indicator
fakeInfluencerScore1.5Bought followers detection
postsScore1.5No posts is very suspicious
profilePicScore1.5Default avatar is a strong signal
spamScore1.3Spammy bio/URL content
biographyScore1.2Empty biography
usernameScore1.0Random/suspicious username patterns
engagementScore1.0Low engagement relative to followers
postTimingScore1.0Burst posting patterns
followersScore0.7Low follower counts
followingScore0.7High following counts
fullNameScore0.6Random/gibberish display names
highlightsScore0.5No story highlights
accountAgeScore0.5Recently joined accounts
accountTypeScore0.3Personal vs business accounts
verifiedScore0 (fatal)Verified = definitely human

๐Ÿ“Š Output field reference

Profile information

FieldTypeDescription
userIdstringInstagram's internal user ID
usernamestringThe account's handle (without @)
fullNamestringDisplay name shown on profile
profilePicUrlstringURL to the profile picture
biographystringBio text (may be empty)
externalUrlstring | nullWebsite link in profile
followersnumberTotal follower count
followingnumberNumber of accounts being followed
postsnumberTotal number of posts
isVerifiedbooleanBlue checkmark verification status
isBusinessAccountbooleanBusiness account type
isProfessionalAccountbooleanCreator/professional account type
isPrivatebooleanWhether the account is private
highlightReelCountnumberNumber of story highlights
hasClipsbooleanWhether account has Reels
defaultProfilePicbooleantrue if using Instagram's default avatar

Computed metrics

FieldTypeDescription
followerFollowingRationumberfollowers / following - Influencers typically have high ratios, mass-follow bots have very low ratios
usernameEntropynumberShannon entropy of username (0-1) - Higher values indicate more random/generated usernames
averageEngagementRatenumber | null(avg likes + comments) / followers * 100 - Percentage engagement per post. null if no posts
postTimingVariancenumber | nullVariance in hours between posts - Low variance with short gaps suggests automation

Individual scores (0-1, higher = more suspicious)

FieldDescriptionHow it's calculated
profilePicScoreDefault profile picture1 if using default Instagram avatar, 0 otherwise
biographyScoreEmpty biography1 if bio is empty/whitespace, 0 otherwise
postsScoreNo postsmax(0, 1 - posts ร— 0.1) - Reduced by 70% for recently joined accounts. null for private accounts
highlightsScoreNo story highlights1 if no highlights, 0 otherwise. null for private accounts
followersScoreLow follower countmax(0, 1 - logโ‚โ‚€(followers + 1) / 3) - Logarithmic scale where 1000+ followers โ†’ 0
followingScoreHigh following countmin(1, logโ‚โ‚€(following + 1) / 3) - Logarithmic scale where 1000+ following โ†’ 1
ratioScoreSuspicious follower/following ratioMass-follow bots have ratio < 0.1 โ†’ score 1.0. Private accounts get 70% reduction
usernameScoreSuspicious usernameCombines digit ratio, long number sequences, consecutive special characters (__, ..), leading/trailing digits
accountAgeScoreRecently joined1 if is_joined_recently flag is true, 0 otherwise
accountTypeScorePersonal account0 for business/professional accounts, 0.3 for personal accounts
verifiedScoreNot verified0 if verified (triggers "definitely human"), 1 otherwise
postTimingScoreBurst posting patternBased on gaps between posts - Many posts within 30 minutes indicates automation. null if < 2 posts
engagementScoreLow engagement1 - logโ‚โ‚€(engagement_rate ร— 10 + 1) / 3 with bonuses for high absolute engagement. null if no posts
spamScoreSpammy contentDetects spam keywords (crypto, dm for, follow4follow) and high-risk URLs (Telegram, URL shorteners)
fullNameScoreRandom/gibberish nameHigh entropy + no normal structure = suspicious. International names (CJK, Cyrillic, etc.) get benefit of the doubt
fakeInfluencerScoreBought followersHigh follower ratio + ultra-low engagement (< 0.1%) โ†’ likely bought followers

Final bot detection

FieldTypeDescription
botScorenumberFinal weighted bot likelihood score (0-1). Higher = more likely a bot
humanScorenumber1 - botScore. Convenience field for human likelihood
confidencenumberConfidence in the detection (0-1). Based on: (1) how many signals were available, (2) how extreme the score is
isLikelyBotbooleantrue if botScore > 0.5

Output example

{
"userId": "77183297419",
"username": "minajjjray",
"fullName": "minajjjray",
"profilePicUrl": "https://instagram.fbkk12-2.fna.fbcdn.net/v/t51.2885-19/573323465_1219825463302212_7278921664109726296_n.png?stp=dst-jpg_e0_s150x150_tt6&cb=8438d1d6-849f285f&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xNTAuYzIifQ&_nc_ht=instagram.fbkk12-2.fna.fbcdn.net&_nc_cat=1&_nc_oc=Q6cZ2QEZpDwos_dxCnk-1sN_wEAAfF2BLdpd1rVj8A32fUX-lyV9qKE9jfh1hy_G9_6qzYE74I3fFVvDvTi-zW2J-6TR&_nc_ohc=k4JGjKyu-qYQ7kNvwEHdC5N&_nc_gid=vjf5WU0qwnJiIGlrWluAkg&edm=AJ1X7eQBAAAA&ccb=7-5&ig_cache_key=YW5vbnltb3VzX3Byb2ZpbGVfcGlj.3-ccb7-5-cb8438d1d6-849f285f&oh=00_AfkLbbGdNCxxeSmBSf5GUlrzxqKgKlbhRRnVWkKVHs5AgA&oe=694380AA&_nc_sid=1cea78",
"biography": "",
"externalUrl": null,
"followers": 8,
"following": 29,
"posts": 0,
"isVerified": false,
"isBusinessAccount": true,
"isProfessionalAccount": true,
"isPrivate": false,
"highlightReelCount": 0,
"hasClips": false,
"defaultProfilePic": true,
"followerFollowingRatio": 0.27586206896551724,
"usernameEntropy": 0.7966576244513051,
"averageEngagementRate": null,
"postTimingVariance": null,
"profilePicScore": 1,
"biographyScore": 1,
"postsScore": 1,
"highlightsScore": 1,
"followersScore": 0.6819191635202251,
"followingScore": 0.4923737515732208,
"ratioScore": 0.8,
"usernameScore": 0,
"accountAgeScore": 0,
"accountTypeScore": 0,
"verifiedScore": 1,
"postTimingScore": null,
"engagementScore": null,
"spamScore": 0,
"fullNameScore": 0.3,
"fakeInfluencerScore": 0,
"botScore": 0.5490229353808581,
"humanScore": 0.4509770646191419,
"confidence": 0.5592183483046865,
"isLikelyBot": true
}

๐Ÿ“ฅ Input

The Actor accepts these input parameters:

  • usernames (array, required): List of Instagram usernames (e.g., instagram, @therock) or profile URLs (e.g., https://instagram.com/therock) to analyze for bot detection.

Input example

{
"usernames": [
"instagram",
"therock",
"https://instagram.com/cristiano"
]
}

๐Ÿ’ฐ How much does it cost to detect Instagram bots?

This actor is extremely cost-effective. Check the "Pricing" tab for more details.

With Apify's free tier, you get $5 of platform credits monthly for free, which you can use to test this actor for free.

Do you need to analyze more profiles? Upgrade to a paid plan which includes more platform credits and discounted pricing.

Tips:

  • Provide multiple usernames in your input, that way you only pay the actor start cost once.
  • If you are doing a large run, consider increasing the RAM used per run to analyze faster. When doing a small run decrease the RAM used to reduce the actor start costs.
  • Upgrade to a higher plan to get discounted pricing. Link: https://apify.com/pricing

๐Ÿ”— Integrate with your workflows

This Actor integrates seamlessly with:

  • Automation platforms - Build no code workflows with Make.com, n8n, and Zapier
  • Webhooks - Trigger actions when analysis completes through webhooks
  • Schedulers - Run regularly to monitor follower quality with Apify's Scheduler
  • API - Start runs and access data programmatically with the Apify API
  • Google Sheets - Export directly to spreadsheets

๐Ÿ‘ฅ Who made this Actor?

Gordian is a specialised Apify web scraping agency founded by Louis Deconinck.

Louis is a top 1% Apify developer, Oxford University IT graduate, and creator of 70+ scrapers used by 1,000+ data professionals every month. He has scraped 10,000,000+ pages bypassing the most advanced anti-scraping protections.

  • Apify AI Agent Hackathon Winner
  • 300+ contributions in Apify Discord
  • Former senior data engineer in EU banking

Looking for a custom data solution? Get in touch.

๐Ÿค– More excellent Apify Actors by us

โ“ FAQ

Yes, web scraping publicly available data is legal. This scraper only extracts information that is publicly visible.

For more information on web scraping legality, read this blog post: Is web scraping legal?

How accurate is the bot detection?

The bot detection uses multiple signals and provides a confidence score. Accounts with higher confidence scores and extreme bot scores (close to 0 or 1) are more reliable. Verified accounts are automatically marked as human.

Can I export data to CSV or Excel?

Yes, Apify supports exporting dataset results in multiple formats: JSON, CSV, Excel (XLSX), HTML, XML and RSS.

What happens if Instagram changes their API?

We monitor the API structure and update the Actor when changes occur. If you encounter issues, please report them in the Issues tab.

How does the scoring work?

The Actor calculates individual scores (0-1) for various signals like profile picture, username patterns, follower ratios, and engagement. These are combined using weighted averages to produce a final bot score. Private accounts receive special handling since some data isn't accessible.

How do I get started?

Make a free Apify account to claim your free $5 usage and start detecting bots today by clicking "Try for free".