Instagram Scraper avatar

Instagram Scraper

Pricing

from $3.50 / 1,000 instagram results

Go to Apify Store
Instagram Scraper

Instagram Scraper

Scrape Instagram profiles, posts, reels, comments, hashtags, and places by parsing public pages through Apify proxy. No API, no browser, no login required. Honest caps for logged-out data.

Pricing

from $3.50 / 1,000 instagram results

Rating

0.0

(0)

Developer

Admo Solutions

Admo Solutions

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Categories

Security

Limited permissions

Share

Scrape Instagram profiles, posts, reels, comments, hashtags, and places by parsing public pages through Apify proxy. No Instagram API, no browser, no login required.

Features

  • Profiles — username/URL → details (followers, bio, verified, approximate posts count)
  • Posts & Reels — captions, media, likes, comments count, date, location (nullable)
  • Comments — text, author, likes, date (first embedded page per post)
  • Hashtags — volume (approximate), popular media; each item detail-fetched for exact stats
  • Places — name, lat/lng, category, media count (address unavailable logged-out)
  • Retry ladder — full-browser headers, rate-limit-shell detection, 429 backoff, datacenter → residential
  • Date filter — only posts newer than X (dropped posts not charged)
  • Honest failures — explicit error rows, never fabricated data
  • Any Apify output format — JSON, CSV, Excel, XML; run via REST API, schedule runs, or use webhooks and MCP

Honest caps (logged-out public pages)

CapabilityCap
Profile post listfirst grid page only (~12; no pagination without API)
Commentsfirst embedded page (~13 per post; commentsCount shows true total)
Hashtag feedpopular reels grid (~12), per-item stats via detail fetch
Hashtag / profile countsparsed from formatted strings (3.9B, 32K) — approximate
Place address / place-by-name searchunavailable → address: null / honest error row
Mentions moderemoved (needs search API)

Pricing

$3.50 per 1,000 results (pay-per-event). One result = one row (post, comment, profile, hashtag, place). Minimum $0.05/run.

Input

FieldTypeDefaultDescription
startUrlsarray[]Profile/post/hashtag/place URLs
searchQueriesarray[]Keywords for discovery
searchTypeenumhashtaghashtag | profile | place
contentToScrapeenumpostsposts | reels | comments | details
resultsLimitint50Max results per URL (1–5000)
onlyPostsNewerThanstring—ISO date or relative (7 days)
sessionCookiestring (secret)—Instagram sessionid (reduces rate limiting)
proxyConfigurationobjectdatacenterApify standard; RESIDENTIAL recommended for stability
maxConcurrencyint41–10
maxRequestRetriesint40–10

Output

One row per result. type ∈ profile, post, comment, hashtag, place, error. Error rows are pushed but never charged.

profile — details of a profile

FieldMeaning
typealways profile
idInstagram user ID
usernamehandle
full_namedisplay name
biobiography text
external_urlwebsite link
followers, followingexact counts from embedded JSON
posts_countapproximate (parsed from formatted 32K)
is_verified, is_private, is_businessaccount flags
profile_pic_urlavatar URL
urlcanonical profile URL
fetched_atISO 8601 fetch timestamp

post — post or reel

FieldMeaning
typealways post
idmedia ID
short_code, urlshortcode and canonical /p/ URL
post_typeimage, video, carousel or reel
captioncaption text
media_urlsmedia URLs; carousel includes every slide
likeslike count (exact)
comments_counttrue total comments on the post
posted_atISO 8601 publish time (UTC)
locationgeotag name; null when ungeotagged
tagged_userstagged usernames; null when absent
fetched_atISO 8601 fetch timestamp

comment — first embedded page per post (~13)

FieldMeaning
typealways comment
idcomment ID
post_id, post_urlpost the comment belongs to
textcomment body
author, author_usernamedisplay name and handle
likescomment like count
created_atISO 8601 time (UTC)
fetched_atISO 8601 fetch timestamp

hashtag — details mode

FieldMeaning
typealways hashtag
nametag name without #
media_countapproximate (parsed from formatted 3.9B)
related_hashtagsalways null when logged out
urlcanonical tag URL
fetched_atISO 8601 fetch timestamp

place — details mode

FieldMeaning
typealways place
idlocation ID
name, slugplace name and URL slug
address, cityalways null when logged out
lat, lngcoordinates (exact)
categoryplace category
media_countmedia count (exact)
fetched_atISO 8601 fetch timestamp

error — honest failure, never charged

FieldMeaning
typealways error
error_coderate_limited, login_required, private_account, not_found, http_error, invalid_input
messagehuman-readable detail
inputtarget URL/query that failed
fetched_atISO 8601 fetch timestamp

Usage

$apify run -a admo-solutions/instagram-scraper

Or via API with {"startUrls": [{"url": "https://www.instagram.com/natgeo/"}], "contentToScrape": "posts"}.