Instagram: scrapers and the official API, compared
Public profiles, posts, reels, comments, follower counts and transcripts.
Short answer
For most Instagram jobs, start with Instagram Profile Scraper - Bio & Posts: it covers 4 of 7 core fields (username, caption, likes, url) at $0.70 per 1,000 results on Apify's Free plan. The top published score for Instagram goes to Instagram Scraper by apify (80 of 100), a Store tool from another publisher, listed for reference.
From published Store listings, output schemas and the official documentation. Checked 2026-11-12. How the ranking works.Instagram Profile Scraper - Bio & Posts: inputs, code and costOpen in Apify Store
What do you need from Instagram?
- Analyze creator profiles Instagram Profile Scraper - Bio & Posts 10,000 results: $7.20 on Free, incl. $0.20 start, plus Apify platform usage (compute)
- Collect post content Instagram Posts & Reels Data Scraper 10,000 results: $10.02 on Free, incl. $0.12 start, plus Apify platform usage (compute)
- Download post media Instagram Downloader API - Reels, Video & Photo Only this one: filename, downloaded_at, storage_key 10,000 results: $4.91 on Free, incl. $0.01 start, plus Apify platform usage (compute)
- Extract video transcripts Instagram Transcript Scraper - Reels & Video Only this one: profileUrl, shortCode, videoIndex 10,000 results: $5.02 on Free, incl. $0.02 start, plus Apify platform usage (compute)
Route map
Each line is one way to get Instagram data; each stop is a field you probably need. Green lines are catalogue Actors, ranked by the published formula.
- 1 Instagram Profile Scraper - Bio & Posts 25 output fields, pay per event 4 of 7 core fields
$0.70 / 1K - 2 Instagram Posts & Reels Data Scraper 25 output fields, pay per event 4 of 7 core fields
$0.99 / 1K - 3 Instagram Downloader API - Reels, Video & Photo 11 output fields, pay per event 2 of 7 core fields
$0.49 / 1K - 4 Instagram Transcript Scraper - Reels & Video 22 output fields, pay per event 2 of 7 core fields
$0.50 / 1K - + 8 other Store tools, combined Reference only 7 of 7 core fields
from $0.85 / 1K - API Instagram Platform API Limited access fields not compared
Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.
Catalogue Actors for Instagram
Instagram Profile Scraper - Bio & Posts
Scrape public Instagram profiles from a list of usernames: bio, followers, following, post count, verified badge and bio links. Add recent posts…
Instagram Posts & Reels Data Scraper
Scrape public Instagram posts, Reels, IGTV and carousels from a list of links, no login. Get caption, hashtags, author, photo and video links,…
Instagram Downloader API - Reels, Video & Photo
Download Instagram photos, videos, Reels and carousel posts from post links or usernames, up to 100 of each per run. Public posts and profiles…
Which route for which job
The catalogue Actors for Instagram return different records. "Only this route" lists the published fields no other Actor in this table returns, which is usually what decides the choice. Cost is the published per-result rate; start events and platform usage are extra.
| Actor | Good for | Only this route | Core fields | 10K results |
|---|---|---|---|---|
| Instagram Profile Scraper - Bio & Posts | Analyze creator profiles | no unique fields | 4/7 | $7.00 |
| Instagram Posts & Reels Data Scraper | Collect post content | no unique fields | 4/7 | $9.90 |
| Instagram Downloader API - Reels, Video & Photo | Download post media | filename, downloaded_at, storage_key, download_url, media_meta_data | 2/7 | $4.90 |
| Instagram Transcript Scraper - Reels & Video | Extract video transcripts | profileUrl, shortCode, videoIndex, pk, postDescription | 2/7 | $5.00 |
Field matrix: who returns what
Every tool with a published output schema, against the 7 fields most Instagram jobs need. A dot means the field name appears in the schema; rows can still leave it empty.
| Tool | username | caption | likes | comments | posted at | url | media url | Fields |
|---|---|---|---|---|---|---|---|---|
| Instagram Profile Scraper - Bio & Posts | ● | ● | ● | – | – | ● | – | 4/7 |
| Instagram Posts & Reels Data Scraper | ● | ● | ● | – | – | ● | – | 4/7 |
| Instagram Downloader API - Reels, Video & Photo | ● | – | – | – | – | ● | – | 2/7 |
| Instagram Transcript Scraper - Reels & Video | – | – | ● | – | – | ● | – | 2/7 |
| Instagram ScraperReference only, by apify | ● | ● | ● | ● | ● | ● | ● | 7/7 |
| Instagram Post ScraperReference only, by apify | – | ● | ● | ● | – | ● | ● | 5/7 |
| Instagram Followers/Following ScraperReference only, by scraping_solutions | ● | – | – | – | – | ● | – | 2/7 |
| Instagram Reel ScraperReference only, by apify | – | ● | ● | ● | – | ● | ● | 5/7 |
| Instagram Hashtag ScraperReference only, by apify | – | ● | ● | ● | – | ● | ● | 5/7 |
| Instagram Search ScraperReference only, by apify | ● | – | – | – | ● | ● | ● | 4/7 |
| Instagram Profile ScraperReference only, by apify | ● | – | – | – | – | ● | ● | 3/7 |
| Instagram Comments ScraperReference only, by apify | – | – | ● | – | – | ● | ● | 3/7 |
| Tools returning it | 7 | 6 | 8 | 4 | 2 | 12 | 7 |
Field dictionary: the exact keys
The same core field has a different key in each Actor's output. Map these before you merge datasets; a dash means the published schema has no matching key. Need a field that is not listed here, such as email? Search every Instagram Actor by field.
| Core field | Instagram Profile Scraper -… | Instagram Posts & Reels Data… | Instagram Downloader API -… |
|---|---|---|---|
| username | username | username | username |
| caption | caption, accessibility_caption | caption, accessibility_caption | – |
| likes | like_count | like_count | – |
| comments | – | – | – |
| posted at | – | – | – |
| url | post_url | post_url | post_url |
| media url | – | – | – |
Download this comparison: CSV · JSON (every tool with a published schema, matching keys per core field, price and score).
All 12 tools, scored
Catalogue Actors link to their detail pages; the score (0 to 100) is the published formula, identical for every tool. Other Store tools follow in their own table, for reference. Price is the published primary-result rate per 1,000 (the Free-plan rate where the price is tiered; higher Apify plans pay less); start events and platform usage are excluded.
| Sample fields | ||||||
|---|---|---|---|---|---|---|
| 72 | Instagram Profile Scraper - Bio & Posts Catalogue Actor, pay per event | username, caption, like_count | 25 | $0.70 | 10 runs, too few to rate | Nov 2026 |
| 69 | Instagram Posts & Reels Data Scraper Catalogue Actor, pay per event | username, caption, like_count | 25 | $0.99 | 19 runs, too few to rate | Oct 2026 |
| 66 | Instagram Downloader API - Reels, Video & Photo Catalogue Actor, pay per event | username, post_url, filename | 11 | $0.49 | 2 runs, too few to rate | Nov 2026 |
| 65 | Instagram Transcript Scraper - Reels & Video Catalogue Actor, pay per event | likeCount, postUrl, profileUrl | 22 | $0.50 | 19 runs, too few to rate | Nov 2026 |
Other Store tools, for reference
Scored with the same published formula and listed for comparison only; this site does not link or recommend them.
| Sample fields | ||||||
|---|---|---|---|---|---|---|
| 80 | Instagram Scraper Reference only, by apify | username, caption, likesCount | 94 | $2.70 | 100% of 19,046,131 runs | Nov 2026 |
| 80 | Instagram Post Scraper Reference only, by apify | caption, likesCount, firstComment | 57 | $1.70 | 100% of 6,356,574 runs | Nov 2026 |
| 73 | Instagram Followers/Following Scraper Reference only, by scraping_solutions | username, profile_pic_url, username_scrape | 8 | $0.85 | 99% of 143,936 runs | Nov 2026 |
| 72 | Instagram Reel Scraper Reference only, by apify | caption, likesCount, firstComment | 57 | $2.60 | 100% of 4,021,938 runs | Nov 2026 |
| 72 | Instagram Hashtag Scraper Reference only, by apify | caption, likesCount, firstComment | 51 | $2.60 | 99% of 855,785 runs | Nov 2026 |
| 65 | Instagram Search Scraper Reference only, by apify | username, posts, url | 54 | $2.70 | 94% of 773,009 runs | Nov 2026 |
| 63 | Instagram Profile Scraper Reference only, by apify | username, url, id | 37 | $2.60 | 100% of 11,436,150 runs | Nov 2026 |
| 63 | Instagram Comments Scraper Reference only, by apify | likesCount, postUrl, url | 16 | $2.60 | 100% of 1,161,465 runs | Nov 2026 |
What to check before you choose
Teams use public Instagram posts and reels to review campaign content, study creator publishing and track engagement snapshots. Video transcripts support research into spoken content that captions may not contain.
Choose a post collector for known post links, a profile tool for account-focused research, or a transcript tool for video speech. Use the official API for professional-account workflows within its permitted access.
Checklist
- Inspect status before using a row: the post tool distinguishes unavailable, private, restricted, blocked and invalid inputs.
- Check likes_hidden and comments_disabled before interpreting missing engagement values or planning comment collection.
- Choose transcript output when speech matters, and inspect media_items when a post contains several media items.
Where the data is incomplete
The listed post schema provides comment_count without a comment-text field. Restricted or unavailable posts can produce status records instead of content.
Its price summary and evidence note also disagree about the cheapest route, so check the relevant tool's billing details.
Official API route
Instagram Platform API
The official API covers professional accounts and their own content. It does not provide general search over public profiles and posts.
Price. No published per-call price for standard use; access depends on Meta app configuration.
Limits. Rate limits and permitted scopes apply. Public-content scraping is outside the official API.
Terms and personal data
Limit collection to public business or profile data and respect Instagram's terms. Review the permitted collection and reuse for your project before retaining personal details. This is general information, not legal advice.
Read Instagram's terms. Keep to public data, do not bypass logins or access controls, and check whether personal data is involved before you collect it. The can-I-scrape checklist walks through it.
How to start
- Open Instagram Posts & Reels Data Scraper and follow its documented input format for a small set of public post or reel links.
- Collect the dataset and inspect status for each input. Review caption, pub_date, media_items, like_count and comment_count alongside likes_hidden and comments_disabled.
- Save the output and retain post_url, shortcode and post_id for matching records. Record unavailable inputs separately before adding more links.
Call Instagram Profile Scraper - Bio & Posts from code
The example input uses the Actor's published defaults; set your own Instagram query before you run it. You need an Apify API token.
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"usernames": [
"instagram"
],
"maxPosts": 3,
"skipPinnedPosts": False
}
run = client.actor("dataspryva/instagram-profile-scraper-bio-and-posts").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) pip install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
"usernames": [
"instagram"
],
"maxPosts": 3,
"skipPinnedPosts": false
};
const run = await client.actor("dataspryva/instagram-profile-scraper-bio-and-posts").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items); npm install apify-client
cURL
curl -X POST "https://api.apify.com/v2/actors/dataspryva~instagram-profile-scraper-bio-and-posts/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"usernames":["instagram"],"maxPosts":3,"skipPinnedPosts":false}' Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).
MCP (AI agents)
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=dataspryva/instagram-profile-scraper-bio-and-posts",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
} Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.
Questions people ask
Can the official API search public profiles and posts generally?
The published data describes the official API as covering professional accounts and their own content. It does not provide general search over public profiles and posts.
Does comment_count include comment text?
The listed posts and reels schema includes a count without a comment-text field. Choose a tool with documented comment records if your dataset needs conversations.
Can a transcript succeed without containing words?
The transcript tool documents a successful status for a video with no speech even when the transcript is empty. Inspect fullText alongside status before treating an empty result as a collection failure.
How should hidden engagement values be handled?
The post tool exposes likes_hidden and comments_disabled alongside its engagement counts. Preserve those flags and avoid treating an absent count as evidence of no engagement.
What is the cheapest catalogue Actor for Instagram data?
Instagram Downloader API - Reels, Video & Photo lists $0.49 per 1,000 results (pay per event), with 11 fields in its published output schema. Start events and platform usage are billed separately. Checked 2026-11-12.
Which Instagram scraper returns the most core fields?
Instagram Profile Scraper - Bio & Posts covers 4 of the 7 core Instagram fields this page tracks (username, caption, likes, comments, posted at, url, media url), based on its published output schema.
Does Instagram have an official API?
Limited access: The official API covers professional accounts and their own content. It does not provide general search over public profiles and posts. No published per-call price for standard use; access depends on Meta app configuration.
Is it legal to scrape Instagram?
It depends on what you collect and how. Limit collection to public business or profile data and respect Instagram's terms. Review the permitted collection and reuse for your project before retaining personal details. Read Instagram's terms (https://help.instagram.com/581066165581870) before you collect, and check whether personal data is involved. This is general information, not legal advice.
More on Instagram
- Error fixInstagram 429 Too Many Requests: what the error means
- AlternativesCrowdTangle alternatives: what still works for public social data
- Retired toolCrowdTangle is gone: what replaced it and what did not
- Topic groupSocial media data: every website compared
- ToolWhich Instagram route fits your job?
- ToolInstagram cost by Apify plan, rows and runs
Related websites
Sources
- Instagram Profile Scraper - Bio & Posts on Apify Store
- Instagram Posts & Reels Data Scraper on Apify Store
- Instagram Downloader API - Reels, Video & Photo on Apify Store
- Instagram Transcript Scraper - Reels & Video on Apify Store
- Instagram Platform API documentation
- Instagram terms
Cite this page
Scraper Finder. "How to get Instagram data." https://scraperfinder.com/sites/instagram/ (data checked 2026-11-12).
Highest-scoring catalogue Actor
Instagram Profile Scraper - Bio & Posts: 4 of 7 core fields, $0.70 per 1,000 results, score 72. The highest score overall is 80 (Instagram Scraper, a Store tool from another publisher); both are in the table above.