Instagram Tagged & Mentions Posts & Location Scraper
Pricing
$19.99/month + usage
Instagram Tagged & Mentions Posts & Location Scraper
πΈ Instagram Tagged and Mentions Posts Scraper lets you extract posts where users are tagged or mentioned. π Get captions, likes, comments, video URLs, and partnership info. Perfect for brand monitoring, influencer research, and engagement analysis. Export data in JSON, CSV, or Excel!
Pricing
$19.99/month + usage
Rating
4.1
(4)
Developer
Scraper Engine
Maintained by CommunityActor stats
0
Bookmarked
134
Total users
3
Monthly active users
6 days ago
Last modified
Categories
Share
Instagram Tagged Posts Scraper β Location, Mentions & Music Data
Instagram Tagged & Mentions Posts & Location Scraper finds every post where a public Instagram account is genuinely tagged or @-mentioned, using Instagram's own tagged-posts feed instead of a guessed account list. Each post returns like_count, locationName with coordinates, musicInfo, and the full carouselMedia array, delivered as structured JSON with no HTML parsing required. Enter a username and start a run to see real tagged and mentioned posts land in the dataset.
What is Instagram Tagged & Mentions Posts & Location Scraper?
Instagram Tagged & Mentions Posts & Location Scraper is an Apify Actor that scans a public Instagram account's own posts and its real "Tagged" feed (Instagram's PolarisProfileTaggedTabContentQuery GraphQL feed) to find every post where that account was tagged or @-mentioned in a caption. Every post is enriched with geotag location, Reels music/audio metadata, the full carousel media array at every resolution, hashtags, mentions, and top comments, returned as structured JSON. It runs without an Instagram account or login β it pulls its own auth tokens straight from the target's public profile page. It's built for social-media marketers, UGC/influencer researchers, and developers building brand-monitoring or geo-content pipelines.
What Instagram tagged, mention and location data is publicly available to scrape?
Anyone can view a public profile's own posts, its Tagged tab, and any location or audio on a post without logging in. What stays behind a login wall is private-account content and Instagram's messaging and membership features.
| Data Category | Publicly Available | Restricted behind Instagram login |
|---|---|---|
| Public account's own posts & captions | Yes | Private accounts β login + approved follow |
| Tagged-post feed (account genuinely tagged) | Yes, via the public Tagged tab | Same feed on a private account β login |
| Post geotag (location name + coordinates) | Yes, when added | β |
| Hashtags & @-mentions in captions | Yes, parsed from caption text | β |
| Reels/clip music and audio metadata | Yes, when present on the post | β |
| Top post comments | Yes, logged-out page limit | Full thread & deeper replies β login |
| Follower/following lists of any account | No | Always requires login |
| Direct messages and story replies | No | Always requires an authenticated login |
Instagram Tagged & Mentions Posts & Location Scraper only returns publicly visible data β what any visitor sees. Nothing behind a login wall.
What data can I extract with Instagram Tagged & Mentions Posts & Location Scraper?
Every dataset row is one Instagram post, describing its identity and caption, its engagement and monetization flags, and its location/music/media details.
| Field Name | Description |
|---|---|
post_id | Instagram's internal numeric post ID |
short_code | Post shortcode used in the post's URL |
post_url | Full instagram.com/p/<short_code>/ link |
post_type | tagged, mentioned, or user_post β whether the target account was actually tagged, @-mentioned in the caption, or this is their own post |
post_date | ISO-8601 post timestamp |
display_url | Cover image URL |
alt | Instagram's accessibility caption for the image |
caption | Full caption text |
video_url | Direct video file URL, for video/Reel posts |
video_duration | Video duration in seconds |
hashtags | Every #hashtag parsed from the caption, de-duplicated |
allMentions | Every @handle parsed from the caption, de-duplicated |
owner | Post author object: id, username, full_name, is_verified, is_private, profile_pic_url, follower/media counts |
tagged_users | Every account tagged in the photo/video, with user_id, username, full_name |
mentioned_user | The target username, set only when it was @-mentioned in the caption |
coauthorProducers | Co-author accounts tagged as producers on the post |
sponsor_user | Sponsor/partner account(s) attached to the post |
productType | Instagram's internal product-type label (e.g. feed post, clip) |
originalHeight / originalWidth | Original media dimensions in pixels |
scrapedAt | ISO-8601 timestamp of when the row was scraped |
success | Whether the row was extracted successfully β only successful rows reach the dataset |
like_count | Like count |
comment_count | Comment count |
video_view_count | View count for video/Reel posts |
video_play_count | Raw play count for video/Reel posts |
latest_comments | Up to maxCommentsPerPost top comments, each with id, text, created_at, owner, like count |
is_affiliate | Whether the post is flagged as affiliate content |
is_paid_partnership | Whether the post is flagged as a paid partnership |
is_ad | Whether Instagram flagged the post as an ad |
commentsDisabled | Whether the poster disabled comments |
likeAndViewCountsDisabled | Whether the poster hid like/view counts |
locationName | Geotag location name, when the poster added one |
locationLat / locationLng | Geotag coordinates |
locationId | Instagram/Facebook Places location ID |
musicInfo | Reels/clip audio metadata: songName, artistName, audioId, usesOriginalAudio, shouldMuteAudio |
isCarousel | Whether the post is a multi-item carousel |
mediaItemCount | Number of items in the carousel (1 for a single image/video post) |
carouselMedia | Full carousel array β every image/video in a multi-photo post, each with id, mediaType, displayUrl, every resolution, videoUrl |
imageVersions2Candidates | Every resolution of the main image (url, width, height) |
mediaDownloads | Key-Value Store keys/URLs for downloaded media files β populated only when downloadMedia is enabled |
The Actor's default "Professional Data View" table surfaces 32 of these columns; all 42 fields above are present in every dataset row when exported as JSON or read via the API.
Post identity & caption fields
post_id, short_code, post_url, post_type, post_date, display_url, alt, caption, video_url, video_duration, hashtags, allMentions, owner, tagged_users, mentioned_user, coauthorProducers, sponsor_user, productType, originalHeight, originalWidth, scrapedAt, success
Engagement, monetization & comment fields
like_count, comment_count, video_view_count, video_play_count, latest_comments, is_affiliate, is_paid_partnership, is_ad, commentsDisabled, likeAndViewCountsDisabled
Location, music & media fields
locationName, locationLat, locationLng, locationId, musicInfo, isCarousel, mediaItemCount, carouselMedia, imageVersions2Candidates, mediaDownloads
π€ Add-on: Need additional Instagram data?
This Actor is built around one account's own posts plus its real Tagged feed. If you need to discover posts by hashtag instead of by account, pair it with Instagram Hashtag Scraper. For account-level bio, follower, and post-count data rather than individual tagged posts, use Instagram Profile Scraper. If you're after a public account's story highlights instead of feed posts, Instagram Highlights Scraper covers that separately.
How does Instagram Tagged & Mentions Posts & Location Scraper differ from the official Instagram API?
Meta's Instagram Graph API only returns tag data for a Business/Creator account you personally manage and have approved through App Review β it has no endpoint for tagged/mentioned posts on an arbitrary public account. This Actor instead reads the same public Tagged feed any logged-out visitor sees, for any public username.
| Feature | Instagram Graph API | Instagram Tagged & Mentions Posts & Location Scraper |
|---|---|---|
| Accounts you can query | Only your own connected Business/Creator account | Any public Instagram username |
| Tagged/mention data | Only tags on your own account's media | Real tagged feed for any public account |
| Approval process | Meta App Review + Business/Creator account + linked Facebook Page | None β runs directly on Apify |
| Location & music metadata | Not exposed by Graph API media fields | Returned per post (locationName, musicInfo) |
| Authentication | OAuth token tied to a managed page | None β reads only what a logged-out visitor sees |
| Output consistency | Defined by Meta's Graph API schema/versions | Stable JSON schema every run |
Use the Graph API when you manage the account yourself and only need its own tags. Use this Actor when you need tagged or mentioned-post data for any public account you don't administer.
How to use Instagram Tagged & Mentions Posts & Location Scraper
Instagram Tagged & Mentions Posts & Location Scraper runs as an Apify Actor β no separate signup or API key beyond your Apify account is needed to start a run from the console. No input field is strictly required by the schema, but you'll want to set usernameTargets yourself rather than rely on its mrbeast prefill.
- Open Instagram Tagged & Mentions Posts & Location Scraper on Apify Console.
- Add one or more usernames or profile URLs to
usernameTargets(e.g.mrbeast). - Optionally set
maxPostsPerAccount,maxCommentsPerPost,downloadMedia, andproxyConfig. - Click Start.
- Open the Dataset tab and export results as JSON or CSV, or pull them via the Apify API.
How to scale to bulk Instagram tagged/mention/location extraction
usernameTargets accepts an array, so one run can process multiple accounts together β each username is scanned in turn for its own posts plus its real Tagged feed, up to maxPostsPerAccount per account. There's no separate bulk-file input; to scale further, add more usernames to the same array, or start additional runs with different username batches.
What can you do with Instagram tagged, mention and location data?
- A brand-monitoring analyst uses
tagged_usersandmentioned_userto find every post where a brand handle was genuinely tagged, instead of manually searching hashtags. - A local marketer scanning a venue or event account uses
locationName,locationLat, andlocationLngto map geo-tagged user content instead of guessing which posts happened where. - A music/trend researcher uses
musicInfoacross a batch of creator accounts to spot which audio tracks are trending in tagged Reels. - A partnerships or compliance team uses
is_paid_partnership,sponsor_user, andcoauthorProducersto audit whether influencer collaboration posts are properly disclosed. - An AI engineer feeds
caption,hashtags, andallMentionsinto a RAG pipeline or vector store so an agent can answer "who tagged us and where" questions with sourced, structured data instead of guessing from memory.
How does Instagram Tagged & Mentions Posts & Location Scraper handle rate limits and blocking?
Every request rotates between two configured desktop User-Agent strings and, when proxyConfig is set, routes through Apify Proxy (residential is prefilled and recommended for Instagram). Auth-token extraction, own-post page fetches, and the tagged-feed GraphQL call each retry up to 3 times with a short backoff on a failed or non-200 response, and paginated requests wait 1 second between pages, capped at 20 pages per account. If a target account's auth tokens can't be extracted after retries, that account is skipped and counted as failed rather than stopping the whole run. If a single post fails during field-mapping, it's dropped rather than pushed to the dataset β only successfully extracted posts appear in your results. The Actor does not solve CAPTCHAs.
β¬οΈ Input
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
usernameTargets | No | array | Instagram usernames (e.g. mrbeast) or full profile URLs to scan for tagged/mentioned posts. Also accepts the base actor's urlsOrKeywords key. | ["mrbeast"] |
maxPostsPerAccount | No | integer | Total posts to collect per target account, combining their own posts + the real tagged-posts feed (10β1000). Also accepts the base actor's maxPosts key. | 20 |
maxCommentsPerPost | No | integer | How many top comments to attach to each post (0 disables comment fetching). Default is 1. | 5 |
downloadMedia | No | boolean | When enabled, downloads the cover image and every carousel image for each post into the run's Key-Value Store (keys returned in mediaDownloads[]). Off by default to keep runs fast. | false |
proxyConfig | No | object | Configure the proxy group used for every request. Residential is recommended for Instagram. Also accepts the base actor's proxyConfiguration key. | {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]} |
Example input
{"usernameTargets": ["mrbeast", "https://www.instagram.com/nasa/"],"maxPostsPerAccount": 20,"maxCommentsPerPost": 5,"downloadMedia": false,"proxyConfig": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
β¬οΈ Output
Every result is a typed, normalized JSON record with a consistent set of fields across every run. Results stream to the Apify dataset live and can be exported as JSON or CSV, or read directly via the Apify API. Each successfully extracted post triggers one row_result charged event when it's pushed to the dataset β posts that fail extraction are never pushed, so you are never billed for an error row.
Example output
{"post_id": "3401234567890123456","short_code": "C9xY2AbZcD1","post_url": "https://www.instagram.com/p/C9xY2AbZcD1/","post_type": "tagged","is_affiliate": false,"is_paid_partnership": true,"is_ad": false,"like_count": 184320,"comment_count": 1542,"video_view_count": 2310450,"video_play_count": 2310450,"post_date": "2026-06-14T18:22:05.000Z","display_url": "https://scontent.cdninstagram.com/v/t51.29350-15/cover.jpg","alt": "Photo by MrBeast on June 14, 2026","caption": "Wild day at the store opening with @teamtrees #brandcollab #giveaway","video_duration": 32.4,"video_url": "https://scontent.cdninstagram.com/v/t50.2886-16/video.mp4","sponsor_user": [{"username": "teamtrees", "id": "7891234560"}],"owner": {"id": "421234567","username": "mrbeast","full_name": "MrBeast","is_verified": true,"is_private": false,"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/profile.jpg","edge_owner_to_timeline_media": {"count": 890},"edge_followed_by": {"count": 231500000}},"latest_comments": [{"id": "17912345678901234","text": "This is insane!","created_at": 1750000000,"owner": {"id": "998877", "username": "fan_account", "is_verified": false},"edge_liked_by": {"count": 412}}],"tagged_users": [{"user_id": "7891234560", "username": "teamtrees", "full_name": "Team Trees"}],"mentioned_user": null,"hashtags": ["brandcollab", "giveaway"],"allMentions": ["teamtrees"],"locationName": "Greenville, North Carolina","locationLat": 35.6127,"locationLng": -77.3663,"locationId": "112233445566778","musicInfo": {"songName": null,"artistName": "mrbeast","audioId": "778899001122","usesOriginalAudio": true,"shouldMuteAudio": false},"isCarousel": false,"mediaItemCount": 1,"carouselMedia": [],"imageVersions2Candidates": [{"url": "https://scontent.cdninstagram.com/v/t51.29350-15/1080.jpg", "width": 1080, "height": 1350},{"url": "https://scontent.cdninstagram.com/v/t51.29350-15/640.jpg", "width": 640, "height": 800}],"mediaDownloads": [],"coauthorProducers": [],"productType": "clips","originalHeight": 1920,"originalWidth": 1080,"commentsDisabled": false,"likeAndViewCountsDisabled": false,"scrapedAt": "2026-07-25T09:04:33.371579","success": true}
How does it work?
Instagram Tagged & Mentions Posts & Location Scraper opens each target's public profile page over plain HTTP requests (no headless browser) to pull the APP_ID, csrf_token, fb_dtsg, and lsd tokens Instagram embeds in that page's own HTML β no login is ever performed. It resolves the account's numeric user ID, then paginates the account's own post feed and calls Instagram's real PolarisProfileTaggedTabContentQuery GraphQL feed to collect posts where the account is genuinely tagged, de-duplicating by post ID across both passes. Every request can route through Apify Proxy, with retries on blocked or failed responses. Only data visible to a logged-out visitor is ever collected, and the output's field names stay the same run to run, even if Instagram changes its page layout underneath.
Integrations
Instagram Tagged & Mentions Posts & Location Scraper works with the tools you already use β call it directly over HTTP, wire it into an AI agent, or trigger it from a no-code automation tool.
Calling Instagram Tagged & Mentions Posts & Location Scraper programmatically
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_API_TOKEN>")run = client.actor("instagram-tagged-and-mentions-posts-and-location-scraper").call(run_input={"usernameTargets": ["mrbeast"],"maxPostsPerAccount": 20,})for post in client.dataset(run["defaultDatasetId"]).iterate_items():print(post["post_type"], post.get("locationName"))
Works in Go, Ruby, Node.js, cURL β any language that can make an HTTP request.
MCP integration for AI agents
This Actor is reachable through Apify's own Actors MCP Server (https://mcp.apify.com), which exposes any Actor by its store ID as a callable tool for MCP-compatible clients (Claude Desktop, Cursor, VS Code with GitHub Copilot). Add it with a tools query parameter, e.g. https://mcp.apify.com?tools=<your-username>/instagram-tagged-and-mentions-posts-and-location-scraper, or install the local stdio server with npx -y @apify/actors-mcp-server.
No-code tools (n8n, Make)
In n8n, use the official Apify node (or the HTTP Request node) to start a run and read back its dataset, feeding tagged/mentioned posts into downstream nodes like a CRM or spreadsheet. In Make, the Apify module runs the Actor and returns dataset items as a scenario step, so newly discovered tagged posts can trigger notification or reporting modules automatically.
Is it legal to scrape Instagram tagged posts and locations?
Scraping publicly visible Instagram data is generally lawful, and Instagram Tagged & Mentions Posts & Location Scraper only returns what a logged-out visitor can already see β no private accounts, no follower lists, no direct messages. Because the output includes personal data about identifiable people β tagged and mentioned usernames, commenter usernames and profile pictures, post owner details β GDPR and CCPA considerations apply to how you store and use it, particularly around lawful basis and data-subject rights for anyone identifiable in the results. Consult legal counsel if your use case involves bulk storage of personal data.
Frequently asked questions
What Instagram tagged/mention fields does Instagram Tagged & Mentions Posts & Location Scraper return?
It returns tagged_users, mentioned_user, locationName, musicInfo, and carouselMedia as its top identifying fields, plus 37 more β see the full fields table above.
Does Instagram Tagged & Mentions Posts & Location Scraper require an Instagram account or login?
No. It extracts its own auth tokens from the target's public profile page HTML and never uses a login, session cookie, or authenticated request.
How many posts can I extract in one run?
maxPostsPerAccount accepts 10β1000 posts per target account (combining own posts and the tagged feed), and you can list multiple accounts in usernameTargets in the same run.
What happens if a target account is private, doesn't exist, or has no tagged posts?
Auth-token extraction fails for a private or nonexistent account, so that username is skipped and counted in failed_users rather than breaking the run; an account with no tagged posts simply returns its own posts (if any) with an empty tagged-feed pass.
Can I scrape multiple Instagram accounts at once?
Yes. usernameTargets accepts an array, so one run scans every listed username for its own posts and its real Tagged feed.
Does Instagram Tagged & Mentions Posts & Location Scraper work with Claude, ChatGPT, and other AI agent tools?
Yes. It's reachable through Apify's Actors MCP Server for MCP-compatible clients, and it's callable as a plain HTTP endpoint by any agent framework via the Apify API.
How does Instagram Tagged & Mentions Posts & Location Scraper compare to other Instagram tagged-post scrapers?
Many tagged-post tools rely on a guessed related-account list or require a logged-in session cookie to function at all. This Actor instead calls Instagram's real Tagged-tab GraphQL feed logged-out, and adds location coordinates, Reels music metadata, and the full multi-resolution carousel array on every post rather than just a single cover image.
Does Instagram Tagged & Mentions Posts & Location Scraper return data in a format LLMs can use directly?
Yes. Every row is typed, normalized JSON with consistent field names across runs β no HTML parsing or selectors needed. Pass it straight to an LLM, index it in a vector store, or feed it to an agent tool.
What happens when Instagram changes its layout or anti-bot system?
The Actor is maintained, and its output schema is designed to stay stable even as Instagram's page markup or GraphQL feed underneath it changes.
Can I use Instagram Tagged & Mentions Posts & Location Scraper without managing proxies or browser infrastructure?
Yes. It makes plain HTTP requests with no headless browser, and proxy use is entirely controlled through the proxyConfig input β you don't have to manage any infrastructure yourself.
Which fields work best for AI training data and RAG indexing?
For RAG, index caption, hashtags, and allMentions β the highest-information text fields. For structured training data, post_type, locationName, and musicInfo.audioId return as consistent typed values across every record rather than free-text.
Related scrapers
| Scraper Name | What it extracts |
|---|---|
| Instagram Profile Scraper | Bio, follower/post counts, verified status, and recent posts for a public profile |
| Instagram Hashtag Scraper | Posts and Reels discovered by hashtag rather than by account |
| Instagram Reels Scraper | Public Reels metadata and engagement, billed per result |
| Instagram Highlights Scraper | Story highlight titles, IDs, and full-resolution cover images from a public profile |
| Instagram Tagged Posts Scraper (Date & Engagement Analytics) | Tagged posts with absolute date-range filtering, engagement thresholds, and derived engagement-rate analytics |
Your feedback
Found a bug or missing a field? Let us know through the Issues tab on this Actor's Apify Console page, or via Apify's support channel β we actively maintain this Actor and use that feedback to prioritize fixes.