Instagram Posts Scraper API
for public accounts, by handle
Pull the latest posts from any public Instagram account by handle. One request returns each post with its caption, hashtags, likes, comments, media URLs, and timestamp as clean JSON. No tokens, no headless browsers.
of requests succeed
median response
95% finish faster
per 1k post feeds at volume
Instagram renders the feed client-side. Your parser shouldn't care.
- Posts loaded by script, not in the HTML
- Media URLs behind expiring CDN links
- Feed paged by an opaque cursor
- Login walls on public profiles
- Re-parse the feed after each app change
One GET Request. That's the whole integration.
Start with just a query. Add more parameters when your use case needs them.
curl -G 'https://api.hasdata.com/scrape/instagram/posts' \
--data-urlencode 'handle=hasdatadotcom' \
--data-urlencode 'limit=12' \
--header 'x-api-key: <YOUR_API_KEY>' \
--header 'Content-Type: application/json'handle * Instagram Handlelimit Results LimitnextPageToken Next Page TokenEvery post, one predictable schema
Each post comes back with the same keys, caption, hashtags, counts, media, and a timestamp. Map the fields once and forget about it.
// The account the posts belong to, returned alongside the feed.
{
"username": "nasa",
"id": "528817151",
"fullName": "NASA",
"verified": true,
"profilePicUrl": "https://instagram.fxxx.fna.fbcdn.net/v/t51.2885-19/29090066_159271188110124_n.jpg",
"fbid": "17841401474538262"
}username / id stringHandle and numeric account ID
fullName stringDisplay name on the profile
verified booleanWhether the account is verified
profilePicUrl stringAvatar image URL
fbid stringInternal account identifier
[
{
"id": "3950671748375397992",
"shortcode": "DbTmwYKFkZo",
"url": "https://www.instagram.com/p/DbTmwYKFkZo/",
"type": "Image",
"productType": "feed",
"caption": "Hi, Earth! After eight months aboard the @ISS, NASA astronaut Chris Williams returned home on July 26...",
"hashtags": ["#NASA", "#Space", "#Astronaut"],
"mentions": ["@ISS"],
"likesCount": 60068,
"commentsCount": 586,
"displayUrl": "https://instagram.fxxx.fna.fbcdn.net/v/t51.82787-15/758518372_n.jpg",
"images": ["https://instagram.fxxx.fna.fbcdn.net/v/t51.82787-15/758518372_n.jpg"],
"dimensionsWidth": 1439,
"dimensionsHeight": 1072,
"timestamp": "2026-07-27T18:26:43.000Z",
"ownerUsername": "nasa",
"ownerId": "528817151"
}
]id / shortcode stringPost ID and the code in its URL
url stringPublic URL of the post
type / productType stringImage, Video, or Sidecar, and the feed type
caption stringFull caption text
hashtags / mentions string[]Tags and @handles pulled from the caption
likesCount / commentsCount numberEngagement counts
displayUrl / images string / string[]Cover image and every image on the post
dimensionsWidth / dimensionsHeight numberMedia dimensions in pixels
timestamp stringWhen the post was published, ISO 8601
ownerUsername / ownerId stringAccount that posted it
// Pass nextPageToken back to fetch the next page, or follow hasdataLink directly.
{
"morePostsAvailable": true,
"nextPageToken": "3947740140450436425_528817151",
"hasdataLink": "https://api.hasdata.com/scrape/instagram/posts?handle=nasa&nextPageToken=3947740140450436425_528817151"
}morePostsAvailable booleanWhether more posts remain
nextPageToken stringCursor for the next page
hasdataLink stringReady-made URL for the next request
An all-in-one scraping service
Every feature you need to collect data from thousands to millions of requests.
Discover similar
scrapers and APIs
to expand your projects.
Instagram Profile Scraper API
Social Media Intelligence • $0.75 / 1k Request
YouTube Scraper API
Videos Data • $0.75 / 1k Request
Fits right into your stack.
Works with the tools you already use.
View Documentation ->Teams that deleted their scraper
Now it's the part of the pipeline they don't think about
HasData delivers exactly what we need: speed and comprehensive search features. It's the fastest API we've used in this space. Plus, their customer support is fantastic.
We rely on HasData for search performance data and broader scraping needs. Their APIs deliver highly structured data that integrates directly into our platforms.
Great web scraping API which is incredibly easy to use. It requires minimal effort to get up and running, and the documentation is very clear and helpful.
I needed to scrape some information they didn't already support, and they wrote the code for me right away, which was super nice of them.
We were particularly impressed with how easily we could integrate HasData into our existing workflow.
Plans that get cheaper at scale
Fixed price, fixed volume, no surprises at the end of the month. Upgrade when you need more.
Free
Startup
Business
RecommendedEnterprise
Monthly post feed volume
Start with 100 free post feeds. No credit card required.
Questions, answered
The latest posts for a public Instagram handle: each post's caption, hashtags, mentions, like and comment counts, media URLs, dimensions, and timestamp, plus the account they belong to. Pass a handle and, optionally, how many posts you want.
No. This reads public data by handle, so there is nothing to authenticate, no app review, and no headless browser to run. You're responsible for using the results in line with Instagram's terms and applicable law.
Twelve by default. Set the limit parameter to ask for more, and use the nextPageToken from each response to page through the rest of the account.
Yes. This endpoint returns an account's recent posts. For the account-level snapshot, bio, follower counts, and links, the Instagram Profile Scraper API covers that view.
Per successful request. One request is one page of posts for a handle. A failed request costs nothing.
Yes, a one-time trial of 100 post feeds with every field included. No credit card required. When you're done testing, pick a plan that fits your volume.
One request costs 10 credits. The unit price drops with volume, from about $2.45 down to $0.75 per 1,000 post feeds. Need more than the top plan covers? We'll set a custom rate.
No. Requests run on HasData's infrastructure, so there's nothing to provision or maintain. You're responsible for using the results in line with each target site's terms and applicable law.
Your first post feed
is minutes away
100 post feeds free · no credit card