Instagram Tagged & Mentions Posts: Hashtag & Related Profiles avatar

Instagram Tagged & Mentions Posts: Hashtag & Related Profiles

Pricing

$19.99/month + usage

Go to Apify Store
Instagram Tagged & Mentions Posts: Hashtag & Related Profiles

Instagram Tagged & Mentions Posts: Hashtag & Related Profiles

Instagram Tagged Mentions Posts Scraper collects posts where a profile is tagged or mentioned, capturing captions, media URLs, hashtags, timestamps, and engagement metrics. Ideal for brand monitoring, influencer analysis, user-generated content research, and automated Instagram insights

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

SimpleAPI

SimpleAPI

Maintained by Community

Actor stats

0

Bookmarked

21

Total users

2

Monthly active users

7 days ago

Last modified

Share

Instagram Tagged Posts Scraper — Mentions, Hashtag and Profile Data

Extract every Instagram post where a profile is tagged or @-mentioned — pulled from three real Instagram surfaces in one run: the account's own posts, Instagram's actual Tagged tab (GraphQL, not a guess), and, optionally, a campaign hashtag or a network of related/similar accounts. Each row returns post_id, caption, hashtags, allMentions, tagged_users, owner, like_count, comment_count, and discoveryMethod. Built for brand-protection teams, social-listening agencies, and researchers who need structured JSON instead of manual tab-scrolling.

What is Instagram Tagged Posts Scraper — Mentions, Hashtag and Profile Data?

It's an Apify Actor that finds Instagram posts tagging or mentioning one or more target profiles and returns them as structured dataset rows. The default mode runs fully logged-out — no Instagram account, cookie, or API key required. Two optional modes extend the search: an authenticated hashtag/campaign-discovery mode, and a logged-out related-profile network expansion.

  • Discovers posts three ways per target profile: parsing the account's own post captions for #hashtags/@mentions, and pulling Instagram's real Tagged-tab feed (PolarisProfileTaggedTabContentQuery GraphQL)
  • Optionally expands to each target's real "related/similar accounts" (edge_related_profiles / edge_chaining) and can scan those accounts' own posts for the same tag/mention
  • Optionally scans a campaign hashtag via Instagram's authenticated top_serp search and flags which target usernames each result tags or mentions
  • Returns identifying and engagement fields: owner, tagged_users, mentioned_user, like_count, comment_count, video_view_count, latest_comments
  • Real, wired comment-count and proxy controls — not hardcoded fallbacks
  • Downloadable as JSON, CSV, Excel, or an HTML table directly from the Apify dataset

What data can I extract with Instagram Tagged Posts Scraper — Mentions, Hashtag and Profile Data?

Every run returns post, profile, and discovery-provenance data in one flat dataset — the table below lists the fields exposed in the Actor's default dataset view.

FieldExample ValueUse Case
type"related_profile"Distinguishes related-profile and hashtag-discovery rows from post rows
discoveryMethod"tagged_feed"Traces which mechanism found the row: own_posts, tagged_feed, related_profile_scan, related_profile_expansion, hashtag_discovery
post_id"3452981726400981234"Unique media identifier for deduplication
short_code"C9x7ZqRSy2A"Builds the direct post URL (instagram.com/p/{short_code}/)
post_type"tagged"Separates genuinely tagged posts from caption-mentioned posts
like_count18420Engagement ranking
comment_count312Engagement ranking
video_view_count154200Reel/video reach signal
post_date"2026-07-18T14:32:07.000Z"Timeline / recency filtering
display_url"https://scontent.cdninstagram.com/.../123.jpg"Thumbnail/media preview
caption"Huge thanks to @mrbeast for the shoutout! #collab"Source text for hashtag/mention parsing
hashtags["collab"]Campaign/topic tracking
allMentions["mrbeast"]Every @-handle found in the caption, not just the target
owner{ "username": "fan_page_daily", ... }Who posted the tag/mention
latest_comments[{ "text": "This is amazing!", ... }]Comment-level sentiment/context
tagged_users[{ "username": "mrbeast", "full_name": "MrBeast" }]Confirms exactly who Instagram's own tag data names
mentioned_user"mrbeast"The target this row was matched against
matchedTargetUsernames["mrbeast"]Hashtag-discovery mode only: which targets a hashtag post tags/mentions
hashtagQueried"mrbeastchallenge"Hashtag-discovery mode only: the campaign tag scanned
sourceUsername"mrbeast"Related-profile rows only: the seed profile this suggestion came from
username"beast_philanthropy"Related-profile rows only: the suggested account's handle
full_name"Beast Philanthropy"Display name for the row's profile
is_verifiedtrueBlue-check status
is_affiliatefalseInstagram affiliate-content flag
is_paid_partnershiptrueBranded-content flag
sponsor_user[{ "username": "some_brand" }]Named sponsor(s) on paid-partnership posts
successtrueRow was extracted cleanly (failed extractions are never pushed)

