Skip to content
Meta Ad Library scraper is live, spy on any brand's adsExplore
All articles
Guides·8 min read

How to Scrape Instagram: Posts, Profiles & Hashtags (2026 Guide)

Learn how to scrape Instagram posts, profiles, and hashtags in 2026 using session replay and rotating proxies. Batch shortcodes with ArrowCrawl's API.

Instagram is one of the richest public sources of creator, brand, and product-trend data - captions, engagement counts, hashtags, and profile stats. But it is also one of the hardest sites to scrape: aggressive bot detection, login walls, and a GraphQL API that punishes unauthenticated traffic. This guide shows the reliable way to scrape Instagram in 2026.

The short answer

Don't hammer Instagram's HTML from a datacenter IP. Use an authenticated session replayed through rotating residential proxies and request structured JSON by shortcode. With ArrowCrawl that's one call:

curl -X POST https://api.arrowcrawl.com/api/v1/instagram \
  -H "Authorization: Bearer ac_live_..." \
  -d '{"type":"post","shortcodes":["C8xYz1AbCdE","C9pQr2FgHiJ"],"mode":"rich"}'

The same endpoint takes type: "profile" with a list of usernames, or type: "hashtag" with a tag name - so posts, profiles, and hashtags all flow through one consistent response shape.

Why naive HTML scraping fails

A raw request to an Instagram page returns a login wall or a CAPTCHA within a handful of hits, and the little public HTML there is changes constantly. The three things that actually matter are: (1) a warm, authenticated session so the private GraphQL endpoints respond, (2) rotating residential IPs with reputation scoring so blocked addresses are rotated out, and (3) session replay that re-uses valid cookies and fingerprints instead of logging in fresh every time. ArrowCrawl's session replay and proxy layer does all three automatically.

Scraping profiles

A profile request returns the display name, bio, external link, follower and following counts, total post count, verification status, and profile picture URL. This is the fastest way to build a creator or competitor database - pass a batch of usernames and diff the follower counts on a schedule to track growth over time.

Scraping posts by shortcode

Every Instagram post has a shortcode - the C8xYz1AbCdE segment in instagram.com/p/C8xYz1AbCdE/. Send a list of shortcodes and ArrowCrawl returns the caption, like and comment counts, timestamp, media type (image, carousel, or reel), all media URLs, and the tagged accounts. Batching shortcodes is the single biggest throughput win: one request can resolve dozens of posts through the same warm session instead of paying login cost per URL.

Scraping hashtags

A hashtag request returns the top and most-recent posts for a tag, each with its own shortcode. The common pattern is a two-step pipeline: first pull a hashtag to discover trending shortcodes, then feed those shortcodes back into a batch post request for full detail. This is how teams surface emerging products and creators before they are obvious - and it pairs well with ArrowCrawl's marketplace intelligence when you want to connect a viral post to the product it is selling.

Do it at scale

Pass a list of shortcodes or usernames per request, or submit an async batch job of up to 1,000 URLs with a webhook callback so you are notified the moment results are ready. Every request routes through reputation-scored residential proxies, so you never buy, test, or rotate proxies yourself. Check the pricing page for credit costs, then grab a key and run your first Instagram job in minutes.

Frequently asked questions

Is it legal to scrape Instagram?

Scraping publicly visible data - public posts, captions, follower counts, and hashtag results - is generally permissible, but you must respect rate limits and local privacy laws. Never scrape private accounts, content behind a login you don't own, or personal data of individuals in ways that violate GDPR or platform terms.

How do I scrape Instagram without getting blocked?

Instagram blocks datacenter IPs and unauthenticated bursts quickly. The reliable approach is authenticated session replay through reputation-scored residential proxies, with request throttling and randomized fingerprints. ArrowCrawl handles all of this behind one API call so you never manage sessions or proxies yourself.

Can I scrape many Instagram posts at once?

Yes. Pass a list of post shortcodes in a single batch request, or submit an async job of up to 1,000 URLs with a webhook callback. Every request routes through ArrowCrawl's rotating proxy pool, so throughput stays high without tripping rate limits.

Try it in one API call

ArrowCrawl gives you scrape, crawl, extract, and marketplace data behind a single key - with rotating proxies built in. Start free, 1,000 credits / month.

Get your API key