Blog/Social data
12 min read

Instagram Follower and Engagement Data: Which API in 2026?

Follower counts are accurate. What trackers build on top is inference. Which endpoints return which fields, and how to tell a real signal from a guess.

Instagram Follower and Engagement Data: Which API in 2026?

Copy this line to your agent to pull a creator's public profile and engagement metrics.

set up https://monid.ai/SKILL.md and use apify /apify/instagram-profile-scraper to get a creator's follower count and recent post engagement

Instagram follower counts are trivially available and almost always correct. Nearly everything a tracker builds on top of them, who unfollowed you, whether engagement is real, whether an account is worth a partnership, is inference layered on two numbers, and the layers are where the errors live. This piece is about which fields you can actually get from an API, which of them mean something, and which ones you are being sold as insight. Monid is the OpenRouter for agent tools: one key and one balance across many providers, so you can compare three Instagram endpoints before committing to one.

Are Instagram follower and engagement trackers actually accurate?

Counts are accurate. Deltas are guesses. That distinction explains almost every complaint in the 45-comment r/socialmedia thread asking exactly this question, and it is the single most useful thing to understand before buying or building anything here.

Why a follower count is reliable and a follower list is not

A profile endpoint reads the number Instagram itself displays, so the count is as accurate as the platform's own page. A follower list is different: it is paginated, rate limited, and frequently truncated, so a tracker comparing yesterday's list to today's is comparing two partial samples and calling the difference an unfollow.

That is the mechanism behind the classic complaint that a tracker showed someone unfollowed you when they did not. Nothing lied. The second sample was shorter than the first. Any product built on list diffing inherits this, and the honest ones say so.

The fields that actually tell you something

Buried in the profile response are signals more useful than the follower count, and almost no consumer tracker surfaces them. Verified 2026-08-20, apify/apify/instagram-profile-scraper returns account join date, a username change count, verification status with its verification date, a recent-join flag, business versus private classification, business category, and related accounts, alongside the follower, following, post, video, highlight and IGTV counts.

Read those together and you get something a follower count cannot give you. An account that joined recently, has changed its username more than once, and has a follower count out of proportion to its post count is a different proposition from an account with the same follower count, a five year old join date and no username changes. That is the actual signal for partnership vetting, and it is three fields nobody puts on a dashboard.

Engagement rate is a computed number, not a returned one

No Instagram endpoint returns an engagement rate, because Instagram does not publish one. Every engagement rate you have seen is somebody's arithmetic over likes and comments divided by followers, and the divisor choice, the post window and the treatment of video views all vary by vendor. Two tools reporting different engagement rates for the same creator are usually both right about their own formula.

So compute it yourself from post-level data, and write down the formula. apify/apify/instagram-post-scraper returns post-level metadata including engagement metrics, captions, hashtags, mentions and timestamps, which is what the arithmetic needs.

AspectConsumer follower trackerProfile and post endpoints
What it returnsDeltas and a computed scoreRaw fields as the platform shows them
Accuracy riskTruncated list samples read as unfollowsSnapshot is exact, trend is yours to build
Engagement rateVendor formula, usually undisclosedYou choose the divisor and the window
Account quality signalsRarely surfacedJoin date, username changes, verification date
Best forA creator watching their own accountVetting, monitoring or enriching at scale

📖 See also What an Instagram Profile API Should Actually Return

How do I get Instagram follower counts and engagement metrics through an API?

Two calls, and they answer different questions. The profile call gives you the account. The posts call gives you the behaviour. Most people who ask this question need both and budget for one.

For agents

Grab an API key at app.monid.ai, then paste this to your agent and hand it the key:

set up https://monid.ai/SKILL.md

It learns the whole discover, inspect, run workflow itself. More in the agent quickstart.

For humans

npm install -g @monid-ai/cli
monid keys add -k <your-key> -l main

Step 1. Pull the profile

What it does. Takes usernames and returns full public profile metadata plus an overview of recent media, one record per username.

The endpoints. apify/apify/instagram-profile-scraper accepts usernames, IDs or URLs. tikhub/api/v1/instagram/v2/fetch_user_followers is the different-shaped neighbour when you specifically need follower records rather than counts.

The call.

