Instagram Tagged & Mentions Posts: Profile Data & Engagement
Pricing
$24.99/month + usage
Instagram Tagged & Mentions Posts: Profile Data & Engagement
Scrape Instagram posts mentioning specific tags with the Instagram Tagged Mentions Posts Scraper. Extract captions, media, usernames, likes, comments, and timestamps. Ideal for brand monitoring, trend tracking, and engagement analysis. Fast, accurate, and scalable for bulk scraping.
Pricing
$24.99/month + usage
Rating
0.0
(0)
Developer
Scrapier
Maintained by CommunityActor stats
1
Bookmarked
63
Total users
4
Monthly active users
3 days ago
Last modified
Categories
Share
Instagram Tagged Posts Scraper — Mentions, Profile & Engagement
Instagram Tagged Posts Scraper — Mentions, Profile & Engagement pulls every post where a target account is genuinely tagged or mentioned, straight from Instagram's own Tagged-tab feed and caption text — not a related-accounts guess. Each result includes hashtags, mentions, sponsorship flags, and the poster's full profile (followers, bio, business category), plus derived engagementScore, engagementVelocity, and engagementRate computed locally from the real counts. Every response is structured JSON — ready to pass to an LLM, index into a vector store, or feed a monitoring pipeline for brand-mention and UGC tracking.
What is Instagram Tagged Posts Scraper — Mentions, Profile & Engagement?
It's an Instagram scraper that resolves any username or profile URL, then pulls posts where that account is tagged (via Instagram's real PolarisProfileTaggedTabContentQuery Tagged-tab feed) or mentioned (via regex-extracted @handles in captions). What sets it apart from a plain tagged-posts list is that every row is enriched with the poster's full profile — followers, bio, business category — and with derived engagement analytics computed locally from the captured counts, not raw platform totals. No Instagram login or session cookie is required for any of this; every request runs against public endpoints.
- Pulls the real Tagged-tab feed for any public username, not a heuristic
- Extracts every
#hashtagand@mentionfrom post captions, not just one literal match - Enriches every tagger/mentioner's profile (followers, following, media count, bio, business category)
- Computes
engagementScore,postAgeDays,engagementVelocity, andengagementRateper post - Flags sponsorship signals:
is_paid_partnership,is_affiliate,sponsor_user - Controls how many posts per target and how many top comments per post to pull
What data can you get with Instagram Tagged Posts Scraper — Mentions, Profile & Engagement?
The Actor returns one row per matched post, distinguished by post_type, always carrying the poster's profile alongside the post itself.
| Result Type | Extracted Fields | Primary Use Case |
|---|---|---|
Tagged posts (post_type: "tagged") | post_id, short_code, tagged_users[], like_count, comment_count, owner{} | Brand/creator tag monitoring — see who's tagging you and in what content |
Mentioned posts (post_type: "mentioned") | mentioned_user, allMentions[], hashtags[], caption | Campaign and hashtag mention tracking beyond formal tags |
| Poster profile enrichment (merged into every row) | ownerFollowerCount, ownerFollowingCount, ownerMediaCount, ownerBiography, ownerExternalUrl, ownerIsBusinessAccount, ownerBusinessCategoryName, ownerProfilePicUrlHd | Lead/account qualification — separate real business inquiries from fan accounts |
Derived Engagement Analytics & Poster Profile Enrichment
This is the part a plain tagged-posts list doesn't give you. For every post, engagementScore (likes + comments) is combined with postAgeDays (time since posting) to compute engagementVelocity — engagement accumulated per day — and, when a view count exists, engagementRate (engagement ÷ views × 100). All four are computed locally from fields already captured in the same request, so there's no extra API call. In parallel, the account that posted the tag or mention gets a full profile lookup — not just the sparse username/is_verified fields the feed itself returns — merged directly onto the post row and cached per unique poster for the whole run.
{"short_code": "Cxxxxxxxxxx","engagementScore": 348,"postAgeDays": 2.14,"engagementVelocity": 162.6,"engagementRate": 4.87,"ownerFollowerCount": 8420,"ownerIsBusinessAccount": true,"ownerBusinessCategoryName": "Apparel & Clothing"}
Hashtags, Mentions & Sponsorship Signals
Every caption is regex-scanned for hashtags[] and allMentions[] — not just checked for one literal username — so you catch co-tags, campaign hashtags, and unrelated mentions in the same post. Sponsorship context ships alongside: is_paid_partnership, is_affiliate, and sponsor_user[], useful for auditing whether a tag or mention is organic UGC or a disclosed partnership.
How does Instagram Tagged Posts Scraper — Mentions, Profile & Engagement differ from the official Instagram API?
Meta's Instagram Graph API returns tags and mentions only for media that a connected Business or Creator account itself publishes — it has no endpoint for discovering who is tagging or mentioning an arbitrary public username, which is the core job of this Actor.
| Feature | Instagram Graph API | This Actor |
|---|---|---|
| Account requirement | Business/Creator account linked to a Facebook Page, plus Meta app review | Any public username — no account linkage |
| Tagged-post visibility | Tags on media you own/publish only | Real Tagged-tab feed for any public target |
| Arbitrary @mention detection | No dedicated endpoint | Regex-extracted allMentions[] from every caption |
| Tagger/mentioner profile data | Not exposed for third-party accounts | Full profile enrichment (followers, bio, business category) |
| Engagement analytics | Raw like/comment counts only | Adds engagementScore, engagementVelocity, engagementRate |
| Setup | OAuth app review, token refresh, webhook subscriptions | Enter usernames, start the run |
Use the Graph API when you manage the account in question and only need first-party insights inside Meta's own dashboard. Use this Actor when you need to discover and profile who is tagging or mentioning a public account you don't own or manage.
What is the difference between tagged posts and mentions on Instagram?
A tagged post is a structural tag — the poster attaches your account to the media itself via Instagram's tag UI, and it surfaces on your profile's /tagged/ tab. A mention is just an @handle typed anywhere in the caption text; it never touches the Tagged tab and Instagram exposes no dedicated feed for it. That distinction matters because a brand watching only its Tagged tab misses every caption mention — often the larger share of UGC and casual shout-outs. This Actor returns both as separate, checkable objects: tags arrive in tagged_users[] (sourced from the real PolarisProfileTaggedTabContentQuery feed), and mentions arrive in allMentions[]/mentioned_user (sourced from a caption regex scan), with post_type telling you which mechanism produced each row.
How to scrape Instagram tagged posts and mentions with this Actor?
- Open the Actor's page on Apify and click Start.
- Enter one or more usernames or profile URLs in
targets(leave empty and the Actor defaults to a sample account). - Set
maxPostsPerTargetandmaxCommentsPerPostto control result volume and comment depth per post. - Toggle
includeOwnerProfileEnrichmentand, optionally,proxyConfiguration, then run the Actor. - Download results as JSON or CSV from the run's dataset, or stream them via the API.
Example request body:
{"targets": ["mrbeast", "https://www.instagram.com/cristiano/"],"maxPostsPerTarget": 50,"maxCommentsPerPost": 5,"includeOwnerProfileEnrichment": true}
How to scrape multiple Instagram accounts in one job
targets accepts an array, so a single run scans every username or URL in the list. Each target is processed independently and gets its own maxPostsPerTarget budget across both the own-posts pass and the real tagged-feed pass, so a busy target can return up to roughly double maxPostsPerTarget matched posts before pagination stops at the Actor's internal 20-page-per-pass ceiling.
⬇️ Input
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
targets | No | array | Usernames or profile URLs to scan. Also accepts the legacy urlsOrKeywords key. | ["mrbeast"] |
maxPostsPerTarget | No | integer | Max tagged/mentioned posts to collect per target (10–1000). Also accepts the legacy maxPosts key. | 50 |
maxCommentsPerPost | No | integer | Max top-level comments fetched per post (0–50), feeding latest_comments. | 5 |
includeOwnerProfileEnrichment | No | boolean | Look up the full profile of the account behind each tagged/mentioned post (default true). | true |
proxyConfiguration | No | object | Apify proxy configuration. Defaults to RESIDENTIAL when left empty; honors "No proxy" too. | {"useApifyProxy": true} |
{"targets": ["mrbeast"],"maxPostsPerTarget": 10,"maxCommentsPerPost": 5,"includeOwnerProfileEnrichment": true,"proxyConfiguration": { "useApifyProxy": true }}
Pitfall: an empty targets array doesn't fail the run — the Actor silently falls back to a sample username, so double-check the field isn't blank before starting a real job. maxCommentsPerPost is also silently clamped to the 0–50 range server-side, so a value outside it won't error, it will just be capped.
⬆️ Output
Results are typed, normalized JSON with a consistent schema across runs, downloadable as JSON, CSV, Excel, or other Apify dataset export formats. When includeOwnerProfileEnrichment is off, the eight owner* enrichment fields are simply absent from the row rather than returned as null.
Scraped results
[{"post_id": "3xxxxxxxxxxxxxxxxxx_123456789","short_code": "Cxxxxxxxxxx","post_type": "tagged","like_count": 312,"comment_count": 36,"video_view_count": 0,"video_play_count": 0,"post_date": "2026-07-23T14:12:00.000Z","engagementScore": 348,"postAgeDays": 2.14,"engagementVelocity": 162.6,"engagementRate": null,"display_url": "https://scontent.cdninstagram.com/example1.jpg","alt": "Photo shared by smallfanaccount","video_duration": 0.0,"video_url": "","is_ad": false,"caption": "Big thanks to @mrbeast for the shoutout! #collab #ad","hashtags": ["collab", "ad"],"allMentions": ["mrbeast"],"owner": { "id": "9876543210", "username": "smallfanaccount", "is_verified": false },"ownerFollowerCount": 8420,"ownerFollowingCount": 612,"ownerMediaCount": 214,"ownerBiography": "Fan page | DMs open","ownerExternalUrl": null,"ownerIsBusinessAccount": true,"ownerBusinessCategoryName": "Apparel & Clothing","ownerProfilePicUrlHd": "https://scontent.cdninstagram.com/pic1.jpg","latest_comments": [{ "id": "17900000000000001", "text": "so cool!", "owner": { "username": "viewer1", "is_verified": false } }],"tagged_users": [{ "user_id": "", "username": "mrbeast", "full_name": "" }],"mentioned_user": null,"is_affiliate": false,"is_paid_partnership": false,"sponsor_user": [],"success": true},{"post_id": "3xxxxxxxxxxxxxxxxxx_223456789","short_code": "Cyyyyyyyyyy","post_type": "mentioned","like_count": 1904,"comment_count": 88,"video_view_count": 52310,"video_play_count": 52310,"post_date": "2026-07-24T09:40:00.000Z","engagementScore": 1992,"postAgeDays": 1.05,"engagementVelocity": 1897.1,"engagementRate": 3.808,"display_url": "https://scontent.cdninstagram.com/example2.jpg","alt": null,"video_duration": 14.2,"video_url": "https://scontent.cdninstagram.com/video2.mp4","is_ad": false,"caption": "Unboxing the new drop from @brandname #ad #unboxing","hashtags": ["ad", "unboxing"],"allMentions": ["brandname"],"owner": { "id": "1122334455", "username": "creatorhandle", "is_verified": true },"ownerFollowerCount": 184300,"ownerFollowingCount": 940,"ownerMediaCount": 1266,"ownerBiography": "Creator | Tech reviews","ownerExternalUrl": "https://linktr.ee/creatorhandle","ownerIsBusinessAccount": true,"ownerBusinessCategoryName": "Content Creator","ownerProfilePicUrlHd": "https://scontent.cdninstagram.com/pic2.jpg","latest_comments": [],"tagged_users": [],"mentioned_user": "brandname","is_affiliate": true,"is_paid_partnership": true,"sponsor_user": [{ "username": "brandname" }],"success": true},{"post_id": "3xxxxxxxxxxxxxxxxxx_323456789","short_code": "Czzzzzzzzzz","post_type": "user_post","like_count": 54,"comment_count": 3,"video_view_count": 0,"video_play_count": 0,"post_date": "2026-07-20T18:05:00.000Z","engagementScore": 57,"postAgeDays": 5.3,"engagementVelocity": 10.75,"engagementRate": null,"display_url": "https://scontent.cdninstagram.com/example3.jpg","alt": null,"video_duration": 0.0,"video_url": "","is_ad": false,"caption": "weekend recap","hashtags": [],"allMentions": [],"owner": { "id": "5566778899", "username": "targetaccount", "is_verified": false },"ownerFollowerCount": 3021,"ownerFollowingCount": 415,"ownerMediaCount": 88,"ownerBiography": "just posting","ownerExternalUrl": null,"ownerIsBusinessAccount": false,"ownerBusinessCategoryName": null,"ownerProfilePicUrlHd": "https://scontent.cdninstagram.com/pic3.jpg","latest_comments": [],"tagged_users": [],"mentioned_user": null,"is_affiliate": false,"is_paid_partnership": false,"sponsor_user": [],"success": true}]
How can I use the data extracted with Instagram Tagged Posts Scraper — Mentions, Profile & Engagement?
- Brand and social media managers: run scheduled scans across owned brand handles, then sort matched posts by
engagementVelocityto see which tags/mentions are gaining traction right now, not just accumulating likes over months. - Influencer marketing and UGC discovery teams: filter matched posters by
ownerFollowerCountandownerIsBusinessAccountto separate creators worth a partnership outreach from casual fan accounts, before ever opening a DM. - AI engineers and LLM developers: feed the structured JSON — tags, mentions, engagement metrics, poster profile — directly into an agent as grounding context for a brand-monitoring or lead-qualification assistant.
- Market researchers and competitive analysts: track how often competitor handles are tagged or mentioned over time and by what type of account (
ownerBusinessCategoryName), to gauge share of organic mentions versus paid partnerships (is_paid_partnership).
How do you monitor Instagram tagged posts and mentions over time?
Monitoring here means running the same target list on a schedule and diffing each run's results against the last one to see what changed. Between runs, new rows appear keyed by post_id — a new tagged_users[] entry or a new mentioned_user value signals a fresh tag or mention that didn't exist before. For posts seen in both runs, re-diff engagementVelocity and engagementRate to catch posts that are accelerating rather than just accumulating; for new posters, check ownerFollowerCount and ownerIsBusinessAccount to prioritize alerts on high-reach or business accounts over casual fan tags.
A practical loop: schedule a run across your tracked usernames, store each run's dataset, then compare the new run's post_id set against the previous one and alert whenever a new tagged/mentioned post appears from a poster whose ownerFollowerCount exceeds a threshold you set. It's also worth diffing ownerMediaCount and ownerFollowerCount for posters you've already seen — a sudden jump often means a fan account converted into a business account (ownerIsBusinessAccount flipping to true), which reclassifies a casual tag into a lead worth reviewing. Apify's Schedules feature can trigger the Actor on a recurring cadence; combine it with a webhook on run completion to push new dataset items to your own comparison and alerting pipeline, since the Actor itself has no built-in diffing or notification layer.
Integrate Instagram Tagged Posts Scraper — Mentions, Profile & Engagement and automate your workflow
Instagram Tagged Posts Scraper — Mentions, Profile & Engagement works with any language or tool that can send an HTTP request.
REST API with Python
import requestsTOKEN = "YOUR_APIFY_TOKEN"ACTOR = "instagram-tagged-mentions-scraper-profile-insights-engagement"resp = requests.post(f"https://api.apify.com/v2/acts/{ACTOR}/run-sync-get-dataset-items",params={"token": TOKEN},json={"targets": ["mrbeast"],"maxPostsPerTarget": 20,"includeOwnerProfileEnrichment": True,},)posts = resp.json()for post in posts:print(post["short_code"], post["post_type"], post.get("engagementVelocity"))
MCP for query-grounded AI agents
This Actor is reachable through Apify's own hosted MCP server at mcp.apify.com, which exposes public Apify Actors as callable tools to MCP-compatible clients (such as Claude Desktop and Claude Code). Point your client at the Apify MCP server, enable this Actor by its ID, and an agent can call it with a username list, receive the structured JSON above, and answer questions about who's tagging or mentioning an account without you writing custom retrieval code.
Scheduled monitoring and delivery
Use Apify's Schedules to run this Actor on a recurring cadence against a fixed target list, and attach a webhook on run completion to push each run's dataset to your own storage, alerting, or BI system rather than polling the Apify API manually.
Is it legal to scrape Instagram tagged posts?
Scraping publicly visible Instagram data is generally lawful in the US — courts have held that accessing data a website makes available to any visitor does not violate the Computer Fraud and Abuse Act (hiQ Labs v. LinkedIn Corp., 9th Cir., 2019/2022). This Actor only reads public tagged/mentioned posts and public profile fields; it does not log in or bypass any access control. Because poster profiles here include personal data — usernames, bios, follower counts — GDPR and CCPA still apply if you process data about identifiable EU or California residents, regardless of the data's public availability. Bulk storage, profiling, or re-publishing this data for commercial use carries different obligations than a one-off monitoring check. Consult your legal team for commercial use cases involving bulk data storage.
Frequently asked questions
Does this scraper need an Instagram login? No. Post discovery, the real tagged-posts feed, hashtag/mention extraction, and poster profile enrichment all run fully logged out against public endpoints.
How is "tagged" detected, and can it be trusted?
Via Instagram's own Tagged-tab GraphQL feed (PolarisProfileTaggedTabContentQuery, doc ID 31297049089941898) — the same feed instagram.com/username/tagged/ uses — not a related-accounts heuristic or guess.
Does this Actor extract real engagement insights, or just raw counts?
It returns both. Raw like_count/comment_count/video_view_count come straight from Instagram. On top of those, the Actor computes engagementScore, postAgeDays, engagementVelocity, and engagementRate locally from those same counts — these are derived analytics, not fields Instagram itself returns, and they're absent (null) only when the inputs to compute them (like a view count) aren't available.
How does the Actor handle Instagram's anti-bot measures?
It rotates user agents, routes requests through Apify residential proxies by default (configurable via proxyConfiguration), and uses a Chrome TLS-impersonating client for the profile-enrichment endpoint specifically, since that endpoint rate-limits plain HTTP clients regardless of proxy or cookie parity. It retries with backoff on HTTP 429 responses; it does not solve CAPTCHAs.
How many results does this Actor return per query?
maxPostsPerTarget (10–1000) sets the budget per target, applied independently to two passes: the target's own posts and the real tagged-feed. Both passes stop after 20 pages of pagination regardless of the limit, so total matched posts per target can be up to roughly double maxPostsPerTarget before that ceiling applies.
How do I use this Actor to monitor tags and mentions over time?
Schedule a recurring run across your target list via Apify Schedules, compare each run's post_id set to the previous run's, and alert on new entries — especially ones where the poster's ownerFollowerCount or ownerIsBusinessAccount indicates a high-value tag or mention rather than a casual fan post.
Does this work with Claude, ChatGPT, and AI agent frameworks?
Yes. It's callable as a plain HTTP endpoint by any agent framework, and it's also reachable through Apify's hosted MCP server (mcp.apify.com), which lets MCP-compatible clients like Claude call it as a registered tool.
How does this compare to a plain Instagram tagged-posts scraper?
A tagged-posts-only scraper returns the tag list and raw post counts. This Actor adds caption-mention detection (allMentions[]/mentioned_user), sponsorship flags, full poster profile enrichment, and derived engagement analytics on top of the same tagged-feed mechanism — so a tag list becomes a qualified lead and performance dataset instead of just a list of post IDs.
Can I use this without managing proxies or Instagram credentials? Yes. The Actor defaults to Apify RESIDENTIAL proxies and needs no Instagram account, login, or session cookie — you only supply the usernames to target and, optionally, your own proxy configuration.
What happens if a poster's profile is private or incomplete?
Enrichment fields like ownerBiography, ownerExternalUrl, and ownerBusinessCategoryName come back null rather than fabricated when Instagram doesn't expose them for a given account; core post fields are unaffected either way.
Your feedback
Found a bug or a field that doesn't match this README? Let us know through the Actor's Issues tab on Apify or the Scrapier support contact on the store listing — reports like this go straight into the next update.