The dataset view above is a subset. The full JSON pushed to each post row (via the API or "Download dataset") also carries is_ad, alt (accessibility caption), video_duration, video_url, video_play_count, and a fuller owner object (is_private, edge_followed_by.count, edge_owner_to_timeline_media.count, and more) — see the Output sample below for the complete shape.

Engagement and media data

like_count, comment_count, video_view_count, and video_play_count give a per-post engagement snapshot; display_url and video_url link straight to the media. latest_comments (capped by maxCommentsPerPost) returns each comment's text, owner, and like count for quick sentiment scanning without opening the post. Paid-partnership posts additionally carry is_paid_partnership, is_affiliate, and sponsor_user — useful for spotting undisclosed or third-party branded content tagging your account, since sponsor_user names the actual declared sponsor rather than just flagging that a partnership exists.

Targeting and discovery data

discoveryMethod is the core segmentation field — filter it to isolate posts found via the real Tagged-tab feed (tagged_feed) from ones found only by caption parsing (own_posts), a related-profile scan (related_profile_scan), or hashtag discovery (hashtag_discovery). hashtagQueried and matchedTargetUsernames let you group hashtag-discovery rows by campaign and by which target they hit, while sourceUsername groups related-profile rows back to the seed account that surfaced them.

How does Instagram Tagged Posts Scraper — Mentions, Hashtag and Profile Data differ from the official Instagram API?

Instagram's Graph API exposes tagged/mentioned media only through GET /{ig-user-id}/tags and GET /{ig-user-id}/mentioned_media — both scoped to the caller's own authenticated Business or Creator account. There is no way to pull another public profile's tagged posts through the official API at all.

FeatureInstagram Graph APIThis Actor
Access scopeOnly your own authenticated Business/Creator accountAny public Instagram username or profile URL
Account type requiredBusiness or Creator account, Facebook App ReviewNone for the default mode; a personal sessionid only for hashtag mode
Hashtag/campaign searchRestricted recently_searched_hashtags flow with tight rolling capshashtagsToMonitor + sessionid, logged-in top_serp search
Related/similar-account discoveryNot exposedexpandRelatedProfiles via Instagram's own edge_related_profiles/edge_chaining
Caption hashtag/mention parsingNot provided — raw caption text onlyhashtags[] and allMentions[] pre-extracted on every row
SetupFacebook Developer app, review process, token refresh cycleRun the Actor with a username list
Output formatRaw Graph API JSON per endpointNormalized dataset rows, ready for JSON/CSV/Excel export

Why can't I just pull any account's tagged posts through the Graph API?

The Graph API's /tags and /mentioned_media endpoints are scoped to the authenticated account itself — Instagram will not return another business's or creator's tagged feed to your access token, by design. Monitoring who tags your brand across the platform, or checking what a competitor is tagged in, isn't possible through the official API at all. This Actor covers that gap by reading the same public Tagged-tab surface Instagram's own website uses, for any public username, without that account's login credentials.

Use the Graph API when you run a Business/Creator account and only need your own tagged/mentioned feed inside an approved app. Use this Actor for profiles you don't control, hashtag-campaign coverage, or related-account network data.

How to use data extracted from Instagram?

Brand monitoring teams

Set targetProfiles to your brand's handle(s) and leave expandRelatedProfiles off for a fast run. The tagged_feed and own_posts rows surface every real tag and caption mention, with owner, caption, like_count, and is_paid_partnership telling you who's talking about the brand, how popular the post is, and whether it's a paid collaboration worth a compliance check. Filter post_type to tagged to isolate posts where Instagram itself confirms the tag, versus mentioned posts that only reference the handle in text.

Agencies running client audits

