🏷️Instagram Tagged Posts Scraper
Pricing
from $0.49 / 1,000 results
🏷️Instagram Tagged Posts Scraper
This actor scrapes posts from the profile Tagged tab (`/tagged/`). Whether you're gathering data for research, analytics, or monitoring, this scraper helps you extract structured post information with minimal setup.
Pricing
from $0.49 / 1,000 results
Rating
0.0
(0)
Developer
Instagram Scraper
Actor stats
0
Bookmarked
10
Total users
7
Monthly active users
a day ago
Last modified
Categories
Share
Fast Instagram Tagged Scraper
This Actor scrapes public Instagram tagged posts from profile pages (the Tagged tab). It runs in no‑login mode, which makes it fast to start and easy to use for analytics, research, and content monitoring workflows.
Need other Instagram data?
Use dedicated Actors for other Instagram data types:
- Fast Instagram Profile Posts Scraper
- Instagram Profile Posts Scraper
- Instagram Profile Scraper
- Instagram Profile Reels Scraper
How to run it in the Apify Console
- Open the Actor page and click Try for free / Run.
- In Input, paste one or more Instagram profiles (usernames or profile URLs).
- Set how many tagged posts to scrape per profile (
postsPerProfile). - After the run finishes, open the Dataset to view results and export to JSON / CSV / Excel.
Input parameters
instagramUsernames (required)
Accepts either a plain username or a full profile URL (you can mix both):
usernamehttps://www.instagram.com/{username}
Notes:
- Empty lines are ignored and inputs are de‑duplicated
- Invalid URLs are reported in logs (they do not automatically fail the whole run)
postsPerProfile
Maximum number of tagged posts to scrape per profile.
- Minimum:
5 - Default:
12 - If a profile has fewer public tagged posts (or Instagram limits access), the actual output will be lower
input json example
{"instagramUsernames": ["youtube", "https://www.instagram.com/google"],"postsPerProfile": 10}
What you get
Each tagged post (or post represented by url) is stored as one item in the Dataset.
| Field | Type | Description |
|---|---|---|
id | string | number | null | Instagram media ID (id if available, otherwise fallback from pk). |
pk | string | number | null | Instagram media PK (pk if available, otherwise fallback from id). |
shortcode | string (optional) | Shortcode used to build the public URL. |
url | string | null | Public media URL (/reel/{shortcode}/ or /p/{shortcode}/). |
from_url | string | Source profile URL used for this crawl task. |
image | string (optional) | Best-effort cover/thumbnail image URL. |
dimensions | object | null | Raw dimensions from Instagram; no backfill from other fields. |
is_video | boolean | Media type hint normalized by the actor. |
video_url | string | null | Best playable video URL when available. |
has_audio | boolean | null | Audio flag for video media. |
video_duration | number | null | Video duration in seconds. |
accessibility_caption | string | null | Accessibility caption provided by Instagram. |
caption | string | Post caption text (best effort, may be empty). |
hashtags | string[] | #hashtags extracted from caption. |
mentions | string[] | @mentions extracted from user tags + caption. |
tagged_user | array<object> | Simplified tagged users list. |
comment_count | number | null | Comment count when available. |
comments | array<object> (optional) | Parent comments from edge_media_to_parent_comment (post detail query only). |
like_count | number | null | Like count when available. |
play_count | number | null | Video play count when available. |
view_count | number | null | Video view count when available. |
taken_at | string | null | Post publish time in UTC ISO-8601 (...Z). |
crawled_at | string | Crawl timestamp in UTC ISO-8601 (...Z). |
location | object | string | null | Media location payload when available. |
product_type | string (optional) | Instagram product type (for example clips). |
clips_music_attribution_info | object (optional) | Music attribution payload for clips/reels. |
owner | object (optional) | Media owner object; includes normalized post_count and followers when source data exists. |
coauthor_producers | array<object> (optional) | Co-author producer accounts when available. |
is_ad | boolean | null | Whether Instagram marks the media as ad content. |
is_affiliate | boolean | null | Affiliate flag when provided by Instagram. |
is_paid_partnership | boolean | null | Paid partnership flag when provided. |
is_published | boolean | null | Publication flag when provided. |
Notes:
optionalfields are omitted when Instagram does not return them.- Counter/time fields may be
nulldepending on post type, visibility, and endpoint response.
comments
| Field | Type | Description |
|---|---|---|
id | string | null | Comment ID. |
text | string | Comment text (may be empty). |
created_at | number | null | Unix timestamp (seconds). |
did_report_as_spam | boolean | null | Whether viewer reported the comment as spam. |
viewer_has_liked | boolean | null | Whether viewer liked the comment. |
like_count | number | null | Like count (edge_liked_by.count). |
is_restricted_pending | boolean | null | Restriction flag when provided by Instagram. |
owner | object | null | Simplified comment owner profile. |
owner shape:
| Field | Type | Description |
|---|---|---|
id | string | null | Owner user ID. |
is_verified | boolean | null | Verified flag. |
profile_pic_url | string | null | Profile picture URL. |
username | string | null | Instagram username (no @). |
Output (Dataset)
Results are stored in the default Dataset (default). Example item (fields may vary slightly depending on Instagram responses):
{"id": "3847167235685798934","pk": "3847167235685798934","is_video": true,"video_url": "https://sconten..oe=69B3232F","has_audio": true,"video_duration": 8.103,"accessibility_caption": null,"hashtags": [],"mentions": ["@bts.bighitofficial"],"tagged_user": [{"full_name": "BTS official","followed_by_viewer": false,"id": "2274763833","is_verified": true,"profile_pic_url": "https://scontent..4041&_nc_sid=d885a2","username": "bts.bighitofficial"},{"full_name": "Google India","followed_by_viewer": false,"id": "8536113897","is_verified": true,"profile_pic_url": "https://scontent-l...c_sid=d885a2","username": "googleindia"},{"full_name": "Google Indonesia","followed_by_viewer": false,"id": "44378210506","is_verified": true,"profile_pic_url": "https://scontent-lax7..F9&_nc_sid=d885a2","username": "googleindonesia"},{"full_name": "Google en Español","followed_by_viewer": false,"id": "48967006444","is_verified": true,"profile_pic_url": "https://scontent-lax..c_sid=d885a2","username": "googleespanol"},{"full_name": "Google Japan / グーグル・ジャパン","followed_by_viewer": false,"id": "45157324866","is_verified": true,"profile_pic_url": "https://scontent-lax7..NTKIIoBAAAA&ccb=7-5&oh=00_Afy7_nxWep6lYlwcDSxLpVuWSSULtqQxWpL92A-kd_F73A&oe=69B34CB7&_nc_sid=d885a2","username": "googlejapan"},{"full_name": "Google France","followed_by_viewer": false,"id": "74161638136","is_verified": true,"profile_pic_url": "https://scontent-lax7...id=d885a2","username": "googlefrance"}],"caption": "@bts.bighitofficial fans, have you seen what happens when you search “BTS” yet? 👀 Something special is waiting for you.\n\n구글에 “BTS”를 검색하면 어떤 일이 일어나는 지 알고 계시나요? 👀 특별한 경험이 기다리고 있습니다!\n\nBTS ファンの皆さん、Google で「BTS」と検索すると何が起きるか、もうチェックしましたか?👀 今なら、とっておきのサプライズが待っていますよ!","comment_count": 5550,"like_count": 261079,"play_count": 6338210,"view_count": 1897124,"taken_at": "2026-03-06T23:04:38Z","is_ad": false,"is_affiliate": false,"is_paid_partnership": false,"is_published": true,"location": null,"from_url": "https://www.instagram.com/google/reels/","url": "https://www.instagram.com/reel/DVj4je6ktQW/","crawled_at": "2026-03-08T12:33:04.461569Z","comments": [{"id": "...","text": "...","created_at": 1529249418,"did_report_as_spam": false,"owner": {"id": "...","is_verified": false,"profile_pic_url": "https://scont...","username": ".."},"viewer_has_liked": false,"like_count": 0,"is_restricted_pending": false}],"image": "https://scontent-lax..c_sid=d885a2","shortcode": "DVj4je6ktQW","product_type": "clips","clips_music_attribution_info": {"artist_name": "google","song_name": "Original audio","uses_original_audio": true,"should_mute_audio": false,"should_mute_audio_reason": "","audio_id": "33977498751893623"},"owner": {"id": "1067259270","username": "google","is_verified": true,"profile_pic_url": "https://sconte..9B33AE9&_nc_sid=d885a2","blocked_by_viewer": false,"restricted_by_viewer": null,"followed_by_viewer": false,"full_name": "Google","has_blocked_viewer": false,"is_embeds_disabled": false,"is_private": false,"is_unpublished": false,"requested_by_viewer": false,"pass_tiering_recommendation": true,"post_count": 3137,"followers": 15742809},"coauthor_producers": [{"id": "8536113897","is_verified": true,"profile_pic_url": "https://scontent-lax7-..._sid=d885a2","username": "googleindia"},{"id": "45157324866","is_verified": true,"profile_pic_url": "https://scontent-la..._nc_sid=d885a2","username": "googlejapan"},{"id": "48967006444","is_verified": true,"profile_pic_url": "https://scontent-..._nc_sid=d885a2","username": "googleespanol"},{"id": "44378210506","is_verified": true,"profile_pic_url": "https://scontent-lax7-...sid=d885a2","username": "googleindonesia"}]}
FAQ
1) Why is the Dataset empty / much smaller than expected?
The profile has no public tagged posts, not enough tagged posts, or Instagram is limiting access
2) What does Restricted profile mean?
A profile can be public but still limited for anonymous (no-login) access. Instagram may gate some profile endpoints unless a logged-in session is used. When this happens, the Actor logs the restriction and skips/stops that profile.
3) How does billing work for unavailable profiles?
The Actor uses one unified charge event: restricted_profile.
This event is emitted when a profile cannot return tagged posts due to:
- restricted/no-login access limits,
- profile not found (dead link / non-existent profile),
- no tagged posts found for that profile.
Limitations & recommendations
- Data scope: this Actor is optimized for Reel/post-level data from profile pages. It is not a full profile-metadata scraper.
- No-login access limits: this Actor runs without an Instagram login by default. Some profile-level fields or endpoints may be unavailable in no-login mode, even for public profiles.
- Compliance: make sure your usage complies with Instagram’s terms and your local laws, and only collect data you have the right to use.
