InstagramPOST /v1/instagram/photos

Instagram Posts Scraper API

An Instagram profile plus its most recent posts (up to 60) with type, caption, thumbnail and engagement counts where available.

Cost
2 credits
Failed requests
Refunded
Cache hits
Free
Response fields
20
Limits
Up to 60 recent posts ยท captions max 300 chars
All limits

What the Instagram Posts Scraper API does

The Instagram Posts Scraper API returns a public Instagram profile together with its most recent posts, newest first, up to 60 per request. Every post comes with its shortcode, link, type (photo, video or album), caption, thumbnail, publish time and, where the source includes them, like and comment counts. The profile part carries the same fields as the profile endpoint: bio, link in bio, verification and business flags, category and follower, following and post counts. Send a username, an @handle or a profile URL; there is no Instagram login or Meta app review on your side. Captions are shortened to 300 characters, and posts_source tells you where the posts were read from. A request costs 2 credits, whether it returns one post or sixty.

What you get

Top-level fields of the response. Every field is typed and documented; nullable fields are null when the platform does not show them.

FieldTypeDescription
idstringInstagram numeric user ID as string
usernamestringInstagram username
full_namestringDisplay name; empty string if none
biographystringBio text; empty string if none
external_urlstring | nullWebsite link shown in bio
profile_pic_urlstring | nullProfile picture URL (standard size)
profile_pic_url_hdstring | nullProfile picture URL (high resolution)
is_privatebooleanAccount is private
is_verifiedbooleanAccount has verified badge
is_business_accountbooleanAccount is a business account
category_namestring | nullBusiness/creator category label
follower_countinteger | nullNumber of followers
following_countinteger | nullNumber of accounts followed
post_countinteger | nullNumber of posts published
has_highlightsboolean | nullHas story highlights; null if unknown/private
highlight_countinteger | nullStory highlight count; null if unknown/private
postsarray<object> (11 fields each)Most recent posts, newest first, max limit
posts_fetchedintegerNumber of posts returned
posts_sourcestring'feed', 'profile_html', 'profile_fallback' or 'none'
has_morebooleanMore posts exist beyond those returned

Request example

Send the API key as a Bearer token. The body is a small JSON object.

curl -X POST https://api.scrapeeverything.com/v1/instagram/photos \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"username":"nasa","limit":12}'
ParameterRequiredDescription
usernameYesInstagram username, @handle or profile URL.
limitNoMaximum number of posts to return.

What it costs

Each successful request costs 2 credits. Your first 100 credits are free. With credit packs, 1,000 requests to this endpoint cost:

  • Builder pack

    $3.12

    25,000 credits for $39.00

  • Growth pack

    $2.38

    100,000 credits for $119.00

  • Scale pack

    $1.80

    500,000 credits for $449.00

See pricing for all packs and rate limits.

Use cases

  • Audit a brand's or creator's recent content mix of photos, albums and videos before a partnership.
  • Measure posting frequency of competitors from the taken_at times of their latest posts.
  • Estimate engagement by comparing like and comment counts with follower_count, where the counts are available.

Limitations: Unofficial API: not affiliated with or endorsed by the platform. Public data only, as a logged-out visitor sees it. Private accounts return profile fields only; posts show at most 15 newest comments; items Instagram hides from logged-out visitors are missing.

  • Despite the name, it returns every post type: photos, albums (carousels) and videos. Each post's type field says which.
  • Returns every instagram.profile field plus up to 60 recent posts, newest first.
  • posts_source shows where the posts came from. Some sources do not include like and comment counts (null).
  • Private accounts return an empty posts array.

Questions

Does it only return photos?

No. Despite the name, it returns every post type. The type field says photo, video or album, and is_video marks videos.

Why are like and comment counts sometimes null?

Some sources do not include counts; posts_source shows which one was used. If the owner hid the counts, like_and_view_counts_disabled is true.

What about private accounts?

You get the public profile fields and an empty posts array, because a private account's posts are not visible to logged-out visitors.

How much does the Instagram Posts Scraper API cost?

2 credits per successful request. Credits are bought in one-time packs and never expire. New accounts get 100 free credits. No payment details needed.

Am I charged for failed requests?

No. If the platform blocks the request, it times out or something fails on our side, the credits are refunded automatically. A definitive answer such as "this account does not exist" is billed because the lookup completed.

Can I re-read a result without paying again?

Yes. Send cache_days (1 to 14) and a repeat request for the same target within that window is served from your cache for free.

More Instagram endpoints

Start with 100 free credits.

Continue with Google, create an API key and send your first request in under a minute.

Get 100 free credits