Instagram Tagged Posts Scraper With Post Detail Data
Pricing
$19.99/month + usage
Instagram Tagged Posts Scraper With Post Detail Data
Instagram Tagged Posts Scraper: Extract tagged posts with captions, usernames, timestamps, media URLs, likes, comments, tagged accounts, and post details. Analyze brand mentions, user-generated content, engagement, and creator activity for social media research and competitor analysis.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScrapAPI
Maintained by CommunityActor stats
0
Bookmarked
21
Total users
2
Monthly active users
7 days ago
Last modified
Categories
Share
π€ What does Instagram Tagged Posts Scraper With Post Detail Data do?
This Actor is an Instagram tagged posts scraper: give it one or more Instagram usernames (or profile URLs) and it collects every post where that account has been tagged by someone else β the classic "Tagged" tab on a profile. For each tagged post you get the full media object (image/video/carousel URLs, caption, like/comment counts, owner info) plus, optionally, a second enrichment fetch per post that pulls real data the tagged-posts feed itself doesn't return: the actual post date, video duration, an audio-present flag, and a richer accessibility caption pulled straight from the post's own page.
No login, no session cookies, and no Instagram API credentials required β this Instagram tag scraper runs entirely against public, logged-out endpoints using browser-signature impersonation.
π¦ What can I extract?
| Data Type π§© | Description π | Example Fields π |
|---|---|---|
| Post Identity | Core identifiers & shortcode | pk, code, id, media_type, product_type |
| Owner / Tagged Account | Who posted it, who is tagged | user.username, user.id, owner.id |
| Caption & Accessibility | Text content | caption.text, accessibility_caption |
| Media | Image/video/carousel URLs & dimensions | image_versions2.candidates[], carousel_media[], carousel_media_count, display_uri, original_width, original_height |
| Engagement | Raw counts as returned by Instagram | like_count, comment_count, view_count, comments_disabled, like_and_view_counts_disabled |
| Post Detail Data β | Second-fetch enrichment, per post | detailFetched, postDetail.takenAt (ISO date), postDetail.takenAtTimestamp, postDetail.videoDurationSeconds, postDetail.hasAudio, postDetail.isPaidPartnership, postDetail.accessibilityCaption, postDetail.postUrl |
π Key Features
- Instagram tagged posts discovery β pass any public username or profile URL and get every post it's tagged in, paginated automatically (cursor-based, no duplicates).
- Post detail enrichment (this variant's core feature) β toggle
includePostDetailsto run a second, per-post fetch that adds the real post date, video duration, an audio flag, and a richer accessibility caption that the tagged-posts feed alone cannot provide. - Honest partial-coverage reporting β every row carries a
detailFetchedboolean, so you always know exactly which rows got the extra enrichment and which fell back to base tagged-feed data only (Instagram doesn't expose a paid-partnership/timestamp field for every post type, and this is disclosed per row, never faked). - Bounded extra-request cost β
maxDetailFetchesPerProfilecaps how many detail fetches run per account, so a largemaxItemsrun doesn't silently multiply your request volume. - Carousel-aware β full
carousel_media/carousel_media_countfor multi-image/video tagged posts. - Real-time streaming output β every page of results is pushed to the dataset the moment it's collected, not buffered to the end of the run.
- Your proxy, actually used β the
proxy_configurationyou set is honored end-to-end for every request (profile lookup, tagged-feed page, and detail-page fetches).
π οΈ How to use
- Log in to Apify β create a free account or sign in.
- Select this Instagram tagged posts scraper from the Apify Store.
- Add one or more usernames,
@handles, or profile URLs under Target Accounts. - Set Maximum Tagged Posts Per Account (
0= unlimited). - Leave Enrich Posts With Detail-Page Data on (default) for real dates/video duration/audio flags, or turn it off for tagged-feed data only and a faster run.
- Set Max Detail Fetches Per Account to bound the extra-request cost.
- Optionally configure Proxy Settings (residential recommended).
- Click Start. Rows stream to the dataset live; export as JSON/CSV/Excel or read via the Apify API.
π― Use Cases
- UGC & brand-mention monitoring β find every post a brand or creator account is tagged in, with real post dates for chronological reporting.
- Influencer/creator research β see who tags a target account, how often, and what format (image/video/carousel) those tagged posts are.
- Campaign & collaboration tracking β pull real post timestamps and video duration for tagged content around a launch window.
- Content archiving & compliance review β collect tagged-post media URLs and captions for a documented record.
- Social listening pipelines β feed the accessibility captions and raw engagement counts into downstream analysis.
π§ Input Parameters
π₯ JSON Example
{"usernames": ["mrbeast", "https://instagram.com/cristiano"],"maxItems": 10,"includePostDetails": true,"maxDetailFetchesPerProfile": 10,"proxy_configuration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
| Field | Type | Description |
|---|---|---|
usernames | array | Instagram usernames, @handles, or profile URLs to collect tagged posts from |
maxItems | integer | Max tagged posts to collect per account (0 = unlimited) |
includePostDetails | boolean | Run a second per-post fetch for real date/video/caption enrichment (default true) |
maxDetailFetchesPerProfile | integer | Caps extra detail fetches per account (0 = enrich every collected post) (default 10) |
proxy_configuration | object | Standard Apify proxy configuration; residential recommended |
π€ Output Format
Each result row is a tagged post with the fields above. Example (trimmed):
{"pk": "3964104634460874768","media_type": 2,"code": "DcDVCmNhSgQ","product_type": "clips","user": { "pk": "2278169415", "username": "mrbeast", "id": "2278169415" },"owner": { "id": "2278169415" },"caption": { "pk": "", "text": "..." },"accessibility_caption": null,"like_count": 4210,"comment_count": 88,"view_count": null,"comments_disabled": false,"carousel_media_count": null,"display_uri": "https://instagram.fxxx.fna.fbcdn.net/...","detailFetched": true,"postDetail": {"takenAt": "2026-08-15T02:39:55+00:00","takenAtTimestamp": 1786778395,"videoDurationSeconds": 5,"hasAudio": true,"isPaidPartnership": null,"accessibilityCaption": "Video by Shudhneeldhara on August 15, 2026. May be an image of magazine, banner, calendar, flag, poster, plant and text.","postUrl": "https://www.instagram.com/p/DcDVCmNhSgQ/"}}
Note on postDetail.isPaidPartnership: Instagram's public, logged-out post page does not expose a paid-partnership/sponsor flag on this surface β this field is kept in every row for schema consistency but is genuinely null (never faked) until that data becomes publicly extractable. postDetail.videoDurationSeconds is a best-effort value derived from the video file's own delivery metadata and is null for image/carousel posts or when the source doesn't embed it.
β FAQ
Do I need to log in to Instagram? No. This Actor runs entirely against public, logged-out Instagram endpoints.
What's the difference between accessibility_caption and postDetail.accessibilityCaption?
accessibility_caption comes from the tagged-posts feed itself and is usually empty on that surface. postDetail.accessibilityCaption comes from the post's own detail page (only fetched when includePostDetails is on) and is populated far more often.
Why is postDetail sometimes null?
Either includePostDetails is off, the per-account maxDetailFetchesPerProfile cap was reached, or the detail-page fetch for that specific post didn't succeed. Check detailFetched on each row to know which case applies.
Can I scrape private accounts? No β only public accounts' tagged posts are accessible without login, consistent with Instagram's own public access rules.