Instagram Mentions Scraper With Brand Mention Tracker
Pricing
Pay per usage
Instagram Mentions Scraper With Brand Mention Tracker
Instagram Mentions Scraper collects posts where a profile is mentioned. Extract captions, media, hashtags, timestamps, and engagement details. Ideal for brand monitoring, influencer analysis, audience research, and workflows needing structured Instagram mention data.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
API Empire
Maintained by CommunityActor stats
0
Bookmarked
50
Total users
3
Monthly active users
4 days ago
Last modified
Categories
Share
Instagram Mentions Scraper — Extract Posts, Authors & Flags as JSON
Instagram Mentions Scraper With Brand Mention Tracker returns every public post where another account tagged or @-mentioned a brand handle you specify — not the brand's own feed. Each row combines the mention post, the mentioning author's profile fields, and a cross-run isNew / firstSeenAt tracking flag, delivered as typed, normalized JSON with no HTML and no selectors. There is no separate "posts" and "profiles" dataset to stitch together — one flat schema carries all three. After reading this, you'll know exactly what the actor collects, how the new-mention tracker works, and how to wire it into a monitoring pipeline.
What is Instagram Mentions Scraper With Brand Mention Tracker?
Instagram Mentions Scraper With Brand Mention Tracker is an Apify Actor that resolves an Instagram handle to its internal user ID and pages Instagram's usertags reverse-feed (the same data behind the /{handle}/tagged/ tab), so every row it returns was authored by someone else who tagged or mentioned your target. It requires a logged-in Instagram sessionId cookie, since Instagram serves a login-wall to logged-out traffic. It also keeps a per-handle history in a named key-value store so repeat runs can flag which mentions are new.
- Scrape inbound mention posts authored by other accounts
- Scrape the mentioning author's username, full name, ID and verified status
- Filter mentions by caption/hashtag keyword
- Flag new-vs-seen mentions across scheduled runs
- Export results as JSON, CSV or the other formats Apify datasets support
What data does Instagram Mentions Scraper With Brand Mention Tracker collect?
Every row blends three kinds of data — the mention post itself, the account that posted it, and this run's tracking state against prior runs.
| Data Type | Key Fields | JSON Field Names |
|---|---|---|
| Inbound mention posts | caption, hashtags, media, engagement | caption, hashtags, mentions, commentsCount, likesCount, videoPlayCount, displayUrl |
| Mentioning author (profile) | username, full name, verified status | authorUsername, authorFullName, authorId, authorIsVerified |
| New-mention tracking | new flag, first-seen time, matched keywords | isNew, firstSeenAt, matchedKeywords, scrapedAt |
Need more Instagram data?
If you also need outbound co-tag discovery — every other account tagged alongside your target in the same post — pair this with Instagram Tagged Posts & Co-Tagged Profiles Scraper. If you want deeper engagement stats on the accounts mentioning you, Instagram Profile Scraper: Per-Post Likes & Comments returns full profile data plus per-post like/comment sampling for any handle.
How does Instagram Mentions Scraper With Brand Mention Tracker differ from the official Instagram API?
Meta's Instagram Graph API only exposes mentions of the Instagram professional account your app is already connected to and approved for — it cannot tell you who is mentioning an arbitrary third-party handle, including competitors or unaffiliated brands. This actor works from any public handle you list.
| Feature | Instagram Graph API | Instagram Mentions Scraper With Brand Mention Tracker |
|---|---|---|
| Scope of accessible mentions | Only mentions of the app's own connected professional account | Inbound mentions of any public handle you provide |
| Account requirements | Instagram Business/Creator account linked to a Facebook Page | None — a logged-in sessionId cookie is enough |
| Approval process | Meta App Review + business verification for tagged-media permissions | No approval process; start a run directly |
| Third-party account coverage | Cannot query accounts you don't own or manage | Works for any public handle, including competitors |
| Setup time | Requires app review and business verification | A store run with your session cookie and target handles |
| Output shape | Nested JSON tied to Meta's versioned Graph API schema | Flat, stable JSON row per mention, defined by this actor |
If you already run a verified Business Instagram account and only need mentions of that one account inside your own app, the Graph API is the officially supported route. If you need to monitor inbound mentions of any handle — yours or someone else's — without app review, this actor is the practical path.
Why do developers and teams scrape Instagram?
For marketers and brand teams
Brand teams use inbound mention data to see who is tagging their handle without being asked — a signal official analytics dashboards don't surface for third-party or competitor accounts. A typical workflow sets targetUsername to the brand handle, adds mentionKeywords like a campaign hashtag term, and reads authorUsername, caption, and likesCount per row to rank which mentions are driving the most engagement, feeding results into a weekly reporting sheet or BI dashboard.
For reputation management and PR teams
PR and reputation teams need to know quickly when a handle gets tagged in a post, before a story spreads. Running with trackNewMentions on and onlyNewMentions set means a scheduled run only returns posts not seen before, using isNew and firstSeenAt to build an alert feed rather than re-processing the same mentions every day, which keeps a monitoring pipeline focused on genuinely new activity.
For researchers and analysts
Researchers studying how the public talks about a brand, public figure, or organization on Instagram can pull inbound caption, hashtags, and authorIsVerified fields to study who is engaging with a handle and how, using only publicly accessible posts — no private accounts, no login-gated content beyond the researcher's own session. This supports discourse and engagement studies without building a bespoke scraper.
For developers building monitoring products
Developers building a mention-monitoring or brand-alert product can schedule this actor per client handle, store the mention-history-<handle> diff state the actor already maintains, and forward only isNew rows into their own product's notification pipeline — avoiding having to build reverse-feed resolution, pagination, and deduplication themselves.
How to scrape Instagram (step by step)
- Open Instagram Mentions Scraper With Brand Mention Tracker on its Apify Store page and click Try for free / Start.
- Add one or more handles to
targetUsername— the brand handles whose inbound mentions you want. - Paste a logged-in Instagram
sessionidcookie value intosessionId— required, since Instagram login-walls logged-out traffic. - Optionally set
mentionKeywords,maxMentions,trackNewMentions, andonlyNewMentions, then start the run. - Download results from the Dataset tab as JSON, CSV, or another supported export format.
What to do when Instagram changes its structure
The actor is maintained against Instagram's usertags reverse-feed endpoint, and its output schema — field names and types — stays stable on the user's end even when the underlying GraphQL query changes internally. No specific fix turnaround is promised.
⬇️ Input
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
targetUsername | No | array | Instagram handles whose INBOUND mentions you want (posts by others tagging them). One per line, handle only — no @. Profile URLs also work. | ["natgeo"] |
mentionKeywords | No | array | Keep only mentions whose caption / hashtags / @-mentions contain any of these words (case-insensitive). Leave empty to keep every inbound mention. | ["sustainability"] |
maxMentions | No | integer | How many inbound mention posts to collect per handle. Use 0 for all available (within platform limits). Default 50, min 0, max 5000. | 100 |
trackNewMentions | No | boolean | Store seen mentions in a named key-value store per handle and flag each row isNew + firstSeenAt on later runs. Forward diff only — the first run is the baseline. Default true. | true |
onlyNewMentions | No | boolean | When change-tracking is on, emit only mentions not seen in a previous run. Ignored on the first (baseline) run. Default false. | false |
sessionId | No | string | Your logged-in Instagram sessionid cookie value. Required in practice — Instagram serves a login-wall to logged-out traffic. Used only on requests, never stored in the dataset. | "58abc123..." |
proxyConfiguration | No | object | Apify Proxy helps avoid Instagram rate limits. Residential is used automatically on blocks. | {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]} |
No field is marked required in the input schema, but a run without targetUsername returns nothing, and a run without sessionId will very likely hit Instagram's login-wall and return zero rows instead of failing with a hard input error — that is the most common pitfall with this actor.
{"targetUsername": ["natgeo", "nike"],"mentionKeywords": ["wildlife", "sustainability"],"maxMentions": 100,"trackNewMentions": true,"onlyNewMentions": false,"sessionId": "58abc1234def5678ghij9klmn0opqrst","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
⬆️ Output
Every result is one flat, typed JSON row combining the mention post, its mentioning author, and this run's tracking state — Instagram does not expose these as separate feeds, so the actor does not split them into artificial datasets. Results are stored in an Apify dataset and can be exported as JSON, CSV, Excel, or the other formats Apify datasets support.
Scraped inbound mention row
{"targetUsername": "natgeo","postType": "inbound_mention","isNew": true,"firstSeenAt": "2026-07-25T10:14:02.000Z","scrapedAt": "2026-07-25T10:14:02.000Z","authorUsername": "wildlife_traveler","authorFullName": "Wildlife Traveler","authorId": "7841239012","authorIsVerified": false,"url": "https://www.instagram.com/p/C8xYz1AbCde/","shortCode": "C8xYz1AbCde","id": "3401234567890123456","type": "Carousel","caption": "Incredible sunrise over the savanna today #wildlife #sustainability @natgeo","hashtags": ["wildlife", "sustainability"],"mentions": ["natgeo"],"matchedKeywords": ["wildlife", "sustainability"],"commentsCount": 42,"likesCount": 1893,"videoPlayCount": 0,"displayUrl": "https://scontent.cdninstagram.com/v/example_display.jpg","images": ["https://scontent.cdninstagram.com/v/example_1.jpg","https://scontent.cdninstagram.com/v/example_2.jpg"],"dimensionsHeight": 1350,"dimensionsWidth": 1080,"timestamp": "2026-07-24T06:32:11.000Z","childPosts": [{"id": "3401234567890123457","type": "Image","shortCode": "C8xYz1AbCde","url": "https://www.instagram.com/p/C8xYz1AbCde/","dimensionsHeight": 1350,"dimensionsWidth": 1080,"displayUrl": "https://scontent.cdninstagram.com/v/example_1.jpg"}],"locationName": "Maasai Mara National Reserve","productType": "carousel_container","taggedUsers": [{"full_name": "National Geographic","id": "232192752","is_verified": true,"username": "natgeo"}]}
timestamp is returned as null on feed nodes that don't expose taken_at, rather than a fabricated date. Note that taggedUsers entries use full_name / is_verified (snake_case) while every other object in the row uses camelCase — that mirrors the actor's actual output, not a documentation error.
How many results can you scrape with Instagram Mentions Scraper With Brand Mention Tracker?
maxMentions accepts up to 5,000 per handle (0 means "all available"), but the actor pages the usertags feed at 12 posts per page for a maximum of 100 pages per handle — a structural ceiling of roughly 1,200 mention posts per handle per run, whichever is reached first: your maxMentions value, the page cap, or Instagram simply running out of inbound mentions to return. Multiple targetUsername handles are processed sequentially in the same run, each with its own limit and its own paging. There is no documented per-account daily cap beyond what Instagram's own rate limiting and login-wall enforcement impose, which residential proxy rotation is designed to work around.
Integrate Instagram Mentions Scraper With Brand Mention Tracker and automate your workflow
Instagram Mentions Scraper With Brand Mention Tracker works with any language or tool that can send an HTTP request, since it runs as a standard Apify Actor.
REST API integration
import requestsrun = requests.post("https://api.apify.com/v2/acts/instagram-mentions-scraper-with-brand-mention-tracker/run-sync-get-dataset-items",params={"token": "YOUR_APIFY_TOKEN"},json={"targetUsername": ["natgeo"],"maxMentions": 100,"sessionId": "YOUR_IG_SESSIONID",},)mentions = run.json()print(f"Fetched {len(mentions)} inbound mentions")
Works in Python, Node.js, Go, Ruby, cURL.
Automation platforms (n8n, Make)
In n8n, the official Apify node's "Run Actor" operation calls this actor by ID and its "Get Dataset Items" operation retrieves the resulting mention rows for downstream steps like filtering or Slack alerts. In Make, the official Apify app's "Run an Actor" module does the same, letting you chain a scheduled mention run into a scenario that emails or posts new inbound mentions as they appear.
Is it legal to scrape Instagram?
Scraping publicly accessible Instagram content is generally legal; this actor returns only public posts and public profile fields, and never accesses private accounts. Because mentioning-author data (authorUsername, authorFullName, authorId) is personal data, storage and use of it falls under GDPR (EU/UK) and CCPA (California) if you retain it or use it commercially — you need a lawful basis, and you should honor deletion or access requests from data subjects. Consult legal counsel for commercial use cases involving bulk personal data.
Frequently asked questions
Does Instagram Mentions Scraper With Brand Mention Tracker work without an Instagram account?
No. Instagram serves a login-wall to logged-out traffic, so the actor requires a sessionId cookie from a logged-in Instagram session. Without it, runs will very likely hit the login-wall and return zero rows.
How often is the scraped data updated?
Every run performs a live fetch against Instagram's usertags reverse-feed at the moment it executes — there is no cached or pre-scraped dataset. Cross-run tracking state (isNew/firstSeenAt) is the only thing persisted between runs.
What happens if a target handle has no inbound mentions or can't be resolved?
If the actor can't resolve a handle to an Instagram user ID after retrying, it logs an error and skips that handle, returning no rows for it rather than failing the whole run. If a handle resolves but has no inbound mentions (or none matching mentionKeywords), that handle simply contributes zero rows.
Can I scrape private Instagram accounts' mentions?
No. Only publicly accessible posts are returned. Mentions on private accounts, or from private accounts, are not accessible through this actor.
How does the brand mention tracker actually work?
trackNewMentions writes each seen mention's shortCode/id into a named key-value store per target handle (mention-history-<handle>) after every run. On the next run, any mention already in that store is flagged isNew: false with its original firstSeenAt preserved; anything not in the store is flagged isNew: true. This is a genuine forward-only diff, not a static label — the very first run for a handle has no baseline, so every row on that run is isNew: true.
Does Instagram Mentions Scraper With Brand Mention Tracker work for AI agent workflows and LLM pipelines?
Yes. It is callable as a standard HTTP endpoint by any agent framework, and every response is typed, normalized JSON with stable field names — no HTML or selectors to parse before passing results to an LLM.
How does it handle Instagram's anti-bot system?
The actor rotates a residential Apify Proxy IP on 403/429 responses, retries token extraction and page fetches with backoff, and detects Instagram's login-wall HTML directly (rather than treating it as a silent success) so failures are logged instead of returning fabricated data.
Does it return data in a format LLMs can use directly?
Yes. Each row is typed, normalized JSON with stable field names, ready to pass into an LLM context window, index into a vector store, or route through an agent tool.
Can I use Instagram Mentions Scraper With Brand Mention Tracker without managing proxies?
Yes. Enabling proxyConfiguration lets Apify's residential proxy pool handle IP rotation automatically; you don't provision or rotate proxies yourself.
What happens when Instagram changes its structure or blocks the scraper?
The actor is maintained, and its output schema — field names and types — stays stable on the user's end even as the underlying request logic is updated internally. No specific turnaround time is promised.
Your feedback
Found a bug or a field that doesn't match what's documented here? We want to know. Reach out through the Actor's Issues tab on Apify Console or the API-Empire support channel, and include a sample run so we can reproduce it.