Instagram Profile Scraper avatar

Instagram Profile Scraper

Pricing

from $0.50 / 1,000 profile scrapeds

Go to Apify Store
Instagram Profile Scraper

Instagram Profile Scraper

Scrape instagram profile urls and get full profile data including name bio, counts, links, creation date, verification info, recent posts, etc

Pricing

from $0.50 / 1,000 profile scrapeds

Rating

0.0

(0)

Developer

Supreme Coder

Supreme Coder

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Instagram Profile Scraper πŸ‘€ β€” Scrape Instagram Profiles, Bio, Followers, Posts & Highlights

Extract full Instagram profile data β€” name, bio, followers, following, post count, profile picture, story highlights and recent posts β€” with no login, no password and no cookies required. This Instagram Profile Scraper turns any public username or profile URL into clean, structured JSON, CSV or Excel data in seconds. Perfect for marketers, influencer agencies, researchers, recruiters and developers who need reliable Instagram profile data without building and maintaining a scraper.

Scrape Instagram by username (nasa) or profile URL (https://www.instagram.com/nasa/) β€” and get the bio, follower / following / post counts, profile photo, business & contact info, highlights and the latest posts.


✨ What this Instagram scraper does

  • πŸ§‘β€πŸš€ Scrape any public Instagram profile by username or URL
  • πŸ“Š Get followers, following, post and highlight counts in one click
  • πŸ“ Extract the full bio, external link and all bio links
  • πŸ–ΌοΈ Grab the profile picture in standard and HD quality
  • 🌟 Pull story highlights (title + cover image)
  • πŸ“Έ Collect the profile's first-page posts β€” the previews shown on the profile, with likes, comments, views, captions and media URLs
  • 🏷️ Read business & about info β€” category, contact method, email, phone, address
  • βœ… See account flags β€” verified, private, business / professional
  • πŸ” No Instagram login or cookies needed β€” nothing to configure, no account-ban risk for you
  • πŸ“¦ Export to JSON, CSV, Excel, HTML or XML, or pull via API

WhoWhat they use it for
🀝 Influencer marketingVet creators β€” followers, engagement, bio links and category β€” before outreach
πŸ“£ Marketers & agenciesBenchmark competitors and track follower / post growth over time
πŸ“ˆ Data analysts & researchersBuild datasets of profiles for social-media and audience analysis
🧲 Lead generation & salesEnrich prospect lists with bio links, business email and contact info
πŸ›οΈ E-commerce & brandsMonitor brand and partner accounts, collect creator contact details
πŸ§‘β€πŸ’Ό Recruiters & talent scoutsDiscover and qualify creators, photographers and public figures
πŸ“° Journalists & OSINTCapture public profile snapshots for verification and research

πŸš€ How to use it (step by step)

No coding needed. If you can fill in a form, you can use this scraper.

  1. Click "Try for free" / Start.
  2. Add profiles. Paste usernames (nasa, @natgeo) or profile URLs into the Usernames or profile URLs field β€” add as many as you like.
  3. Choose what to collect (optional). Toggle Scrape first-page posts and Scrape story highlights on or off.
  4. Click "Start". Watch profiles stream into the results table.
  5. Download your data as JSON, CSV, Excel, HTML or XML, or pull it via the API.

That's it β€” your Instagram profile data is ready to use. πŸŽ‰


βš™οΈ Input fields

FieldTypeEmojiDescription
usernamesarray of textπŸ‘€Instagram usernames (nasa, @nasa) or profile URLs (https://www.instagram.com/nasa/). Add one or many
scrapePoststrue / falseπŸ“ΈAlso include the profile's first-page posts β€” the previews already shown on the profile page, newest first. No extra pages are fetched (default true)
scrapeHighlightstrue / false🌟Also fetch the profile's story highlights (default true)
rawDatatrue / false🧬Advanced: return Instagram's raw profile objects instead of the clean output below

πŸ“ Example input

{
"usernames": [
"https://www.instagram.com/nasa/",
"natgeo",
"@bbcearth"
],
"scrapePosts": true,
"scrapeHighlights": true
}

πŸ“€ Output

Every profile is returned as one clean, ready-to-use record. Export to JSON, CSV, Excel, HTML or XML.

πŸ“¦ Sample output

{
"id": "528817151",
"username": "nasa",
"url": "https://www.instagram.com/nasa/",
"fullName": "NASA",
"biography": "Making the seemingly impossible, possible. ✨",
"externalUrl": "https://www.nasa.gov/",
"bioLinks": [
{ "title": "Artemis II Images & Videos", "url": "https://www.nasa.gov/artemis-ii-multimedia/", "type": "external" }
],
"followersCount": 104393833,
"followsCount": 91,
"postsCount": 4825,
"highlightReelCount": 5,
"isPrivate": false,
"isVerified": true,
"isBusinessAccount": true,
"isProfessionalAccount": true,
"isJoinedRecently": false,
"category": null,
"businessCategoryName": "Government Agencies",
"profilePicUrl": "https://instagram.fxyz.fbcdn.net/v/....jpg",
"profilePicUrlHd": "https://instagram.fxyz.fbcdn.net/v/....jpg",
"pronouns": [],
"fbid": "17841401474538262",
"businessEmail": null,
"businessPhoneNumber": null,
"businessContactMethod": "CALL",
"businessAddress": null,
"highlights": [
{ "id": "18201653992314974", "title": "Artemis III", "coverUrl": "https://instagram.fxyz.fbcdn.net/v/....jpg" }
],
"latestPosts": [
{
"id": "3923727884124821350",
"shortCode": "DZz4bjIjhdm",
"url": "https://www.instagram.com/p/DZz4bjIjhdm/",
"type": "sidecar",
"isVideo": false,
"caption": "The official FIFA World Cup ball went to space πŸ›°οΈβš½οΈ",
"likesCount": 888870,
"commentsCount": 3045,
"timestamp": "2026-06-20T14:13:55.000Z",
"displayUrl": "https://instagram.fxyz.fbcdn.net/v/....jpg"
}
],
"inputUrl": "https://www.instagram.com/nasa/"
}

A profile that can't be reached is returned as { "error": "Profile not found: <username>", "username": "...", "inputUrl": "..." } so a bad entry never stops the rest of your run.

πŸ—‚οΈ Output fields

FieldEmojiDescription
idπŸ†”Unique numeric Instagram user ID
usernameπŸ‘€Profile handle
urlπŸ”—Direct link to the profile
fullNameπŸ§‘Display name
biographyπŸ“Full bio text
externalUrl🌐Primary website link in the bio
bioLinksπŸ”—All bio links (title, url, type)
followersCountπŸ‘₯Number of followers
followsCount➑️Number of accounts the profile follows
postsCountπŸ“ΈTotal number of posts
highlightReelCount🌟Number of story highlight reels
isPrivateπŸ”’true if the account is private
isVerifiedβœ…true if the account is verified (blue tick)
isBusinessAccountπŸ’Όtrue for business accounts
isProfessionalAccount🏒true for professional / creator accounts
isJoinedRecentlyπŸ†•true if the account was created recently
category🏷️Public category label (when shown)
businessCategoryNameπŸ—‚οΈBusiness category
profilePicUrlπŸ–ΌοΈProfile picture URL
profilePicUrlHdπŸ–ΌοΈβœ¨High-resolution profile picture URL
pronouns🧾Pronouns listed on the profile
fbidπŸ†”Linked Facebook/Meta ID
businessEmailπŸ“§Public business email (when available)
businessPhoneNumber☎️Public business phone (when available)
businessContactMethodπŸ“žPreferred contact method (CALL, TEXT, etc.)
businessAddressπŸ“Public business address (when available)
highlights🌟Story highlights β€” each with id, title, coverUrl
latestPostsπŸ“ΈFirst-page posts (profile previews) β€” likes, comments, views, caption, media URLs, tagged users
inputUrl🌐The username/URL this record came from

🌟 highlights[] item

FieldEmojiDescription
idπŸ†”Highlight reel ID
titleπŸ“Highlight title
coverUrlπŸ–ΌοΈHighlight cover image URL

πŸ“Έ latestPosts[] item (selected)

FieldEmojiDescription
shortCodeπŸ”‘Post shortcode (the code in the post URL)
urlπŸ”—Direct link to the post or reel
type🏷️image, video or sidecar (carousel)
captionπŸ“Full caption text
likesCount❀️Number of likes
commentsCountπŸ’¬Number of comments
viewCountπŸ‘οΈVideo / reel views (when available)
timestampπŸ•’When the post was published (ISO 8601)
displayUrlπŸ–ΌοΈHighest-resolution image / thumbnail URL
videoUrlπŸŽ₯Direct video file URL (for videos / reels)

πŸ”Œ Using the API

Run the scraper programmatically with the Apify API. Replace YOUR_TOKEN with your Apify API token and USERNAME~instagram-profile with the actor's ID.

Run and get results in one call (cURL)

curl -X POST "https://api.apify.com/v2/acts/USERNAME~instagram-profile/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"usernames": ["nasa", "natgeo"],
"scrapePosts": true,
"scrapeHighlights": true
}'

Start a run (JavaScript / Apify client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('USERNAME/instagram-profile').call({
usernames: ['https://www.instagram.com/nasa/', 'natgeo'],
scrapePosts: true,
scrapeHighlights: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Start a run (Python / Apify client)

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("USERNAME/instagram-profile").call(run_input={
"usernames": ["nasa", "natgeo"],
"scrapePosts": True,
"scrapeHighlights": True,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

πŸ“š More: Apify API reference Β· API client for JavaScript Β· API client for Python


❓ FAQ

Do I need an Instagram account, password or cookies? No. You only provide the public usernames or profile URLs you want to scrape β€” authentication is handled for you.

Can I scrape private profiles? Basic profile details (name, bio, counts, profile picture) are available for private accounts, but their posts are not β€” Instagram hides them from non-followers, so latestPosts will be empty.

How many posts does it return per profile? Only the posts already on the profile page β€” Instagram's first-page previews (newest first, typically up to ~12). The scraper does not page deeper into the profile. Turn posts off entirely with scrapePosts: false for the fastest, profile-only runs.

Is it legal to scrape Instagram? This scraper collects publicly available data only. You are responsible for how you use the data and for complying with applicable laws (e.g. GDPR), Instagram's Terms, and not collecting personal data without a lawful basis. When in doubt, consult a lawyer.

Why are some highlights or business fields empty? Instagram only exposes what the profile makes public. Accounts without highlights, a business email or a category will return empty/null for those fields β€” that reflects Instagram's own data.

Can I scrape many profiles at once? Yes. Add as many usernames or URLs as you like; each becomes one row in the results, and an unreachable profile is reported as an error record without stopping the rest.

What export formats are supported? JSON, CSV, Excel, HTML, XML, plus direct API/webhook access.


πŸ”Ž Keywords

Instagram profile scraper, Instagram scraper, scrape Instagram profile, Instagram bio scraper, Instagram followers scraper, Instagram profile data extractor, Instagram user info scraper, Instagram highlights scraper, Instagram account scraper, export Instagram profiles to CSV/JSON/Excel, Instagram API alternative, scrape Instagram without login, Instagram influencer data, Instagram email scraper.