Instagram Tagged Posts Scraper – UGC Where a Profile Is Tagged
Pricing
from $5.00 / 1,000 tagged post scrapeds
Instagram Tagged Posts Scraper – UGC Where a Profile Is Tagged
Scrape public Instagram posts where a profile is tagged. Use for brand UGC, influencer deliverable checks, and mention monitoring. Returns one row per tagged post with URL, caption, owner, tagged users, and engagement. $0.005/post plus $0.00005 start.
Pricing
from $5.00 / 1,000 tagged post scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Instagram Tagged Posts Scraper
Scrape public Instagram posts where a profile is tagged. Each dataset row is one tagged post with the post URL, caption, owner, tagged users, likes, comments, media URLs, and a RUN_SUMMARY outcome so agents can tell complete results from empty or unavailable feeds.
Best Fit
Choose this actor when the starting point is a public Instagram handle and the job is UGC and photo-tags, not the profile's own grid. It works well for brand mention monitoring, influencer campaign deliverable checks, and competitor UGC libraries. Pair it with the Instagram Profile Scraper when you also need follower counts and bio context for the same accounts, then continue with the Instagram Posts Scraper if you need that profile's own timeline instead of tagged-by-others posts.
This actor is designed as a focused standalone workflow for the /tagged/ feed.
How To Use
Open the Input tab and enter one or more usernames or profile URLs. Set maxPostsPerProfile (use 3 for a cheap test, 20 for a typical export). Start the actor, then download JSON, CSV, or Excel from the dataset when it finishes.
Input
{"usernames": ["nike"],"maxPostsPerProfile": 3,"includeRecentComments": false}
| Input | Default | Notes |
|---|---|---|
usernames | ["nike"] | Handles, @handles, or profile URLs |
maxPostsPerProfile | 20 | 1–200 tagged posts per profile |
onlyPostsNewerThan | none | YYYY-MM-DD or 7 days |
includeRecentComments | false | Up to five preview comments when present |
Output
You can download the dataset as JSON, HTML, CSV, or Excel. One row per tagged post:
| Field | Description |
|---|---|
shortcode / url | Post identity and canonical URL |
input_username | Target profile whose tagged tab was scraped |
owner_username | Account that published the post |
caption | Caption text with parsed hashtags and mentions |
tagged_users | Users photo-tagged on the media |
is_target_profile_tagged | Whether the target handle appears in tags/mentions |
like_count / comment_count | Engagement, when Instagram exposes it |
timestamp | ISO 8601 publish time |
source | native extraction path |
{"id": "3482602799815487662","shortcode": "DBUsMt4yHCu","url": "https://www.instagram.com/p/DBUsMt4yHCu/","post_type": "REEL","caption": "Campaign UGC tagging the brand","hashtags": ["ugc"],"mentions": ["nike"],"like_count": 626,"comment_count": 7,"owner_username": "ronaldotv","tagged_users": ["nike"],"input_username": "nike","input_profile_url": "https://www.instagram.com/nike/","tagged_page_url": "https://www.instagram.com/nike/tagged/","is_target_profile_tagged": true,"position": 1,"source": "native","timestamp": "2024-10-19T12:00:00.000Z","scraped_at": "2026-08-18T00:00:00.000Z","source_url": "https://www.instagram.com/nike/tagged/"}
{"outcome": "COMPLETE","message": "Saved 3 tagged Instagram post(s) across 1 profile(s).","itemsPushed": 3,"profilesTotal": 1,"estimatedPpeCostUsd": 0.0151,"startedAt": "2026-08-18T00:00:00.000Z","finishedAt": "2026-08-18T00:01:12.000Z"}
Workflow Story
A typical workflow starts with a brand handle such as nike. The marketing team runs this actor with maxPostsPerProfile: 50, then exports tagged posts to compare creator deliverables against a paid campaign list. Next they schedule a weekly run and diff RUN_SUMMARY.itemsPushed to see whether UGC volume dropped. When they also need the brand's own grid, they pass the same handle into the posts scraper after this tagged export.
Pricing
This actor uses Pay per event (PPE) with platform usage passed through.
| Event | Price |
|---|---|
| Actor start | $0.00005 |
| Tagged post saved | $0.005 |
Example: 20 tagged posts cost about $0.10005 in events, plus compute/proxy platform usage. See the Pricing tab on this actor's page for the live price table.
API Example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('khadinakbar/instagram-tagged-posts-scraper').call({usernames: ['nike'],maxPostsPerProfile: 3});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
curl "https://api.apify.com/v2/acts/khadinakbar~instagram-tagged-posts-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"usernames":["nike"],"maxPostsPerProfile":3}'
MCP And AI Agents
Exposed through Apify MCP as khadinakbar/instagram-tagged-posts-scraper. Agent prompt card:
Scrape public Instagram posts where a profile is tagged. Use this when the user wants UGC, photo-tags, or campaign deliverables for a handle. For that profile's own posts, hashtags, or reels, route to the matching sibling actor. Returns one dataset row per tagged post plus a RUN_SUMMARY with outcome, row count, provenance (
source,source_url,scraped_at), and estimated cost. Charged $0.005 per saved post plus $0.00005 start. Cap spend with maxPostsPerProfile.
Best Results Guidance
- Provide exact public handles. Profile URLs are accepted.
- Start with
maxPostsPerProfile: 3to validate the tagged tab, then raise the cap. - Confirm
RUN_SUMMARY.outcomebefore retrying:VALID_EMPTYmeans the profile has no public tagged posts. - Schedule weekly tagged exports and validate
itemsPushedagainst last week's summary. - Keep runs focused on a small username list so residential proxy time stays predictable.
Builder's Note
I built this because tagged UGC is a different dataset from a profile grid. Live probes showed ScrapeCreators and SociaVault expose profile and post routes, while the tagged tab is served by Instagram's public usertags/{user_id}/feed after the handle is resolved, with the /tagged/ page as intercept fallback. A login-wall HTML page is recorded as UPSTREAM_FAILED so batch jobs stay honest when the public feed is unavailable.
Related Actors
- Use the Instagram Posts Scraper when you need the profile's own posts instead of tagged UGC.
- Use the Instagram Reels Scraper for Reel-only feeds after you have a handle from this tagged export.
- Use the Instagram Hashtag Scraper to discover posts by hashtag rather than by who is tagged.
Legal
Use this actor only for public Instagram content you are allowed to access and process. You are responsible for complying with Instagram's Terms of Service, privacy laws, and data-protection rules. This actor does not access private accounts or login-gated content.