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 with captions, hashtags, likes and comments. Export to Excel, CSV or JSON.
Open in Apify Store$0.70 / 1K on Free
Short answer
Instagram Profile Scraper - Bio & Posts is an Apify Store Actor for Instagram data that returns 25 published output fields, including post_url, username, caption, accessibility_caption. It lists $0.70 per 1,000 results on the Free plan (pay per event), $0.30 on the Business plan. It takes 5 input settings; one is required (usernames). It covers 4 of the 7 core Instagram fields this site tracks. Last updated Nov 5, 2026.
From the public Store listing and published build schema, synced 2026-11-12.What it returns
25 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.
post_urlDirect URL to the Instagram postshortcodeInstagram shortcode identifying the postpost_idInternal Instagram media id of the poststatussuccess for a scraped post or profile. Otherwise the reason there is none: post_age_restricted, post_is_private, post_not_found, blocked, error, invalid_url, cookies_unusable, profile_not_found, profile_is_private, profile_age_restricted or profile_restricted. The log explains each oneusernameInstagram username of the post authorauthor_metaFull profile data of the scraped accountcaptionFull caption text of the posthashtagsHashtags extracted from the captionmentions@mentions extracted from the captiontagged_usersUsernames tagged in the postcollaboratorsUsernames listed as co-authors of the postcaption_is_editedWhether the caption was edited after postingpub_dateISO 8601 datetime when the post was publishedmedia_typeType of post: Photo, Video, Carousel, Reel, or IGTVmedia_countNumber of media items in the post (1 for single image/video)thumbnail_urlDirect URL to the post's cover imagemedia_itemsEvery image/video in the post, in order, with per-item url/dimensionsaccessibility_captionInstagram's auto-generated alt-text description of the medialike_countNumber of likes on the postcomment_countNumber of comments on the postlikes_hiddenWhether the author hid the like countcomments_disabledWhether commenting is disabled on the postlocationTagged location, when presentmusicMusic/audio attribution, when present (reels)scraped_atISO 8601 datetime when this record was scraped
Not in the schema among the core Instagram fields: comments, posted_at, media_url. The field matrix shows which other tools return them.
How it differs from the other Instagram Actors
Every field it publishes also appears in at least one of the other 3 catalogue Actors for Instagram with a schema, so pick on price, input options and the fields below.
Pick another Actor if you need
| Actor | Fields it adds | Price / 1K |
|---|---|---|
| Instagram Downloader API - Reels, Video & Photo | filename, downloaded_at, storage_key, download_url | $0.49 |
| Instagram Transcript Scraper - Reels & Video | profileUrl, shortCode, videoIndex, pk | $0.50 |
Input
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| usernames | array | Yes | – | Instagram profiles to scrape. Each entry can be a username (with or without @) or a profile link such as https://www.instagram.com/natgeo/. Each profile is scraped in turn. Example: 'instagram', '@instagram' or 'https://www.instagram.com/instagram/'. |
| maxPosts | integer | No | 12 | Maximum number of posts to extract per profile (after the date and pinned-post filters below). Set to 0 to only extract profile data without posts. Public profiles need no sign-in, however many posts you ask for. |
| newerThan | string | No | – | Skip posts published before this date. Leave empty for no date filter. Must be a date from 2000-01-01 up to the day before the run. The date is read from the post's id, so it can be off by up to a day. |
| skipPinnedPosts | boolean | No | false | Leave out the posts a profile has pinned to the top of its grid. A pinned post that is also the newest post cannot be recognised and stays in. |
| cookies | string | No | – | Optional. Leave empty to scrape public profiles without signing in. Paste your own Instagram cookies in JSON format to also scrape private profiles your account follows and age-restricted posts. It is a secret input, so the Apify Console hides and encrypts it. Format: [{"name":"sessionid","value":" |
Example input
Built from the input form's published example values and defaults.
{
"usernames": [
"instagram"
],
"maxPosts": 3,
"skipPinnedPosts": false
} Run it from code or an AI agent
The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.
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.
What a run costs
The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.
| Apify plan | Per 1,000 | 10,000 results | 100,000 results |
|---|---|---|---|
| Free plan | $0.70 | $7.00 | $70 |
| Starter plan | $0.57 | $5.70 | $57.00 |
| Scale plan | $0.43 | $4.30 | $43 |
| Business plan | $0.30 | $3.00 | $30 |
- Every run also has a start event, charged per GB of memory (minimum one): $0.05 on Free, $0.01 on Business. At its default memory of 4 GB a run starts at $0.20 on Free. Fewer, larger runs keep this small.
- The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 7,142 results, less start events and platform usage.
- Worked example: 10,000 results in one run on the Free plan cost $7.20 ($7.00 for results + $0.20 start), plus Apify platform usage (compute), billed separately by Apify.
- Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.
Where it fits among Instagram routes
It ranks 1 of 4 catalogue Actors for Instagram on the published formula (fields, price, reliability, freshness). Its line is highlighted on the map.
- 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.
Official route: Instagram Platform 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.
Other Store tools for Instagram
Reference only, from their public listings.
| Tool | Fields | Price / 1K |
|---|---|---|
| Instagram Scraper | 94 | $2.70 |
| Instagram Post Scraper | 57 | $1.70 |
| Instagram Followers/Following Scraper | 8 | $0.85 |
| Instagram Reel Scraper | 57 | $2.60 |
| Instagram Hashtag Scraper | 51 | $2.60 |
What people use it for
- Analyze creator profiles
- Track post engagement
Other catalogue Actors for Instagram
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…
Instagram Transcript Scraper - Reels & Video
Instagram video to text: paste many reel, post or IGTV links and get each transcript with creator, caption and likes. Reads Instagram captions or…
Similar Actors
LinkedIn Trending Posts & Top Voices Feed Scraper
Pull LinkedIn's trending and top-performing posts by topic keyword, with reaction/comment/repost counts, a per-reaction-type breakdown, author…
Reddit Multi-Mode Scraper for Posts, Comments & Profiles
Pick one of five modes to pull subreddit posts, full comment threads, user profiles, keyword search results or curated community listings from…
Bluesky Posts, Profiles, Feeds & Threads Scraper
Search Bluesky posts by keyword, hashtag, author, mention, domain or URL; read profiles, threads, lists, starter packs, feeds and followers;…
Facebook Page & Profile Finder by Keyword or URL
Find Facebook Pages or public profiles by keyword, or scrape a list of Facebook URLs directly, and get back contact info, category, ratings,…
LinkedIn Profile Engagement Timeline Scraper
Pull a LinkedIn profile's posts, reposts, comments, and reactions in one run, with the original post's author, text, and link attached to each…
LinkedIn Profile Feed Scraper with Likers & Commenters
Pull posts from a LinkedIn profile's activity feed or a direct post URL, with engagement counts, hashtags, media, and optionally the people who…
Questions people ask
How much does Instagram Profile Scraper - Bio & Posts cost?
The published result rate depends on your Apify plan: $0.70 per 1,000 on Free, $0.57 per 1,000 on Starter, $0.43 per 1,000 on Scale, $0.30 per 1,000 on Business. So 10,000 results cost about $7.00 on the Free plan and $3.00 on Business, plus a start fee of $0.05 per run per GB of memory on Free. Platform usage is billed separately.
What data does Instagram Profile Scraper - Bio & Posts return?
Its published output schema lists 25 fields: post_url, shortcode, post_id, status, username, author_meta, caption, hashtags, mentions, tagged_users, collaborators, caption_is_edited, and 13 more. A listed field is not guaranteed to be filled in every row.
What input does Instagram Profile Scraper - Bio & Posts need?
Required: usernames. Optional settings include maxPosts, newerThan, skipPinnedPosts, cookies.
What are the alternatives to Instagram Profile Scraper - Bio & Posts for Instagram?
4 catalogue Actors cover Instagram. Close alternatives: Instagram Posts & Reels Data Scraper; Instagram Downloader API - Reels, Video & Photo; Instagram Transcript Scraper - Reels & Video. The Instagram page compares all of them field by field.
How do I run Instagram Profile Scraper - Bio & Posts from Python or the API?
Use the Apify API client: in Python, ApifyClient(token).actor("dataspryva/instagram-profile-scraper-bio-and-posts").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("dataspryva/instagram-profile-scraper-bio-and-posts").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/dataspryva~instagram-profile-scraper-bio-and-posts/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.
Sources
- Instagram Profile Scraper - Bio & Posts on Apify Store
- Published build with input and output schema (JSON)
- Instagram Platform API documentation
Cite this page
Scraper Finder. "Instagram Profile Scraper - Bio & Posts." https://scraperfinder.com/catalogue/instagram-profile-scraper-bio-and-posts/ (data checked 2026-11-12).
Run Instagram Profile Scraper - Bio & Posts
$0.70 per 1,000 results. Paste the example input above, set your Instagram query, then export the dataset. Still choosing? Compare every Instagram route.