Instagram Hashtags Posts Scraper
Pricing
from $0.49 / 1,000 results
Instagram Hashtags Posts Scraper
This Actor scrapes public Instagram hashtag popular pages. It runs in no‑login mode, which makes it fast to start and easy to use for analytics, research, and content monitoring workflows.
Pricing
from $0.49 / 1,000 results
Rating
0.0
(0)
Developer
Instagram Scraper
Maintained by CommunityActor stats
0
Bookmarked
126
Total users
45
Monthly active users
6 days ago
Last modified
Categories
Share
Fast Instagram hashtags Scraper
This Actor scrapes public Instagram hashtag popular pages. It runs in no‑login mode, which makes it fast to start and easy to use for analytics, research, and content monitoring workflows.
How to run it in the Apify Console
- Open the Actor page and click Try for free / Run.
- In Input, paste one or more hashtag keywords.
- Set how many posts to scrape per hashtag (
postsPerHashtags). - After the run finishes, open the Dataset to view results and export to JSON / CSV / Excel.
Input parameters
hashtags (required)
Accepts either a plain hashtag keyword or a #keyword:
travel#travel
Notes:
- Empty lines are ignored and inputs are de‑duplicated
- Invalid inputs are reported in logs (they do not automatically fail the whole run)
postsPerHashtags
Maximum number of posts to scrape per hashtag.
- Minimum:
5 - Default:
12 - If a hashtag has fewer available posts (or Instagram limits access), the actual output will be lower
input json example
{"hashtags": ["youtube", "#furniture", "travel"],"postsPerHashtags": 10}
Output (Dataset)
Results are stored in the default Dataset (default).
Field reference
Each hashtag post is stored as one Dataset item with a stable post-detail-like schema.
Core fields
| Field | Type | Notes |
|---|---|---|
id | string | null | Instagram media id. |
pk | string | null | Instagram primary key. |
shortcode | string | null | Public shortcode used to build URL. |
url | string | null | Canonical post/reel URL. |
from_url | string | null | Source hashtag page URL (/popular/{hashtag}/). |
crawled_at | string | null | Crawl timestamp in UTC ISO format. |
Content and actor fields
| Field | Type | Notes |
|---|---|---|
caption | string | null | Caption text (best effort). |
hashtags | string[] | Hashtags extracted from caption. |
mentions | string[] | Mentions extracted from caption/usertags. |
tagged_user | object[] | Simplified tagged users. |
comments | object[] | Parent comments from post detail when available. |
owner | object | null | Owner summary (id, username, profile_pic_url, etc.). |
location | object | string | null | Location data when available. |
status | number | null | Present on restricted/transient fallback records (for example 572). |
message | string | null | Short fallback reason text. |
Media fields
| Field | Type | Notes |
|---|---|---|
image | string | null | Cover image URL. |
is_video | boolean | null | Media type flag. |
video_url | string | null | Playable video URL. |
has_audio | boolean | null | Video audio flag. |
video_duration | number | null | Video duration in seconds. |
accessibility_caption | string | null | Accessibility caption. |
dimensions | object | null | { "width": number|null, "height": number|null } or null when unknown. |
product_type | string | null | Media/product type (for example clips). |
clips_music_attribution_info | object | null | Music attribution info for clips. |
coauthor_producers | array | null | Co-author list (empty or populated). |
taken_at | string | null | Original post timestamp in UTC ISO format. |
Engagement and flags
| Field | Type | Notes |
|---|---|---|
comment_count | number | null | Comment count. |
like_count | number | null | Like count. |
play_count | number | null | Play count. |
view_count | number | null | View count. |
is_ad | boolean | null | Whether the post is ad content. |
is_affiliate | boolean | null | Affiliate indicator. |
is_paid_partnership | boolean | null | Paid partnership indicator. |
is_published | boolean | null | Published flag. |
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/popular/google/","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"}]}
Want to get other details from Instagram?
This actor is optimized for hashtags (not profiles). If you want to scrape other Instagram data, use a dedicated scraper for that specific data type.
Related actors from the instagram-scraper:
| Actor | Description | Stats |
|---|---|---|
| Fast Instagram Profile Posts Scraper | Instagram Post Scraper. Post data: hashtags, comment_count, like_count, usertags, images, videos, shortcode and etc. Scrape Instagram Posts with Ease and Speed | |
| Instagram Profile Scraper | Scrape Instagram profile data and profile statistics from public Instagram pages with an Apify Actor. This actor focuses on profiles (not posts) and returns a clean dataset with the essentials (identity, stats, and account flags), plus optional previews like latest_posts, latest_igtv_videos, etc. | |
| Fast Instagram Profile Reels Scraper | This Actor scrapes public Instagram Reels from profile pages (the Reels tab). It runs in no-login mode, which makes it fast to start and easy to use for analytics, research, and content monitoring workflows. | |
| 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. | |
| Instagram Profile Posts Scraper | Instagram Profile Post Scraper. Post data: hashtags, comment_count, like_count, view_count, shortcode and etc. Scrape Instagram Posts with Ease and Speed | |
| Instagram Related Profiles Scraper | Scrape Instagram profile data, profile statistics, and recursive related-profile discovery from public Instagram pages |
FAQ
1) Why is the Dataset empty / much smaller than expected?
The hashtag has no available posts, not enough posts, or Instagram is limiting access
2) What does restricted_profile mean?
A hashtag query can still be limited for anonymous (no-login) access. Instagram may gate some popular-search endpoints unless a logged-in session is used. When this happens, the Actor logs the restriction and skips/stops that hashtag query.
3) How does billing work for unavailable hashtags?
The Actor uses one unified charge event: restricted_profile.
This event is emitted when a hashtag query cannot return posts due to:
- restricted/no-login access limits,
- invalid hashtag target,
- no posts found for that hashtag.
Limitations & recommendations
- Data scope: this Actor is optimized for hashtag popular-page post-level data.
- No-login access limits: this Actor runs without an Instagram login by default. Some hashtag endpoints may be unavailable in no-login mode.
- Compliance: make sure your usage complies with Instagram’s terms and your local laws, and only collect data you have the right to use.
