Instagram Profile Stats Scraper
Pricing
from $0.90 / 1,000 scraped profiles
Instagram Profile Stats Scraper
Scrape Instagram profile stats from public usernames, @handles, or profile URLs. Export followers, following, post counts, bio links, recent posts, related profiles, and timestamps.
Pricing
from $0.90 / 1,000 scraped profiles
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
1
Bookmarked
14
Total users
1
Monthly active users
17 days ago
Last modified
Categories
Share
📊 Instagram profile stats for known public accounts
Instagram Profile Stats Scraper is for marketers, researchers, creator teams, and developers who already have Instagram profiles to check. It returns one structured row for each eligible public profile, with identity, audience and activity counts, public bio links, account flags, and other fields that Instagram exposes.
Use the dataset to review creator candidates, compare brands, support lead research, social media reporting, or keep a repeatable profile record without opening every profile by hand. Results are available through standard Apify dataset exports and API access.
- Build a clean profile export for known public handles with Instagram Profile Stats Scraper.
- Check follower totals for a list of public handles with Instagram Follower Count Scraper.
- Review public bios and their visible links with Instagram Bio Scraper.
- Filter a known list by Instagram's verification flag with Instagram Verified Profile Scraper.
- Check submitted handles and keep the public details that are returned with Instagram Profile Checker.
📦 Public Instagram profile rows
Saved row
Each saved row represents one eligible public Instagram profile. It keeps normalized identity, the canonical profile URL, a stable Instagram ID, public bio and link data, audience and activity counts, account flags, and profile images. It can also include visible contact hints, recent public post or reel previews, and related public profiles when Instagram exposes them. Private, invalid, missing, and unavailable profiles do not become successful rows.
▶️ Check known public profiles
Run steps
- Open the Input tab.
- Add one known public Instagram username,
@handle, or profile URL per line. - Set any follower, verification, or recent-engagement qualification filters.
- Start the Actor and open the dataset or API output.
The Actor checks each submitted target and continues after an individual lookup fails. Source blocks or challenges are treated as Source Instability, not as a normal no-match. After retries, if blocked access prevents remaining truthful work, the run reports the problem. If the same profile is submitted more than once, the first eligible occurrence is kept and later matches are ignored. Post, reel, Story, hashtag, and private-profile URLs are skipped.
For a small first run, keep the prefilled profiles and the initial profile limit.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
profiles | array of strings | Required. Enter one known public Instagram username, @handle, or profile URL per line. Up to 1,000 submitted values are supported. Post, reel, Story, hashtag, and private-profile URLs are skipped. |
maxProfiles | integer | Optional maximum number of submitted profiles to check. Leave it empty to return all available results until the source is exhausted. The form starts at 25. |
minimumFollowers | integer | Optional minimum follower count for a profile to match. Leave it empty to skip this check. |
maximumFollowers | integer | Optional maximum follower count for a profile to match. Leave it empty to skip this check. |
verificationStatus | string | Choose any, verified, or notVerified. any keeps both verified and unverified profiles. |
minimumRecentEngagementRate | number | Optional minimum average engagement rate for recent posts, as a percent. Profiles without enough recent posts do not match. |
matchedOnly | boolean | Keep only profiles that meet every qualification you set. When false, keep all eligible public profiles and show whether each one matches. |
Default input example
This is the public input from a successful current-beta default-input run:
{"profiles": ["instagram","nike","https://www.instagram.com/google/","@cristiano","natgeo","nasa","adidas","puma","spotify","netflix","airbnb","duolingo","hubspot","canva","shopify","figma","notionhq","zapier","buffer","hootsuite","latermedia","github","semrush","ahrefs","producthunt"],"maxProfiles": 25,"verificationStatus": "any","matchedOnly": false}
🧾 Output
The Output panel opens the default dataset. It uses one profile-row shape. Optional values can be null, and array fields can be empty when Instagram does not expose that data.
Dataset link
| Field | Type | What it does |
|---|---|---|
results | link | Opens the public Instagram profile rows in the default dataset overview. |
Profile row
| Field | Type | What it does |
|---|---|---|
username | string | Normalized Instagram username. |
profileUrl | URL | Canonical URL for the public profile. |
instagramId | string | Stable Instagram profile ID. |
fullName | string or null | Public display name shown on the profile. |
biography | string or null | Public biography text. |
externalUrl | URL or null | Public external URL shown on the profile. |
bioLinks | array of objects | Public links shown in the profile biography. |
bioLinks.title | string or null | Optional title shown for a bio link. |
bioLinks.url | URL | URL opened by the bio link. |
bioLinks.linkType | string or null | Link type reported by Instagram when available. |
publicEmails | array of email strings | Email addresses visible in the biography or public bio links. |
publicPhoneHints | array of strings | Phone-like contact text visible in the biography or public bio links. |
followersCount | integer or null | Number of followers reported by Instagram. |
followingCount | integer or null | Number of accounts followed by the profile. |
postsCount | integer or null | Number of posts reported by Instagram. |
highlightReelCount | integer or null | Number of profile highlights reported by Instagram. |
isPrivate | boolean or null | Whether Instagram reports the profile as private. Successful rows are for eligible public profiles. |
isVerified | boolean or null | Whether Instagram reports the profile as verified. |
isBusinessAccount | boolean or null | Whether Instagram reports the profile as a business account. |
isProfessionalAccount | boolean or null | Whether Instagram reports the profile as a professional account. |
categoryName | string or null | Public profile category name when available. |
categoryEnum | string or null | Public profile category code reported by Instagram when available. |
businessCategoryName | string or null | Public business category name when available. |
businessContactMethod | string or null | Public business contact method reported by Instagram when available. |
profilePicUrl | URL or null | URL for the public profile image. |
profilePicUrlHd | URL or null | URL for the high-resolution public profile image when available. |
pronouns | array of strings | Public pronouns listed on the profile. |
recentContent | array of objects | Recent public posts and reels returned for the profile. |
recentContent.url | URL | URL for opening the post or reel. |
recentContent.type | string or null | Content type reported by Instagram when available. |
recentContent.caption | string or null | Public caption text for the content. |
recentContent.likesCount | integer or null | Number of likes reported for the content. |
recentContent.commentsCount | integer or null | Number of comments reported for the content. |
recentContent.videoViewCount | integer or null | Number of video views reported for the content. |
recentContent.takenAt | date-time string or null | Publication time reported for the content. |
recentContent.displayUrl | URL or null | URL for the main public content image when available. |
recentContent.thumbnailUrl | URL or null | URL for the content thumbnail when available. |
relatedProfiles | array of objects | Public profiles suggested by Instagram as related to this profile. |
relatedProfiles.username | string | Username of the related profile. |
relatedProfiles.fullName | string or null | Public display name of the related profile. |
relatedProfiles.profileUrl | URL | URL for opening the related profile. |
relatedProfiles.isPrivate | boolean or null | Whether Instagram reports the related profile as private. |
relatedProfiles.isVerified | boolean or null | Whether Instagram reports the related profile as verified. |
relatedProfiles.profilePicUrl | URL or null | URL for the related profile image when available. |
Public counts, links, and previews can vary by profile and by what Instagram exposes at run time.
Genuine profile row
This complete row comes from the successful current-beta default-input run:
{"username": "nike","profileUrl": "https://www.instagram.com/nike/","instagramId": "13460080","fullName": "Nike","biography": "Just Do It.","externalUrl": "http://empli.fi/nike","bioLinks": [{"title": null,"url": "http://empli.fi/nike","linkType": "external"}],"publicEmails": [],"publicPhoneHints": [],"followersCount": 291152713,"followingCount": 266,"postsCount": 1667,"highlightReelCount": 5,"isPrivate": false,"isVerified": true,"isBusinessAccount": true,"isProfessionalAccount": true,"categoryName": null,"categoryEnum": "SPORTSWEAR_STORE","businessCategoryName": null,"businessContactMethod": "CALL","profilePicUrl": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-19/551608484_18567162979020081_1135468084872726555_n.jpg?stp=dst-jpg_e0_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4zOTkuYzIifQ&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gHwxkju-Xs1kJ-dPrt4f4DgtJfSI_KyT9sY-yKq_AfCfhxZO8ttJuALSTdPaU-kSfw&_nc_ohc=dM3CBntuvR8Q7kNvwHKWqji&_nc_gid=6u-XW0eacxBusRGEvyZTDQ&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQKr7tHENla9zlDd00MqF1KDkRUwFul-cwHONRR2mdCHPw&oe=6AB94FFA&_nc_sid=8b3546","profilePicUrlHd": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-19/551608484_18567162979020081_1135468084872726555_n.jpg?stp=dst-jpg_s320x320_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4zOTkuYzIifQ&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gHwxkju-Xs1kJ-dPrt4f4DgtJfSI_KyT9sY-yKq_AfCfhxZO8ttJuALSTdPaU-kSfw&_nc_ohc=dM3CBntuvR8Q7kNvwHKWqji&_nc_gid=6u-XW0eacxBusRGEvyZTDQ&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQKvgFuatK2TuKdmqFsvfaUTeGHBwfKyRzNXzagq_vNwOg&oe=6AB94FFA&_nc_sid=8b3546","pronouns": [],"recentContent": [{"url": "https://www.instagram.com/reel/Ddl5eH-u4le/","type": "GraphVideo","caption": "*Just a normal day for @caitlinclark22.\n\nWake up. Eat cereal. Lace up the Caitlin 1. Sell out arenas. Repeat.","likesCount": 49925,"commentsCount": 705,"videoViewCount": 302307,"takenAt": "2026-09-22T14:00:04.000Z","displayUrl": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-15/809201733_18666457525020081_2045154896762681305_n.jpg?stp=dst-jpg_e15_fr_p1080x1080_tt6&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gHwxkju-Xs1kJ-dPrt4f4DgtJfSI_KyT9sY-yKq_AfCfhxZO8ttJuALSTdPaU-kSfw&_nc_ohc=B1MSBA3bCCoQ7kNvwH7FQw8&_nc_gid=6u-XW0eacxBusRGEvyZTDQ&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQIR_4kFepvKYQKutiPzPuo_xSz5mHf3ZVC6jvTZ2Gn13A&oe=6AB9773B&_nc_sid=8b3546","thumbnailUrl": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-15/809201733_18666457525020081_2045154896762681305_n.jpg?stp=c0.420.1080.1080a_dst-jpg_e35_s640x640_sh2.08_tt6&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gHwxkju-Xs1kJ-dPrt4f4DgtJfSI_KyT9sY-yKq_AfCfhxZO8ttJuALSTdPaU-kSfw&_nc_ohc=B1MSBA3bCCoQ7kNvwH7FQw8&_nc_gid=6u-XW0eacxBusRGEvyZTDQ&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQIskAjxtkcLJM-j9uEW-pwfBxLzKIrCHLKK79APy4cVDw&oe=6AB9773B&_nc_sid=8b3546"},{"url": "https://www.instagram.com/p/DdcI8NLmY21/","type": "GraphSidecar","caption": "Nike Atelier for Sha’Carri Richardson reflects the beauty of London after rainfall through luminous details, weathered textures, and sculptural silhouettes defined by strength and movement.\n\nThe bespoke look debuts on the red carpet at @athlos A26 in London. \n\nBuilt to push beyond convention, the Nike FlyWeb bra uses computational design to engineer fit and support down to the millimeter. Precision-made for an athlete redefining power on and off the track.\n\nThe Nike Atelier Vomero Premium takes a performance silhouette into new territory, embellished with hand-set Swarovski® Crystals shimmering like water droplets above reflective Air Zoom units.\n\n“You don’t have to choose one version of yourself. Every side of you can be powerful.”\n\nSha’Carri Richardson\n\nLight and movement shape every detail of the Nike Atelier jacket, with hand-set Swarovski® Crystals that catch the light like raindrops across the reflective outer layer.\n\nMade in Japan from premium crackled leather, the Nike Atelier Duffel Mini is accessorized with oversized custom charms that celebrate Sha’Carri’s connection to the track.\n\nNike Atelier. One of One.","likesCount": 57483,"commentsCount": 1179,"videoViewCount": null,"takenAt": "2026-09-18T19:01:59.000Z","displayUrl": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-15/796460834_18665219536020081_4779922114140616445_n.jpg?stp=dst-jpg_e15_fr_p1080x1080_tt6&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gHwxkju-Xs1kJ-dPrt4f4DgtJfSI_KyT9sY-yKq_AfCfhxZO8ttJuALSTdPaU-kSfw&_nc_ohc=M6jc0ESDyNMQ7kNvwHlrX13&_nc_gid=6u-XW0eacxBusRGEvyZTDQ&edm=AOQ1c0wBAAAA&ccb=7-5&ig_cache_key=Mzk4OTEwMTE1MDA0NDczMzg3MA%3D%3D.3-ccb7-5&oh=00_AQKu7pH5g9gR394xBnA3BqP5i40D8ds6M9vss6WodaOD7Q&oe=6AB96B7B&_nc_sid=8b3546","thumbnailUrl": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-15/796460834_18665219536020081_4779922114140616445_n.jpg?stp=c0.135.1080.1080a_dst-jpg_e35_s640x640_sh2.08_tt6&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gHwxkju-Xs1kJ-dPrt4f4DgtJfSI_KyT9sY-yKq_AfCfhxZO8ttJuALSTdPaU-kSfw&_nc_ohc=M6jc0ESDyNMQ7kNvwHlrX13&_nc_gid=6u-XW0eacxBusRGEvyZTDQ&edm=AOQ1c0wBAAAA&ccb=7-5&ig_cache_key=Mzk4OTEwMTE1MDA0NDczMzg3MA%3D%3D.3.c-ccb7-5&oh=00_AQJOZTQxtxTqARzPU8oDenicjp6ruPzaMBX_5969G1qAgg&oe=6AB96B7B&_nc_sid=8b3546"},{"url": "https://www.instagram.com/p/DdNIWqQPrFM/","type": "GraphImage","caption": "Respectfully brutal. @bokrugby tough out a series only rugby’s greatest can produce.","likesCount": 108370,"commentsCount": 899,"videoViewCount": null,"takenAt": "2026-09-12T23:09:11.000Z","displayUrl": "https://scontent-ord5-1.cdninstagram.com/v/t51.82787-15/808535567_18663415465020081_8300401525546067823_n.jpg?stp=dst-jpg_e35_p1080x1080_sh2.08_tt6&_nc_ht=scontent-ord5-1.cdninstagram.com&_nc_cat=109&_nc_oc=Q6cZ2gHwxkju-Xs1kJ-dPrt4f4DgtJfSI_KyT9sY-yKq_AfCfhxZO8ttJuALSTdPaU-kSfw&_nc_ohc=aMzV8RcYo3MQ7kNvwE58oMW&_nc_gid=6u-XW0eacxBusRGEvyZTDQ&edm=AOQ1c0wBAAAA&ccb=7-5&ig_cache_key=Mzk4NDg3Nzk4Njg2MzAzNDcwMA%3D%3D.3-ccb7-5&oh=00_AQJTeyQ6shCqWKIXiZZHi-qX4eI2k2vwl6qkkjle0qapIQ&oe=6AB95155&_nc_sid=8b3546","thumbnailUrl": "https://scontent-ord5-1.cdninstagram.com/v/t51.82787-15/808535567_18663415465020081_8300401525546067823_n.jpg?stp=c0.500.3000.3000a_dst-jpg_e35_s640x640_sh2.08_tt6&_nc_ht=scontent-ord5-1.cdninstagram.com&_nc_cat=109&_nc_oc=Q6cZ2gHwxkju-Xs1kJ-dPrt4f4DgtJfSI_KyT9sY-yKq_AfCfhxZO8ttJuALSTdPaU-kSfw&_nc_ohc=aMzV8RcYo3MQ7kNvwE58oMW&_nc_gid=6u-XW0eacxBusRGEvyZTDQ&edm=AOQ1c0wBAAAA&ccb=7-5&ig_cache_key=Mzk4NDg3Nzk4Njg2MzAzNDcwMA%3D%3D.3.c-ccb7-5&oh=00_AQIlkL8a84oGLNen2izHTkRMDIQBTNQrTQqKew-BD_6rOg&oe=6AB95155&_nc_sid=8b3546"}],"relatedProfiles": []}
💳 Pricing
Primary event
This Actor uses pay-per-event pricing. The Scraped profile event covers one public Instagram profile that is successfully found and saved as a dataset row. Invalid, missing, private, unavailable, and skipped inputs do not create rows or charges. The price shown in the pricing panel depends on your Apify plan.
🔌 Integrations
Dataset access
Open the saved rows in Apify, export them as JSON, CSV, Excel, XML, RSS, or HTML, or read them through the Apify API. You can also schedule repeat runs and compare the public profile data in your own workflow.
❓ FAQ
What happens when a submitted profile is private or unavailable?
The profile is skipped without a successful row or a Scraped profile charge. Processing continues with the other submitted profiles.
What happens if Instagram blocks access or shows a challenge?
The Actor treats a block or challenge as Source Instability. It keeps valid rows already saved and continues independent checks when it can. After retries, if the block still prevents truthful work, the run reports the problem instead of treating every profile as a normal no-match.
What happens when the same profile is submitted more than once?
The first eligible occurrence is saved. Later matches for the same profile are ignored, and the saved row reflects that first occurrence.
How do the qualification filters work?
You can set follower and recent-engagement ranges and choose any, verified, or notVerified. The Actor evaluates the settings for each eligible public profile.
What does Matched profiles only do?
When it is true, only profiles that meet every qualification you set are kept. When it is false, all eligible public profiles are kept and the match decision is still evaluated.
What happens when I leave Profile limit empty?
The Actor checks all submitted profiles and returns all available results until the source is exhausted.
What if Instagram does not expose a field?
The field can be null or an array can be empty. The Actor keeps the source value as exposed and does not invent missing data.
Where do public contact hints come from?
They come only from visible bio text and public bio links. The Actor does not visit linked websites or enrich contact data from other sources.
Does this collect private profiles, follower lists, comments, Stories, or full media files?
No. It reads public profile data and does not collect private profiles, follower or following lists, comments, Stories, highlight content, hashtags, or full media downloads. Use a media downloader when you need direct media links.
Do I need Instagram cookies, a login, or an API key?
No. The Actor is designed for publicly reachable Instagram profile data and does not ask for Instagram credentials.
Can I run it on a schedule?
Yes. Apify schedules can run the Actor again so you can compare public profile data over time.
📝 Changelog
v1.0 (22-09-2026)
- Add optional follower, verification, and recent-engagement filters for known profiles.
- Save only eligible public profiles and charge once for each saved row while private, unavailable, invalid, and skipped inputs stay outside the results.
- Keep processing after individual lookup failures with clear progress and final warnings.
v0.1
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Social Media Stats Checker - Compare public profile stats across Instagram and other supported social platforms.
- Influencer Scraper - Find public influencer profiles across TikTok, Instagram, and YouTube when you need discovery instead of known-profile checks.
- Instagram User Search Scraper - Discover public Instagram accounts by keyword before checking selected profiles.
- Instagram Engagement Scraper - Compare recent feed and Reels engagement for public Instagram profiles.
- Instagram Post & Reel Content Scraper - Collect public posts and reels after you identify profiles worth studying.
Made with ❤️ by Maxime Dupré