Instagram Posts, Reels & Reposts Scraper avatar

Instagram Posts, Reels & Reposts Scraper

Pricing

from $1.70 / 1,000 results

Go to Apify Store
Instagram Posts, Reels & Reposts Scraper

Instagram Posts, Reels & Reposts Scraper

Four ways to read what a public Instagram account has posted: its timeline posts, its reels, posts it is tagged in, and posts it has reposted. Paging is automatic up to Max results, and every mode takes the account's numeric user ID.

Pricing

from $1.70 / 1,000 results

Rating

0.0

(0)

Developer

ToolzerHub

ToolzerHub

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Export what a public Instagram account has posted — timeline posts, reels, posts it is tagged in, and posts it has reposted — as one row per post with like_count, comment_count, taken_at, media_type and the post code. No login, no cookies.

Every mode takes the account's numeric user ID, not the handle.

Pick a mode

ModeReturns
Timeline postsEverything on the grid — images, carousels, and reels that were posted to the grid
ReelsThe reels tab on its own
Tagged postsPosts by other accounts that tag this one
RepostsPosts this account has reshared

Input

FieldNotes
userIdsOne or more numeric IDs. Get them from the Profile Actor — its pk field is what goes here.
Max resultsPer user ID, not per run. Two IDs at 25 gives up to 50 rows. 0 removes the bound.
Resume fromA continuation value from an earlier run's log. Picks up where that run stopped.

Paging runs on its own up to Max results — you don't ask for page 2.

Output

source_identifier · code · like_count · comment_count · taken_at · media_type

code is the shortcode at the end of the post URL, so instagram.com/p/<code>/ rebuilds the link.

Questions

Why do I get fewer rows than Max results? The account ran out of posts, or Instagram stopped handing out pages. A run ends when Instagram returns an empty page, or hands back the same continuation value twice — both mean there is nothing further to ask for. An account with 4,000 posts will not always give up 4,000 rows.

Can I pass a username instead of an ID? Not to this Actor. These four endpoints take numeric IDs only. Run the Profile Actor's "Get profile by username" mode first — one run converts your whole handle list to IDs, and the ID keeps working after someone renames their account.

Nothing came back for an account that clearly posts. Check whether it's private. Private accounts return their profile but none of their posts. is_private on the Profile Actor's row tells you before you spend a run here.

Reels are showing up in Timeline posts too. Is that double counting? Timeline posts is the grid as Instagram serves it, and reels posted to the grid appear there. Use the Reels mode when you want the reels tab alone. Running both and merging will give you overlap — dedupe on code.

How do I continue a run that stopped at the limit? Take the value the log prints when it stops and put it in Resume from on the next run, with the same user ID. It carries on from that point rather than restarting.

The rest of the family

Instagram Post, Comments & Likes Scraper — one post in depth, with its comments and likers. Instagram Profile Scraper — the account behind the posts, and where the numeric IDs come from. Instagram Scraper - All In One — every mode in this family.

Support

Questions, bugs, or feature requests: contact@toolzerhub.com

Browse the rest: apify.com/toolzerhub