monid inspect -p apify -e /apify/instagram-profile-scraper
monid run -p apify -e /apify/instagram-profile-scraper \
  -i '{"usernames":["humansofny"]}' -w

What comes back. Display name, biography, profile picture, external links, follower and following counts, post, video, highlight and IGTV counts, business or private classification, business category, verification status and date, join date, username change count, recent-join flag, related accounts, and recent media with captions, hashtags, mentions, timestamps, dimensions and engagement metrics.

One input note that costs people money: there is no result limit parameter, because the result count equals the input count. Passing five hundred usernames returns five hundred records and bills for five hundred records. That is predictable, which is the point, but it is not capped.

What it costs. A fraction of a cent per profile, billed per result. Current figures at monid.ai/tools.

Step 2. Pull the posts, then do your own arithmetic

What it does. Returns post-level metadata so you can compute engagement rather than accept somebody's.

The endpoints. apify/apify/instagram-post-scraper bills per call rather than per result, which is a meaningful difference when a profile has hundreds of posts. tikhub/api/v1/instagram/v1/fetch_user_posts_v2 covers the same job, also per call.

The call.

monid run -p apify -e /apify/instagram-post-scraper -i '{...}' -w

What comes back. Per post: caption, hashtags, mentions, timestamp, media URLs, dimensions and engagement metrics. Enough to compute a rate over whatever window you decide is fair.

What it costs. Per call, so pulling a creator's recent posts costs the same whether you get twelve or forty. This is the billing shape you want for the posts half and the opposite of what you want for the profile half.

Step 3. Store the snapshot, because the trend is the product

What it does. Nothing, technically. It is the step people skip and then regret.

A single pull tells you a creator has a certain follower count. Two pulls a week apart tell you whether it is growing, which is the thing that actually predicts whether a partnership is worth it. Neither endpoint stores history for you, so the first run of your pipeline should write a dated row, not overwrite one.

Give this to your agent

$Set up https://monid.ai/SKILL.md, and then use Monid to pull these five Instagram creators' profiles and recent posts, compute engagement rate as likes plus comments over followers across their last twelve posts, and show me the formula you used.

📖 See also Ship an Instagram Profile Enricher This Afternoon

What is the most reliable way to get Instagram profile data into n8n?

Call an HTTP endpoint from an HTTP Request node and keep the credential out of the workflow. That is the boring answer and it is the reliable one, because the failure modes in this integration are almost never about n8n.

The r/n8n threads on this, including the one about struggling with the scraping layer for an Instagram and X assignment, converge on the same shape of problem: the workflow is fine and the data source is the fragile part. A node that wraps one vendor breaks when that vendor changes, and rebuilding it means editing the workflow rather than editing a parameter.

Three things make this integration hold up:

Put the provider and endpoint in workflow variables. When an endpoint is deprecated, and in this category they are, you change two strings rather than rewire nodes.

Assert on a field you consume, not on the status code. A truncated or partial Instagram response is still a 200. Check that followersCount is present and non-zero on a known-good account each run, and fail the workflow loudly when it is not. This is the single highest-value line in the whole integration.

Batch on the per-result endpoints and loop on the per-call ones. The profile endpoint bills per result, so batching usernames into one call saves nothing but round trips. The post endpoint bills per call, so batching genuinely saves money. Getting these backwards is the most common cost surprise.

Which endpoint should I use for which job?

EndpointWhat it doesInputOutputBest forBilling
apify/apify/instagram-profile-scraperFull public profile plus recent media overviewUsernames, IDs or URLsCounts, bio, links, join date, verification date, username changesVetting and enrichmentPer result
apify/apify/instagram-post-scraperPost-level metadataProfile or post URLsCaptions, hashtags, mentions, timestamps, engagementComputing engagement yourselfPer call
apify/apify/instagram-search-scraperSearch places, profiles and hashtagsKeywordMatching entitiesCreator discoveryPer result
tikhub/api/v1/instagram/v2/fetch_user_followersFollower records, not just the countUser identifierFollower list pagesAudience analysisPer call
tikhub/api/v1/instagram/v1/fetch_user_posts_v2User post listUser identifierPostsCheap repeated pollingPer call
tikhub/api/v1/instagram/v1/fetch_related_profilesAccounts Instagram associates with this oneUser identifierRelated profilesNiche mappingPer call
tikhub/api/v1/instagram/v1/fetch_user_tagged_postsPosts the account is tagged inUser identifierTagged postsBrand mention monitoringPer call

