Instagram Posts Scraper – Profiles, Hashtags & URLs avatar

Instagram Posts Scraper – Profiles, Hashtags & URLs

Pricing

from $1.20 / 1,000 scraped posts

Go to Apify Store
Instagram Posts Scraper – Profiles, Hashtags & URLs

Instagram Posts Scraper – Profiles, Hashtags & URLs

Extract Instagram posts from profiles, hashtags and post URLs, with caption, likes, comments, post type, media URLs, mentions, tagged users and date. No login; works with Apify MCP and the API.

Pricing

from $1.20 / 1,000 scraped posts

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

72

Total users

6

Monthly active users

2 hours ago

Last modified

Share

What is Instagram Posts Scraper?

Instagram Posts Scraper turns Instagram profiles, hashtags or post links into one row per post: caption, hashtags, mentions, likes, comments, post type (image, carousel, video or Reel), publish time, image and video links, tagged users, and the account that posted it. Social media managers, brand and influencer marketers, researchers and AI agents use it to track what accounts post, how posts perform and what a hashtag looks like right now, with no Instagram login.

Why social teams use it for content research

  • Profiles, hashtags and single posts in one run. Mix natgeo, #travelphotography and a post link together.
  • Performance at a glance. like_count, comment_count and timestamp sit in every row for quick ranking.
  • Clean text fields. hashtags and mentions are pulled out of the caption, ready for analysis.
  • Date filter. onlyPostsNewerThan keeps only posts from the last few days, weeks or since a date.
  • Pay per post. One charge per post saved; repeated inputs are processed once.

How to use it

Latest posts from a few brands:

{
"instagramUsernames": ["natgeo", "nasa", "https://www.instagram.com/nike/"],
"maxPostsPerTarget": 20,
"onlyPostsNewerThan": "30 days"
}

What a hashtag looks like today, plus one specific post:

{
"hashtags": ["#travelphotography", "streetphotography"],
"directPostUrls": ["https://www.instagram.com/p/DdG4RIxIPyf/"],
"maxPostsPerTarget": 10,
"includeRecentComments": true
}
InputWhat it controls
instagramUsernamesUsernames, @handles or profile URLs
hashtagsHashtags, with or without #
directPostUrlsPost, Reel or carousel links
maxPostsPerTargetPosts per profile or hashtag (default 50)
onlyPostsNewerThanA date like 2026-01-01 or a period like 7 days or 2 months
includeRecentCommentsAdd up to 5 recent comments per post (default on)
proxyConfigurationApify Proxy settings; Residential by default

Want the full profile (followers, bio, contact) for these accounts? Continue with Instagram Profile Scraper linked below.

Output: Instagram post data you receive

A real row for a National Geographic Reel (long text and links shortened):

{
"id": "3983118388705688735",
"shortcode": "DdG4RIxIPyf",
"url": "https://www.instagram.com/p/DdG4RIxIPyf/",
"post_type": "REEL",
"caption": "Presented by @Rolex. Welcome to Africa 🌍 Africa Earth’s Wild Home takes you deep into the heart of our wildest continent...",
"hashtags": ["rolex", "perpetualplanet"],
"mentions": ["rolex", "wunmimosaku", "disneyplus", "hulu"],
"like_count": 77869,
"comment_count": 510,
"is_video": true,
"display_url": "https://scontent-iad3-1.cdninstagram.com/v/t51.82787-15/802503979_1869...",
"video_url": "https://scontent-iad3-1.cdninstagram.com/o1/v/t2/f2/m86/AQPDJtVww4K_68...",
"owner_username": "natgeo",
"owner_full_name": "National Geographic",
"owner_is_verified": true,
"tagged_users": ["rolex"],
"coauthors": ["rolex"],
"is_sponsored": false,
"timestamp": "2026-09-10T13:00:14.000Z",
"scraped_at": "2026-10-01T11:37:23.345Z",
"source_url": "https://www.instagram.com/p/DdG4RIxIPyf/"
}
FieldWhat it contains
id, shortcode, url, post_typeThe post and its type: IMAGE, CAROUSEL_ALBUM, VIDEO or REEL
caption, hashtags, mentions, accessibility_captionPost text, extracted tags and mentions, and Instagram's image description
like_count, comment_count, video_view_count, video_durationEngagement and video details when Instagram shows them
display_url, media_urls, thumbnail_url, video_urlImage, carousel and video links
owner_username, owner_full_name, owner_id, owner_is_verifiedWho posted it
tagged_users, coauthors, is_sponsored, is_pinnedCollaborations, paid partnerships and pinned posts
location_nameThe tagged place, when the post has one
recent_commentsUp to 5 recent comments, with includeRecentComments
timestamp, scraped_at, source_urlPublish time, collection time and the input that found the post

