Instagram Profile Scraper avatar

Instagram Profile Scraper

Pricing

from $20.00 / 1,000 results

Go to Apify Store
Instagram Profile Scraper

Instagram Profile Scraper

Extract comprehensive data from Instagram profiles including posts, reels, photos, and engagement metrics.

Pricing

from $20.00 / 1,000 results

Rating

5.0

(14)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

2

Bookmarked

72

Total users

6

Monthly active users

3 days ago

Last modified

Share

Extract complete profile information and posts from any public Instagram account. Get follower counts, bio, verification status, and detailed post data including captions, engagement metrics, media URLs, and more.

Perfect for influencer research, competitor analysis, content auditing, and brand monitoring.

What data can you extract?

For every post the scraper returns:

FieldTypeDescription
usernamestringInstagram username of the post author
post_urlstringDirect URL to the Instagram post
descriptionstringFull caption text of the post
post_typestringType of post: image, video, or carousel
like_countintegerNumber of likes on the post
comment_countintegerNumber of comments on the post
view_countintegerNumber of views (video and reel posts only, null for images)
pub_datestringPublication date in ISO 8601 format
media_urlsarrayDirect URLs to all images and/or videos in the post
scraped_atstringTimestamp when this record was collected
authorMetaobjectFull profile data of the post author (see fields below)

The authorMeta object contains:

FieldTypeDescription
usernamestringInstagram username
full_namestringFull display name
biographystringProfile bio text
profile_pic_urlstringURL of the profile picture
is_verifiedbooleanWhether the account has a verified badge
is_privatebooleanWhether the account is private
is_businessbooleanWhether the account is a business account
followers_countintegerNumber of followers
following_countintegerNumber of accounts followed
posts_countintegerTotal posts on the profile
profile_urlstringFull URL to the Instagram profile
external_urlstringLink in bio (when present)
emailstringPublic business email (when present)
phonestringPublic business phone (when present)
categorystringAccount category e.g. "Nutritionist" (when present)

When maxPosts is set to 0, only a single profile record is returned (no post-level fields, just authorMeta).

How to use

  1. Enter the username — paste the Instagram username, with or without the @
  2. Set how many posts to scrape — use 0 for profile-only, or any number up to 500
  3. Run the scraper — click Start and results appear in the dataset automatically
  4. Export your data — download as JSON, CSV, or Excel, or connect via API

No cookies or authentication setup required — the scraper handles access automatically.

Input

FieldTypeRequiredDefaultDescription
usernamestringYesInstagram username to scrape (with or without @)
maxPostsintegerNo12Posts to extract (0–500). Set to 0 for profile only
cookiesstringNoCustom Instagram cookies in JSON format (optional)
sessionNamestringNodefault_sessionName used to persist the session between runs

Example input

{
"username": "cristiano",
"maxPosts": 50
}

Output

Example output (posts)

[
{
"username": "instagram",
"post_url": "https://www.instagram.com/instagram/reel/DXxFT1zPFQC/",
"description": "Make your pics look like film with @meta.ai ✨",
"post_type": "video",
"like_count": 131990,
"comment_count": 3600,
"view_count": null,
"pub_date": "2026-04-30T19:06:13",
"media_urls": [
"https://scontent.cdninstagram.com/.../video.mp4",
"https://scontent.cdninstagram.com/.../thumbnail.jpg"
],
"scraped_at": "2026-05-01T12:32:03.229693",
"authorMeta": {
"username": "instagram",
"full_name": "Instagram",
"biography": "Discover what's new on Instagram 🔎✨",
"profile_pic_url": "https://scontent.cdninstagram.com/.../profile.jpg",
"is_verified": true,
"is_private": false,
"is_business": false,
"followers_count": 700870854,
"following_count": 175,
"posts_count": 8423,
"profile_url": "https://www.instagram.com/instagram/",
"external_url": "http://help.instagram.com/"
}
}
]

Example output (profile only, maxPosts: 0)

[
{
"authorMeta": {
"username": "abbysnutritionhub",
"full_name": "Abby's Nutrition Hub",
"biography": "Better ingredients, better you🍀",
"profile_pic_url": "https://scontent.cdninstagram.com/.../profile.jpg",
"is_verified": true,
"is_private": false,
"is_business": true,
"followers_count": 30213,
"following_count": 12,
"posts_count": 89,
"profile_url": "https://www.instagram.com/abbysnutritionhub/",
"category": "Nutritionist"
}
}
]

Use cases

  • Influencer vetting — verify follower counts, engagement rates, and account authenticity
  • Competitor analysis — track competitor content strategy and posting frequency
  • Content research — analyze what post types and topics drive the most engagement
  • Brand monitoring — audit brand accounts and measure content performance over time
  • Audience insights — understand posting patterns and community engagement
  • Media archival — collect and store post media URLs for backup or legal purposes

Integrations

Connect results to your existing tools and workflows:

  • Webhooks — get notified instantly when a run finishes
  • Apify API — pull data directly into your application
  • Scheduled runs — monitor profiles on a recurring schedule
  • Export to Google Sheets, Slack, Zapier, Make, and more

FAQ

Do I need to provide cookies or an Instagram account?

No. The scraper authenticates automatically — you can leave the cookies field empty and it will work out of the box.

Can I scrape private accounts?

No. Only publicly accessible profiles and their posts can be scraped. Private accounts return only the profile metadata with a note that posts are not accessible.

How many posts can I extract per run?

Up to 500 posts per run. Set maxPosts to any value from 1 to 500. To fetch only the profile data without any posts, set it to 0.

What post types are supported?

All post types: images, videos, reels, and carousels. For carousel posts all individual media URLs are included in the media_urls array.

Why is view_count null on some posts?

Instagram does not expose view counts for image posts. The view_count field is populated for video and reel posts only. A null value means the post is not a video — it is not an error.

What happens if a profile does not exist?

The scraper fails with a clear error message: Profile @username does not exist or is not available. No dataset record is pushed.

What format can I export the data in?

JSON, CSV, Excel, XML, or via the Apify API. You can also stream results directly into Google Sheets, Slack, or other integrations using Apify's built-in connectors.

How often can I run it?

As often as needed. Use Apify's built-in scheduler to monitor profiles on a daily, weekly, or custom cadence.