Every row verified with monid inspect on 2026-08-20. The billing column is the shape rather than a figure, because per call and per result change how you batch and a price does not stay true.

What does an Instagram data pull actually cost?

Small enough that the interesting question is which half you are paying for.

Vetting a list of creators is the cheap case. Profile records bill per result at a fraction of a cent each, so a few hundred creators is well under a dollar and scales linearly with no plan underneath. Add the posts call for each and you are still in single-digit dollars for a serious vetting pass.

Monitoring is where it changes shape, because monitoring means repetition. The right move is to split the two halves by cadence: pull profiles daily, because a follower count is cheap and only meaningful as a series, and pull posts weekly, because a per-call endpoint charges the same whether you check often or rarely and the post history does not move that fast.

Discovery and inspection stay free, so you can read every field list and every billing shape before spending anything. That is what makes a metered balance work here: access costs nothing until it is used. Prices are at monid.ai/tools, and where metered loses to a subscription is covered in pay per call versus subscription.

When should you not use Monid?

If you manage the account, use the official APIs. Instagram's Graph API and the Instagram Basic Display successor give an account owner their own insights, including reach and impressions, which no third-party endpoint can see because the platform does not publish them. Anyone analysing their own account and reaching for a scraper is choosing worse data.

If you need a creator marketplace rather than data, buy one. Products like the influencer platforms bundle vetting, outreach, contracts and payment. If what you want is to run campaigns rather than to build something, raw endpoints are the wrong altitude and you will rebuild half a product badly.

If your volume is steady and high, a committed contract with a single social data vendor will beat metered pricing. Metered wins on bursty work and on the long tail of endpoints you call rarely, which describes vetting and research well and describes a production monitoring fleet less well.

And if you need historical follower data going back before you started collecting, nobody can sell you that honestly. The endpoints return the present. Anyone offering you a creator's follower history is showing you their own archive, which is a real product, but it is a different one.

Conclusion

There is no best Instagram API, because "Instagram data" is at least three jobs. Profiles, post-level engagement and follower records have different billing shapes and different reliability, and the field lists differ more than the marketing does. Pick by which job you are doing, and the choice becomes easy and cheap.

What matters more than the endpoint: follower counts are the least interesting thing available, and they are what every tracker leads with. Join date, username change count and verification date tell you whether an account is what it claims to be, and they cost the same call. If you build one thing from this piece, build the vetting check that reads those three fields.

The free next step costs nothing. Run monid discover -q "instagram profile posts engagement" to see what exists today, monid inspect on the profile and post endpoints to compare their field lists and billing shapes, then one small paid run against five creators you already know well. Start at monid.ai.

FAQ

What is the best Instagram API in 2026?

The one that returns the fields your job needs, which is usually the profile endpoint for vetting and the post endpoint for engagement. Ranking Instagram APIs against each other in the abstract does not work, because they differ mainly in field coverage and billing shape rather than in quality, and the two best options here bill in opposite directions. Compare the field lists at monid.ai/tools before comparing vendors.

How do I build an API that scrapes Instagram creator profiles?

Do not build the scraping layer, build the part above it. The hard, ongoing work in an Instagram scraper is blocking, layout changes and proxy rotation, and none of that is your product. Wrap an existing profile endpoint behind your own interface, keep the provider in configuration so you can swap it, and spend your engineering on the enrichment and scoring your users actually pay for.

Instagram Follow/Unfollow Bots, what still works in 2025?

That is a different category from data access and we do not help with it. Automating follows and unfollows acts on the platform on a user's behalf and risks the account it runs from, which is why the r/instagramautomations answers shift every few months. Reading public profile data is a separate activity with a separate risk profile, and this guide is only about the reading.

How do I automate scraping public Instagram data without getting blocked?

Use an endpoint that handles blocking as its own problem rather than yours, and keep your request pattern boring. The specific choices, which Apify actor fits which job and where the rate limits actually bite, are worked through in the Apify Instagram scraper guide. The shortest version: blocking is the vendor's engineering problem, and paying somebody to own it is cheaper than owning it yourself.

Last updated August 2026.

instagramsocialapicreatorsengagement