Agencies managing several client accounts can pass all client handles into one targetProfiles run and split the output by mentioned_user/owner.username per client. Re-running on a schedule and diffing post_id values against the prior run's dataset turns this into a recurring tagged-mention audit without rebuilding the query each time.

Market and trend research

Turn on hashtagsToMonitor with a campaign or niche hashtag and a sessionid to pull hashtag_discovery rows independent of any specific target — every post under that tag, with hashtags[], allMentions[], and engagement fields already parsed. Aggregating like_count and comment_count across those rows gives a quick read on which creators and content angles are driving engagement inside a hashtag community.

AI agents and automated pipelines

Because every field is flat, typed JSON, an agent can call this Actor as a tool, filter on discoveryMethod and post_type, and hand caption/allMentions straight to a downstream classifier for brand-safety or sentiment scoring — no HTML parsing required on the agent's side.

🔼 Input sample

All 10 input parameters are optional — the Actor runs with no input at all (defaulting to mrbeast, 20 posts).

ParameterRequiredTypeDescriptionExample Value
targetProfilesNoarrayInstagram usernames or profile URLs to find tagged/mentioned posts for["mrbeast"]
maxPostsPerProfileNointeger (10–1000)Max posts to scrape per target — own posts plus real tagged-feed posts20
maxCommentsPerPostNointeger (1–50)How many latest comments to fetch per post5
expandRelatedProfilesNoboolean (default false)Fetch Instagram's real related/similar accounts for each target and emit them as rowstrue
maxRelatedProfilesNointeger (1–20)How many related profiles to fetch per target (used only when expansion is on)5
scanRelatedProfilesForTagsNoboolean (default false)Also scan each related profile's own posts for a tag/mention of the targettrue
hashtagsToMonitorNoarrayCampaign/brand hashtags to scan for posts tagging or mentioning your targets (requires sessionid)["mrbeastchallenge"]
sessionidNostring (secret)Logged-in Instagram sessionid cookie — required ONLY if hashtagsToMonitor is non-empty"71234567%3Aabc123..."
hashtagResultsLimitNointeger (1–200)Max matching posts to return per hashtag scanned30
proxyConfigNoobjectProxy configuration for all logged-out requests{ "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
{
"targetProfiles": ["mrbeast", "https://www.instagram.com/nike/"],
"maxPostsPerProfile": 30,
"maxCommentsPerPost": 5,
"expandRelatedProfiles": true,
"maxRelatedProfiles": 5,
"scanRelatedProfilesForTags": false,
"hashtagsToMonitor": [],
"sessionid": "",
"hashtagResultsLimit": 30,
"proxyConfig": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Common pitfall: hashtagsToMonitor silently does nothing without sessionid — the run logs a warning and skips hashtag discovery entirely while every other (logged-out) mode continues normally. It won't fail the run, so a missing session is easy to overlook if you're only checking the dataset item count instead of the log.

🔽 Output sample

Every extracted post is pushed as one flat JSON record under the row_result charged event — failed extractions are logged but never pushed, so you're never billed for a row with no usable data. Results are available as JSON, CSV, Excel, or an HTML table from the dataset.

{
"post_id": "3452981726400981234",
"short_code": "C9x7ZqRSy2A",
"is_affiliate": false,
"is_paid_partnership": true,
"is_ad": false,
"like_count": 18420,
"comment_count": 312,
"video_view_count": 154200,
"video_play_count": 154200,
"post_date": "2026-07-18T14:32:07.000Z",
"display_url": "https://scontent.cdninstagram.com/v/t51.2885-15/123_n.jpg",
"alt": "Photo by fan_page_daily",
"caption": "Huge thanks to @mrbeast for the shoutout! #collab #creator",
"video_duration": 0.0,
"video_url": "",
"sponsor_user": [{ "username": "some_brand" }],
"owner": {
"id": "5321498760",
"username": "fan_page_daily",
"is_verified": false,
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/456_n.jpg",
"blocked_by_viewer": false,
"restricted_by_viewer": null,
"followed_by_viewer": false,
"full_name": "Fan Page Daily",
"has_blocked_viewer": false,
"is_embeds_disabled": false,
"is_private": false,
"is_unpublished": false,
"requested_by_viewer": false,
"pass_tiering_recommendation": true,
"edge_owner_to_timeline_media": { "count": 842 },
"edge_followed_by": { "count": 213500 }
},
"latest_comments": [
{
"id": "17998877665544",
"text": "This is amazing!",
"created_at": 1721304000,
"did_report_as_spam": false,
"owner": { "id": "998877", "is_verified": false, "profile_pic_url": "", "username": "some_viewer" },
"viewer_has_liked": false,
"edge_liked_by": { "count": 4 }
}
],
"post_type": "tagged",
"tagged_users": [{ "user_id": "12345678", "username": "mrbeast", "full_name": "MrBeast" }],
"mentioned_user": null,
"hashtags": ["collab", "creator"],
"allMentions": ["mrbeast"],
"discoveryMethod": "tagged_feed",
"success": true
}

How do you filter and target specific posts?

Targeting starts with the choice between profile mode and hashtag mode. targetProfiles (usernames or URLs) drives the default, fully logged-out search — the Actor checks each target's own captions and Instagram's real Tagged-tab feed. hashtagsToMonitor switches on campaign-level discovery instead: with a sessionid supplied, it scans a hashtag's top_serp results and, if targetProfiles is also set, keeps only posts that actually tag or mention one of them (matchedTargetUsernames); leave targetProfiles empty and it returns every post under the hashtag as a standalone monitor.

Scope is controlled per mode: maxPostsPerProfile (10–1000) caps own-posts and tagged-feed volume per target, maxCommentsPerPost (1–50) caps how deep comment extraction goes per post, and hashtagResultsLimit (1–200) caps hashtag-mode results per tag. Network expansion is its own scope control — expandRelatedProfiles plus maxRelatedProfiles (1–20) decides how far the related-account graph extends per target, and scanRelatedProfilesForTags decides whether those related accounts also get searched for the same tag/mention, at 10 posts each.

Brand mentions only, logged-out:

{ "targetProfiles": ["mrbeast"], "maxPostsPerProfile": 50, "maxCommentsPerPost": 3 }

Widen the search to the account's network:

{ "targetProfiles": ["mrbeast"], "expandRelatedProfiles": true, "maxRelatedProfiles": 10, "scanRelatedProfilesForTags": true }

Campaign hashtag monitor, matched against specific brands:

{ "targetProfiles": ["mrbeast"], "hashtagsToMonitor": ["mrbeastchallenge"], "sessionid": "71234567%3Aabc123...", "hashtagResultsLimit": 100 }

▶️ Want to try other Instagram scrapers?

Scraper NameWhat it extracts
Instagram Tagged Posts Scraper: Videos, Carousels & Reels InfoTagged posts enriched with direct video/Reel URLs, play counts, music info, and normalized per-slide carousel breakdowns — no hashtag or related-profile modes
Instagram Mentions Scraper: Sentiment AnalysisInbound @-mention posts scored for sentiment, topics, and emoji polarity, with optional AI-model enrichment
Instagram Hashtag Scraper: Content PlannerTurns a hashtag into a best-time-to-post histogram plus recurring caption keywords (requires a sessionid)
Instagram Related Person Scraper With Profile EnrichmentRelated/suggested profiles enriched with follower counts, bio, verified and private status
Instagram Followers Scraper & Related Profile ExpansionReal followers per profile plus related-account audience-overlap scoring (sharedAudiencePct)
Instagram Related Hashtag Stats Scraper By Keyword SearchTurns a niche keyword into candidate hashtags with real postsCount and related-hashtag stats

How to extract Instagram data programmatically

The Actor runs like any Apify Actor: one API call starts the run, one token authenticates it, and structured JSON comes back from the dataset — no bespoke integration required.

Python example

from apify_client import ApifyClient
client = ApifyClient("<APIFY_API_TOKEN>")
run = client.actor("<your-username>/instagram-tagged-mentions-scraper-hashtag-and-related-profiles").call(
run_input={
"targetProfiles": ["mrbeast"],
"maxPostsPerProfile": 30,
"expandRelatedProfiles": True,
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("discoveryMethod"), item.get("caption"), item.get("like_count"))

Export to spreadsheets or CRM

From the run's dataset, choose "Export" and pick CSV or Excel. Flat fields like post_id, caption, like_count, comment_count, and owner.username map directly to spreadsheet columns; nested fields (tagged_users, latest_comments, hashtags) export as JSON strings per cell, ready to split or import into a CRM's custom fields.

Scraping publicly visible Instagram posts is generally legal, since the posts, captions, and tag data are already published for anyone to view without logging in. However, rows returned by this Actor routinely contain personal data: the usernames, full names, and profile pictures of people who tagged, mentioned, or commented on a target account. Storing or processing that data at scale brings it under GDPR (if EU/UK residents are represented) and CCPA (for California residents), meaning you need a lawful basis for collection and a defined retention/use policy — not just public availability. Consult legal counsel for commercial applications involving bulk storage of personal data, particularly before using tagged-user or commenter data for anything beyond monitoring your own brand.

❓ FAQ

Does the Actor flag posts that were deleted or made private after being tagged?

No — there's no deletion-tracking field in the output. Each run returns a live snapshot of what Instagram's Tagged tab, captions, or hashtag search show at request time. To detect posts that disappeared, re-run against the same target and diff post_id values between runs yourself.

Can I get comments along with tagged/mentioned posts?

Yes. Set maxCommentsPerPost (1–50) and each post row includes a latest_comments array with comment text, owner, timestamp, and like count. This is a real, working input in this Actor — the base engine it's built on hardcoded it to a single comment.

How accurate is the tagged/mention data?

The Actor returns data exactly as it appears on Instagram's public Tagged tab and post captions at request time. Accuracy depends on Instagram's own tag data and whether the poster has since edited the caption; for compliance-sensitive brand-protection use, re-verify high-stakes matches against the live post before acting on them.

How many posts can I get per run?

There's no single global cap — volume is set by maxPostsPerProfile (10–1000 per target, applied separately to own-posts and tagged-feed), maxRelatedProfiles (1–20 per target), and hashtagResultsLimit (1–200 per hashtag). Total run size scales with how many entries you put in targetProfiles and hashtagsToMonitor.

How does hashtag/campaign discovery mode work?

Set hashtagsToMonitor plus a valid sessionid (a logged-in Instagram session cookie) and the Actor scans that hashtag's real top_serp search results. If targetProfiles is also set, only posts that actually tag or mention one of those usernames are kept, flagged via matchedTargetUsernames; with no targetProfiles, every post under the hashtag is returned as a standalone campaign monitor. This is the only mode in the Actor that requires authentication.

What's the difference between post_type: "tagged" and post_type: "mentioned"?

tagged means Instagram's own tag data (usertags) names the target, or the row came directly from the real Tagged-tab feed. mentioned means the target's @handle appears in the caption text but Instagram didn't structurally tag them. Both are returned; filter post_type if you only want one.

Does this Actor work with Claude, ChatGPT, and AI agent frameworks?

Yes, via Apify's Actors MCP Server: run APIFY_TOKEN=<token> npx -y @apify/actors-mcp-server --actors <your-username>/instagram-tagged-mentions-scraper-hashtag-and-related-profiles to expose it as a callable tool to MCP-compatible clients such as Claude Desktop or Cursor. It's also callable as a plain HTTP endpoint by any agent framework that can make an API call.

How does this compare to other Instagram tagged-post scrapers?

Several tagged-post scrapers exist on the Apify Store. This one's distinguishing combination is running three real discovery mechanisms in a single Actor — own-caption parsing, Instagram's actual Tagged-tab GraphQL feed, and optional authenticated hashtag discovery plus logged-out related-profile network expansion — rather than covering only one of those surfaces.

Can I use this without an Instagram API key or developer account?

Yes, for the default mode. Profile-based tagged/mention scraping, comment extraction, and related-profile expansion all run fully logged-out — no Instagram account, API key, or Facebook Developer app is needed. The only exception is hashtag/campaign discovery mode, which needs a personal Instagram sessionid cookie value (not an API key or app credential).

Conclusion

This Actor turns Instagram's scattered tag, mention, hashtag, and related-account surfaces into one structured dataset, without the Business-account and Facebook App Review requirements the official Graph API imposes on tagged/mentioned media. It's built for brand monitoring teams, agencies running client audits, and researchers who need post_type, hashtags, allMentions, and discoveryMethod as clean, filterable JSON rather than manual tab-checking. Start with targetProfiles set to the account(s) you're monitoring, add expandRelatedProfiles or hashtagsToMonitor when you need wider coverage, and run it directly from the Apify Console or API.