Instagram Latest Posts Scraper avatar

Instagram Latest Posts Scraper

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Instagram Latest Posts Scraper

Instagram Latest Posts Scraper

Hand it a list of Instagram handles and get back each profile's newest posts — caption, likes, comments, timestamp, media URLs and video views — one clean dataset row per post. No browser, just fast public-API requests.

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

Assia Fadli

Assia Fadli

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Feed this actor a list of Instagram handles and it hands back each profile's newest posts — captions, likes, comments, timestamps, media URLs and video view counts. You get one dataset row per post, ready to drop into a sheet, a database or the next step of your pipeline.

Under the hood it talks to Instagram's own public web_profile_info endpoint (the same request the instagram.com website makes). There's no headless browser involved, so runs are fast, light and cheap.

What you can do with it

  • Track what your competitors or favourite creators just posted.
  • Pull recent captions and engagement for content research.
  • Build a lightweight feed monitor across many accounts at once.
  • Grab media URLs and video view counts for reporting.

Input

FieldTypeRequiredDescription
usernamesarray of stringsyesHandles to scrape (with or without @, plain handle or full profile URL).
maxPostsintegernoCap on recent posts per profile. Omit to return everything available (~12).
sessionCookiestring (secret)noValue of your Instagram sessionid cookie. Boosts success rate and unlocks otherwise-blocked profiles.
proxyCountrystringnoTwo-letter country code for the residential proxy (e.g. US, GB, DE).

The original instagramUsernames, sessionId and proxyCountryCode field names are still accepted as aliases, so existing configs keep working unchanged.

Input example

{
"usernames": ["nasa", "instagram"],
"maxPosts": 12
}

Output

One row per post, each prefixed with the owning username:

FieldDescription
usernameThe profile the post belongs to.
shortcodeInstagram post shortcode.
urlCanonical post URL (https://www.instagram.com/p/<shortcode>/).
captionPost caption text.
likesLike count.
commentsComment count.
timestampPost time as an ISO 8601 string.
isVideoWhether the post is a video.
videoViewCountView count (videos only, otherwise null).
displayUrlFull-size media URL.
thumbnailSrcThumbnail media URL.
isPinnedWhether the post is pinned on the profile.
accessibilityCaptionAuto-generated alt-text describing the image.

Output sample

{
"username": "nasa",
"shortcode": "DABc123XyZ",
"url": "https://www.instagram.com/p/DABc123XyZ/",
"caption": "A stunning view of a distant galaxy captured by our telescope.",
"likes": 482913,
"comments": 1204,
"timestamp": "2026-07-15T18:30:00.000Z",
"isVideo": false,
"videoViewCount": null,
"displayUrl": "https://instagram.f...cdn.net/....jpg",
"thumbnailSrc": "https://instagram.f...cdn.net/....jpg",
"isPinned": false,
"accessibilityCaption": "Photo by NASA on July 15, 2026."
}

If a handle can't be fetched (invalid handle, private/empty profile, or a block), the actor writes a single { "username": "...", "error": "..." } row for that handle instead of crashing the whole run.

Pricing — pay per event

This actor uses Apify's pay-per-event pricing. You're charged one post-scraped event per delivered post row. Error and empty-profile rows are never charged, and the run stops automatically once your event budget is reached so you're never billed beyond it.

Notes

  • Proxies: Residential proxies are strongly recommended — Instagram aggressively rate-limits datacenter and cloud IPs. If proxies aren't available on your account, the actor gracefully falls back to a direct connection.
  • Session cookie: Supplying your sessionCookie markedly increases reliability and reaches profiles that are otherwise blocked for anonymous requests.
  • Post count: The web_profile_info endpoint returns roughly the 12 most recent posts per profile. maxPosts can only cap that set, not exceed it.
  • Private profiles: Posts from private accounts are not returned.