Instagram Scraper API
profiles, posts and reels
Send an Instagram profile, post or reel link and get the data back as JSON: followers, bio and bio links, the 12 latest posts, and for each post its likes, comment count, first comments, media, tagged accounts and music.
www.instagram.com/nasa/{"username": "nasa","fullName": "NASA","isVerified": true,"followers": 104385291,"following": 90,"posts": 4967,"biography": "Making the seemingly impossible, possible. ✨"}
latest posts per profile, with caption, type, image and link
first comments with each post, plus its like and comment counts
per page, for a profile, post or reel
for a page that can't be delivered
Every Instagram link that returns data
Links work as you copy them, share links included. Spidra works out what kind of page it is.
Profiles
Name, bio, bio links, verified, private, followers, following, post count, picture and the 12 latest posts.
instagram.com/nasa/Posts
Caption, hashtags, mentions, likes, comment count, date, location, image, tagged accounts and the first comments.
instagram.com/p/DeJ28eTxo4s/Reels
Everything a post has, plus the video URL and the music the reel uses.
instagram.com/reel/DeTUk4sDSp-/Carousels
Multi-image posts list each image or video in the carousel, in order.
instagram.com/p/...IGTV videos
Older IGTV links return the same record as a post.
instagram.com/tv/...Share links
Links with ?igsh= and post links with the username in front are read as the post or profile they point to.
instagram.com/nasa/p/...?igsh=...One call, every field
Point the scrape call at a Instagram link. With JSON output and no prompt, the data comes back as it is, for 1 credit and no AI cost.
Ask for markdown instead and you get the readable page as text. The structured data still comes back, in its own structuredData field next to the markdown.
What comes back
Real responses from Spidra, trimmed for length. Nothing here is mocked up.
https://www.instagram.com/nasa/{"source": "instagram","type": "profile","id": "528817151","username": "nasa","fullName": "NASA","biography": "Making the seemingly impossible, possible. ✨","isVerified": true,"isPrivate": false,"followers": 104385291,"following": 90,"posts": 4967,"bioLinks": [{"title": "NASA.gov Homepage","url": "https://www.nasa.gov"},{"title": "MAX POWER","url": "https://www.nasa.gov/maxpower"},"… 3 more"],"hasReels": true,"recentPosts": [{"code": "DeTUk4sDSp-","type": "reel","caption": "POV: you're watching the Earth set\n\nWe just released hundreds of new images and hours of new audio from our Artemis II m…","url": "https://www.instagram.com/reel/DeTUk4sDSp-/"},{"code": "DeJ28eTxo4s","type": "image","caption": "Brewing up new stars 🪄\n \n@NASAWebb’s unique view of the stellar nursery known as NGC 7129 reveals numerous stars formerl…","url": "https://www.instagram.com/p/DeJ28eTxo4s/"},"… 10 more"],"url": "https://www.instagram.com/nasa/"}
From the profile grid to each post's numbers
Instagram's profile page doesn't show like or comment counts. Spidra returns the 12 latest posts with their type, caption and link, so you know exactly which posts to read next.
Send those links, in a batch if you like, and each one comes back with its likes, comment count, date, media, tagged accounts, coauthors and music.
"mediaType": "reel","likes": 705864,"comments": 7008,"takenAt": "2026-10-10T15:15:02.000Z","owner": {"username": "nasa","fullName": "NASA","isVerified": true,"id": "528817151"},"taggedUsers": ["nasaartemis", "nasasolarsystem"],"coauthors": ["nasasolarsystem", "nasaartemis"],"music": {"title": "Original audio","artist": "nasa"}
Every link in the bio
Accounts can list several links in their bio, and the one you want is rarely the first. Spidra returns each link with the title the account gave it.
Posts also carry Instagram's own description of the image, such as "May be an image of planet, eclipse and text", which helps you sort posts by what they show without running your own image model.
"bioLinks": [{"title": "NASA.gov Homepage","url": "https://www.nasa.gov"},{"title": "MAX POWER","url": "https://www.nasa.gov/maxpower"},{"title": "Roman Space Telescope Blog","url": "https://science.nasa.gov/blogs/roman/"}]
What a visitor sees, and nothing more
Spidra reads Instagram the way a visitor who isn't signed in sees it. It never signs in, and it doesn't send cookies you pass for Instagram pages.
Pages Instagram keeps for signed-in members are refused straight away, and you aren't charged for them.
- Followers and following lists, stories, search, explore and messages need a signed-in member.
- Business email addresses, phone numbers and categories aren't shown to visitors, so profiles don't include them.
- Private accounts keep their posts for followers, so their recent posts come back empty.
Ask for the columns you want
Describe the answer as a prompt, a JSON schema or both, and it comes back in that shape. The AI reads a compact copy of the data Spidra already read, not the whole page.
{"fullName": "National Geographic","followers": 268344717,"posts": 32000,"bio": "Step into wonder and find your inner explorer with National Geographic 🌎","verified": true}
This request cost 3 credits on October 18, 2026: 1 for the page plus the AI tokens. For the data as it is, use JSON output with no prompt for 1 credit.
What teams build with it
Instagram data feeds influencer marketing, brand tracking and content research.
Influencer vetting
Check followers, posting rhythm and likes per post on a creator's latest work before you reach out.
Brand and competitor tracking
Read the same accounts every day and chart follower growth, posting frequency and engagement per post.
See the use caseContent research
Compare captions, hashtags, collab partners and reel music across the accounts in your market.
How Spidra compares
Instagram has many scrapers. Some cost less per post at volume and cover comment threads or search. Here is how they differ.
| Apify (official actors) | Bright Data | ScrapeCreators | Spidra | |
|---|---|---|---|---|
| Price | $2.70 down to $0.50 per 1,000 results | $1.50 per 1,000 records, $1.30 on the $499 a month plan | $1.88 down to $0.99 per 1,000 requests | 1 credit per page: $3.80 down to $1.99 per 1,000. A profile page includes its 12 latest posts |
| Posts on a profile | Latest 12 | Nested in the profile record | Separate posts endpoint | Latest 12, with a link to each |
| Comments | About 15 per post on the Free plan | Latest 15 per post | Comments and replies endpoints | The first comments on the post page, usually about 10 |
| Business email and phone | Not in the listed fields | Email and address fields listed | Business email and phone fields listed | Not included, Instagram doesn't show them to visitors |
| Output | Fixed fields | Fixed fields | Instagram's own raw shape | Fixed fields, or your own schema or prompt |
| Beyond Instagram | Thousands of other actors | Other scrapers and datasets | Other social platforms | Any website, crawl, search, PDFs, MCP |
Choose Apify, Bright Data or ScrapeCreators if
You need full comment threads, hashtag or search results, or a lower price per post at high volume.
Choose Spidra if
You want profiles and posts as clean records you can use as they come, only what visitors can see, and Instagram plus any other website through one API.
Competitor prices and fields are as published on their own pages and docs on October 17, 2026 and may have changed. Spidra prices use 1 credit per page on each plan. Sources: Apify, Bright Data, ScrapeCreators.
What to know before you build
We would rather you hear the limits from us than find them in production.
- Spidra reads Instagram as a visitor who isn't signed in. Followers and following lists, stories, search, explore and messages aren't available. Those requests fail straight away and aren't charged.
- A profile returns the 12 posts Instagram shows on it, without like counts. Older posts are shown only to signed-in members, so to read a specific older post, send its link.
- Each post includes the comments Instagram puts on the page, usually about 10. The full thread needs a signed-in member.
- Business email addresses, phone numbers and categories aren't shown to visitors, so they aren't included.
- Instagram answers a missing account and a restricted one the same way, so the error can't say which it was. Either way it is free.
- Profiles, comments and tagged accounts are personal data. Handle personal data according to the privacy laws that apply to you.
What it costs
1 credit per page. Pages that can't be delivered are free. Work out your monthly volume below.
Example: 50 profiles plus 450 post pages a day is about 15,000 credits a month. Plain JSON output uses no AI tokens.
| Plan | Price | Instagram pages a month |
|---|---|---|
| Free | $0 | up to 300 (one time) |
| Starter | $19/mo | up to 5,000 |
| BuilderPopular | $79/mo | up to 25,000 |
| Pro | $249/mo | up to 125,000 |
Related scrapers
Same API key, same credits. See every scraper.
TikTok Scraper
Profiles and videos with exact view, like and share counts.
Facebook Scraper
Pages, posts, reels, Marketplace and the Ad Library.
X (Twitter) Scraper
Posts, profiles and communities, with every count and media file.
YouTube Scraper
Videos, channels, playlists, search, comments and transcripts.
Questions, answered
Meta's Instagram API works on accounts you own or manage. Its Business Discovery feature can read other business and creator accounts, but only through your own professional account and app, with no personal accounts, no comment text and a rate limit per user. The Basic Display API shut down on December 4, 2024. Spidra reads the public profile and post pages instead, for 1 credit per page.
Send an Instagram link and see what comes back.
Get 300 free credits, no card, and read your first Instagram profile from the dashboard or the API.
Spidra is not affiliated with, endorsed by, or sponsored by Instagram or Meta. Instagram is a trademark of Meta Platforms, Inc. Check Instagram's terms of use and the laws that apply to you before you collect data, and use the data responsibly.