OUTPUT in the default key-value store reports the run outcome and posts saved.

Example workflow: a monthly competitor content report

A skincare brand tracks five competitors. A scheduled task collects each account's posts with onlyPostsNewerThan set to 30 days. The team ranks posts by like_count, compares post_type counts to see who is leaning into Reels, and reads coauthors and is_sponsored to spot influencer partnerships. Then they collect the commenters on the top posts with Instagram Post Engagers Scraper to find engaged buyers.

Pricing

This Actor uses Pay per event plus Apify platform usage. You pay one event per post saved, a tiny per-result storage event, a start event and the platform usage of the run. The live Pricing tab on this page shows the current prices.

  • 5 accounts × 20 posts = 100 post events + platform usage.
  • maxPostsPerTarget caps each profile or hashtag, so it doubles as a cost ceiling.
  • Comments come at no extra event charge.

Post research with AI agents (MCP)

Connect this Actor to an AI agent through Apify MCP and ask in plain language:

Get NASA's Instagram posts from the last two weeks and tell me which ones got the most likes and comments.

Agent checklist:

  1. Put accounts in instagramUsernames, tags in hashtags, or links in directPostUrls.
  2. Use onlyPostsNewerThan for recent posts and keep maxPostsPerTarget close to the request.
  3. Read rows with get-dataset-items; sort by like_count or comment_count.
  4. Share url so the user can open each post.

API example

curl -X POST "https://api.apify.com/v2/acts/khadinakbar~instagram-posts-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"instagramUsernames": ["natgeo"], "maxPostsPerTarget": 10, "onlyPostsNewerThan": "14 days"}'
Your next stepUseWhy
When you then want account detailsInstagram Profile ScraperFollowers, bio, website and public contacts
When you focus on ReelsInstagram Reels ScraperReels with video links, likes, comments and music
When you want the people engaging with postsInstagram Post Engagers ScraperCommenters on any public post
When you need emails and phonesInstagram Contact ScraperContacts from bio and contact button

Best results

Starting situationHelpful actionExpected outcome
Tracking accounts over timeSchedule a task with onlyPostsNewerThanOnly new posts each run
Researching a trendAdd several related hashtagsA broad sample of current posts
Auditing one campaignPaste the post links in directPostUrlsExact stats for those posts
Lighter, faster runsTurn off includeRecentCommentsPost data without comment previews

Builder's note

I found that most people judge posts by likes, comments and timing first, so those fields sit near the top of every row along with the post type. I learned that brand teams care a lot about partnerships, so coauthors, tagged_users and is_sponsored stay in the output for spotting influencer deals.

FAQ

Do I need an Instagram account?

No. The Actor reads public posts and needs no login or cookies.

How many posts can I get per account?

maxPostsPerTarget sets the number per profile or hashtag. Large accounts page through their post history until that number is reached.

Does it work with Reels and carousels?

Yes. post_type shows REEL, CAROUSEL_ALBUM, VIDEO or IMAGE, and media_urls lists every image in a carousel.

Why is video_view_count empty on some posts?

Instagram shows view counts for some videos and not others. Likes and comments are available on public posts that show them.

What happens with a username that does not exist?

It returns no posts and no post charge.

Responsible use

This Actor collects public Instagram posts, which can include personal data such as usernames and captions. Use it with a lawful basis under laws such as the GDPR and CCPA, respect creators' rights to their content, and follow Instagram's terms. Read Apify's guide on whether web scraping is legal for more context. Instagram is a trademark of Meta Platforms, Inc. This independent Actor is not affiliated with, associated with, or endorsed by Instagram or Meta. For questions or bugs, open a ticket in the Issues tab.