Instagram Scraper All-in-One avatar

Instagram Scraper All-in-One

Pricing

from $2.00 / 1,000 post or reels

Go to Apify Store
Instagram Scraper All-in-One

Instagram Scraper All-in-One

Scrape Instagram profiles, posts, reels, tagged posts, hashtags, search results, story highlights, reels by audio and video transcripts from one actor.

Pricing

from $2.00 / 1,000 post or reels

Rating

0.0

(0)

Developer

Andrew

Andrew

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Scrape Instagram profiles, posts, reels, tagged posts, hashtag feeds, search results, story highlights, reels by audio track and video transcripts from a single actor. Pick a scrape type, paste your usernames, URLs, hashtags or keywords, and get clean, flat records you can export to JSON, CSV, Excel or Google Sheets. No login, no cookies, no proxies to manage.

What you can scrape

Scrape typeWhat you getInput field
Profile details (full)Followers, following, post count, bio, bio links, contact email/phone, verification, business category, plus the 12 latest postsUsernames
Profile details (basic)The same profile record without the latest posts (cheaper, faster)Usernames
User postsEvery post and reel from a profile grid with likes, comments, plays, media URLs and musicUsernames
User reelsReels from the reels tab with play counts, duration and audio infoUsernames
Tagged postsPosts where the account was tagged by other usersUsernames
Story highlights listEvery highlight cover on a profile with its ID, title and story countUsernames
Story highlight itemsEvery story saved inside a highlight, with image/video URLs, links and mentionsHighlight IDs
Post / Reel detailsFull metadata for a single post or reel, including carousel images and tagged usersPost URLs
Video transcriptSpeech-to-text transcript of a reel or video postPost URLs
Hashtag postsPosts and reels under a hashtag, optionally reels-only or restricted to a date windowHashtags
SearchAccounts, hashtags and places matching a keywordSearch queries
Search profilesFull profile records (bio, follower counts, contact details) for every account matching a keywordSearch queries
Search reels by keywordReels matching a keyword, optionally restricted to a date windowSearch queries
Reels using an audioEvery reel that uses a given audio track or original soundAudio IDs

Quick start

  1. Choose a scrape type from the dropdown.
  2. Fill in the input field shown in brackets next to it. Usernames accept plain handles, @handles or profile URLs; post URLs accept /p/, /reel/ and /tv/ links or bare shortcodes; hashtags work with or without #.
  3. Set Max results per target for list-based types (default 100, 0 for unlimited).
  4. Click Start. Results stream into the Dataset tab as they arrive.

Example input:

{
"scrapeType": "posts",
"usernames": ["natgeo", "nasa"],
"maxItems": 50
}

Output format

Every record carries a type field so mixed exports stay easy to filter. Posts and reels share one flat shape:

{
"type": "reel",
"id": "3957463127796339198",
"shortCode": "Dbru79IAdH-",
"url": "https://www.instagram.com/reel/Dbru79IAdH-/",
"mediaType": "Video",
"caption": "This young cub could be king…",
"hashtags": ["natgeolion"],
"mentions": ["disneyplus", "hulu"],
"timestamp": "2026-08-06T14:00:02.000Z",
"username": "natgeo",
"fullName": "National Geographic",
"ownerId": "787132",
"ownerIsVerified": true,
"likesCount": 212542,
"commentsCount": 1623,
"videoPlayCount": 9376735,
"videoDuration": 62.08,
"displayUrl": "https://…jpg",
"videoUrl": "https://…mp4",
"images": [],
"music": { "audioId": "28139527835659346", "songName": "Original audio", "artistName": "natgeo" },
"taggedUsers": [],
"locationName": null,
"isPaidPartnership": false,
"source": "natgeo"
}

Profiles:

{
"type": "profile",
"id": "787132",
"username": "natgeo",
"fullName": "National Geographic",
"biography": "Step into wonder and find your inner explorer…",
"externalUrl": "http://visitstore.bio/natgeo",
"bioLinks": [],
"followersCount": 268605892,
"followsCount": 194,
"postsCount": 31964,
"isVerified": true,
"isPrivate": false,
"isBusinessAccount": true,
"accountType": "business",
"businessCategory": null,
"publicEmail": null,
"publicPhone": null,
"profilePicUrl": "https://…jpg",
"url": "https://www.instagram.com/natgeo/",
"latestPosts": [ { "type": "reel", "shortCode": "…" } ]
}

Highlights (type: "highlight") return id, title, coverUrl, mediaCount and url; highlight items (type: "story") return displayUrl, videoUrl, timestamp, links and mentions. Search results are account, hashtag or place records with the matching query. Transcripts (type: "transcript") return language, transcript and the post's engagement metrics.

Need a field that is not in the normalized output? Turn on Include all available fields and every record carries the complete upstream payload under raw.

Use cases

  • Influencer discovery — search profiles by keyword, then pull follower counts and contact details for outreach lists
  • Competitor tracking — scrape a competitor's posts and reels on a schedule and watch engagement over time
  • Content research — find the best-performing reels for a hashtag or keyword before planning a campaign
  • Audio trend spotting — pull every reel built on a trending sound to see how creators are using it
  • Video SEO and repurposing — transcribe reels into captions, blog posts or subtitles
  • Lead generation — export business accounts with public emails and phone numbers from hashtag and search results

Options

  • Max results per target — caps results per username, hashtag, query or audio ID. Applies to list-based scrape types.
  • Only content posted within — restricts hashtag posts and reel searches to the last hour, day, week, month or year.
  • Hashtag media type — return posts and reels, or reels only.
  • Include all available fields — append the full upstream payload to each record under raw.

Notes and limits

  • Only public data is returned. Private accounts expose profile metadata but not their posts.
  • Video transcripts work on videos up to 25 MB, take a few seconds each, and require a paid Apify plan. Videos with no speech return an empty transcript.
  • Hashtag and keyword searches are ranked by Instagram and typically cap out at around 100–150 results per query. When a date filter is active on a ranked feed, the actor stops after several pages with no matching results to keep runs fast.
  • Story highlight items need a highlight ID, which you get from the Story highlights list scrape type. Audio IDs come from the music.audioId field of any reel result or from a instagram.com/reels/audio/… URL.
  • On the free plan each run returns up to 20 results per target. Any paid plan lifts the limit.

Pricing

This actor uses pay per event: you are charged per record written to the dataset, so runs that return nothing cost nothing.

EventCharged for
profile-resultEach profile returned
post-resultEach post or reel from a profile, hashtag, keyword search or audio track
post-detail-resultEach post or reel looked up by its own URL
search-resultEach account, hashtag, place or profile returned by a search
highlight-resultEach highlight cover returned by the highlights list
story-resultEach story returned from a highlight
transcript-resultEach started minute of audio transcribed (a 45-second reel is one event, a 90-second reel is two)

Cap the spend of any run with the maximum cost option in the run settings. The actor stops cleanly when the cap is reached and keeps everything collected up to that point.

Integrations

Results land in a standard Apify dataset. Export them as JSON, CSV, Excel or XML, push them to Google Sheets, or fetch them from the Apify API, webhooks, Zapier and Make.