Instagram Reposts Scraper
Pricing
from $1.35 / 1,000 reposted posts
Instagram Reposts Scraper
Collect available reposts from public Instagram profiles. Get one structured row per saved repost with its post link, reposting profile, available media, caption, and public engagement details, plus original creator data.
Pricing
from $1.35 / 1,000 reposted posts
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
📌 See What Instagram Profiles Repost
For social media researchers, marketers, and developers, this Actor collects available outbound reposts from public Instagram profiles. It returns one saved row for each first eligible repost it finds, with the reposting profile, post link, original creator, repost evidence, and available media, caption, and public engagement details. Use it to see what an account shares and trace each post back to its original creator.
- Review a profile's repost history with Instagram Reposts.
- Collect posts an account shared with Instagram Repost Scraper.
- Explore reposts from other Instagram accounts with How to See Reposts on Instagram of Others.
- Learn where a shared post appears with How to See Repost on Instagram.
- Start a profile collection with Scrape Instagram Reposts.
📦 Instagram Repost Rows
Review the profile that shared a post, the reposted post itself, the original creator, public engagement when available, a continuation point, and public evidence from the Reposts tab. Source media links are returned when available. The Actor does not download or store media files.
▶️ Collect Public Instagram Reposts
Run steps
- Add one or more Instagram profile handles, numeric account IDs, or profile URLs.
- Use the same identifier type for every item in one run.
- Set Maximum reposts per profile if you want a cap. Leave it empty to return all available reposts until the source is exhausted.
- Paste a continuation point from an earlier run when you want to continue that collection, then start the run.
- Open the
repostslink in the run output to review the dataset.
The Actor saves the first eligible occurrence of a source post immediately. If the same source post appears again through another submitted profile identifier, later matches are ignored. The saved row describes only the first match.
⚙️ Input
Use one run for profile identifiers of the same kind. The required profileIdentifiers field accepts handles, numeric account IDs, or profile URLs.
Input fields
| Field | Type | What it does |
|---|---|---|
profileIdentifiers | Array of strings | Required. Profiles to read. Enter handles, numeric account IDs, or profile URLs, and use one identifier type for every item in the run. |
maxItems | Integer | Optional cap on reposts for each profile. Leave it empty to return all available reposts until the source is exhausted. |
continuationPoint | String | Optional point returned by an earlier run. Paste it into the next run and keep the same profile identifiers to continue the collection. |
Leaving maxItems empty returns all available reposts until the source is exhausted.
Example input
This is the public input from a successful current-beta default-input run.
{"profileIdentifiers": ["worldstar"],"maxItems": 10}
🧾 Output
Run output
| Field | Type | What it does |
|---|---|---|
reposts | String link | Opens the collected Instagram reposts in the default dataset overview. |
Each dataset row uses one shape. repostingProfile, post, originalCreator, and repostEvidence are required. Other fields and nested values appear when Instagram provides them.
Dataset row
| Field | Type | What it does |
|---|---|---|
repostingProfile | Object | Public Instagram profile that shared the repost. |
repostingProfile.id | String | Stable Instagram account ID for the reposting profile. |
repostingProfile.username | String | Handle for the reposting profile, without @. |
repostingProfile.displayName | String | Name shown for the reposting profile. |
repostingProfile.profileUrl | URL string | Main public URL for the reposting profile. |
repostingProfile.isVerified | Boolean | Whether Instagram marks the reposting profile as verified. |
repostingProfile.isPrivate | Boolean | Whether Instagram marks the reposting profile as private. |
post | Object | Instagram post that appears in the selected profile's repost history. |
post.id | String | Stable Instagram ID for the reposted post. |
post.url | URL string | Main public URL for the reposted post. |
post.mediaType | String | Media kind reported by Instagram, such as IMAGE, VIDEO, or CAROUSEL_ALBUM. |
post.caption | String | Original caption for the reposted post. |
post.publishedAt | Date-time string | Publication time for the reposted post. |
post.hashtags | Array of strings | Hashtags found in the caption. |
post.hashtags[] | String | Hashtag from the caption. |
post.mentions | Array of strings | Handles mentioned in the caption. |
post.mentions[] | String | Instagram handle mentioned in the caption. |
post.taggedAccounts | Array of objects | Instagram accounts tagged in the post. |
post.taggedAccounts[] | Object | One tagged Instagram account. |
post.taggedAccounts[].id | String | Stable Instagram ID for the tagged account. |
post.taggedAccounts[].username | String | Handle for the tagged account, without @. |
post.taggedAccounts[].displayName | String | Name shown for the tagged account. |
post.taggedAccounts[].profileUrl | URL string | Main public URL for the tagged account. |
post.taggedAccounts[].isVerified | Boolean | Whether Instagram marks the tagged account as verified. |
post.taggedAccounts[].isPrivate | Boolean | Whether Instagram marks the tagged account as private. |
post.media | Object | Source media links and carousel details for the post. |
post.media.imageUrl | URL string | Direct source URL for the post image. |
post.media.videoUrl | URL string | Direct source URL for the post video. |
post.media.previewUrl | URL string | Direct source URL for a preview image or video frame. |
post.media.durationSeconds | Number | Media duration in seconds. |
post.media.carouselItems | Array of objects | Media items in a carousel, in source order. |
post.media.carouselItems[] | Object | One media item from the carousel. |
post.media.carouselItems[].mediaType | String | Media kind reported for the carousel item. |
post.media.carouselItems[].imageUrl | URL string | Direct source URL for the carousel image. |
post.media.carouselItems[].videoUrl | URL string | Direct source URL for the carousel video. |
post.media.carouselItems[].previewUrl | URL string | Direct source URL for the carousel item's preview. |
post.media.carouselItems[].durationSeconds | Number | Duration of the carousel video in seconds. |
post.audio | Boolean | Whether the source reports that the post has audio. |
post.location | Object | Public location attached to the post. |
post.location.name | String | Name shown for the location. |
post.location.latitude | Number | Latitude reported for the location. |
post.location.longitude | Number | Longitude reported for the location. |
originalCreator | Object | Original creator linked to the repost. |
originalCreator.id | String | Stable Instagram account ID for the original creator. |
originalCreator.username | String | Handle for the original creator, without @. |
originalCreator.displayName | String | Name shown for the original creator. |
originalCreator.profileUrl | URL string | Main public URL for the original creator. |
originalCreator.isVerified | Boolean | Whether Instagram marks the original creator as verified. |
originalCreator.isPrivate | Boolean | Whether Instagram marks the original creator as private. |
engagement | Object | Public engagement counts for the post when Instagram provides them. |
engagement.likes | Integer | Public like count for the post. |
engagement.comments | Integer | Public comment count for the post. |
continuationPoint | String | Point to paste into the next run to continue the profile's collection. |
repostEvidence | Object | Public evidence that links the post to the selected profile's repost history. |
repostEvidence.sourceSurface | String | Public Instagram surface that supplied the repost evidence. |
repostEvidence.sourceLabel | String | Public label that identifies the relationship as a repost. |
Example row from a successful current-beta run
This genuine row is shortened to keep the example small. It keeps real values for the main fields and uses the JSON string "..." for large media URLs and omitted tagged-account details.
{"repostingProfile": {"id": "17841400760725320","username": "worldstar","displayName": "WorldStar Hip Hop / WSHH","profileUrl": "https://www.instagram.com/worldstar/","isVerified": true,"isPrivate": false},"post": {"id": "3981705893938794159","url": "https://www.instagram.com/p/DdB3GogTQ6v/","mediaType": "VIDEO","caption": "Step inside Polymarket HQ.\n\nLivetrade every touchdown with instant buy & sell on the @Polymarket app.\n\nUse code KING50 to get a $50 new user bonus.","publishedAt": "2026-09-08T14:06:59.000Z","mentions": ["Polymarket"],"taggedAccounts": ["..."],"media": {"videoUrl": "...","previewUrl": "...","durationSeconds": 60.060059},"audio": true},"originalCreator": {"id": "17841448463927417","username": "polymarket","displayName": "Polymarket","profileUrl": "https://www.instagram.com/polymarket/","isVerified": true,"isPrivate": false},"engagement": {"likes": 55770,"comments": 1180},"continuationPoint": "QVFENTAxNGFPVkZzczFodEo2UGpSdV9EbC1hVHNBNWNQeGVqM18zeHBXVXAzNFFneEo5c0dLbV9kcGFtcG9zM2pHRHFySmVQaUZ6dUNTN1d6WHdoNTJCNw==","repostEvidence": {"sourceSurface": "Reposts tab","sourceLabel": "Original creator"}}
💳 Pricing
What you pay for
This Actor uses pay-per-event pricing. One event is charged for each successfully saved reposted post. A smaller maxItems value can reduce the number of saved repost events. The current rate is shown in the Pricing tab.
🔌 Integrations
Video guide
Open the dataset link in the run output to review or export the saved rows through Apify.
❓ FAQ
Which profile does a saved repost belong to?
Use repostingProfile to see the public profile whose Reposts tab supplied the first saved occurrence. originalCreator identifies the account tied to the reposted post.
What happens when the same post appears again?
Only the first eligible occurrence is saved. Later matches from another submitted profile identifier are ignored, and the saved row describes that first match.
How do I continue a collection?
Paste the returned continuationPoint into the next run and keep the same profileIdentifiers. Use it when you want to continue from the returned position.
Can I submit more than one profile?
Yes. Submit one or more handles, numeric account IDs, or profile URLs, but use the same identifier type for every item in the run. maxItems applies to each profile.
Does the Actor download media files?
No. It returns source image, video, and preview links when available. Those links are the delivery, so download them yourself if you need files.
Can I read private profiles or regular posts?
No. It is for publicly accessible profile repost history. Private profiles and ordinary profile posts are outside the Actor's scope.
Can I filter by date, media type, creator, or engagement?
No. The Actor collects the available repost history and does not offer those filters.
Can I find every account that reposted one post?
No. It follows selected profiles and returns what they reposted. It does not search for every account that reposted a specified post.
📝 Changelog
v0.0 (25-09-2026)
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- TikTok Reposts Scraper collects public reposts from TikTok profiles with creator and media details.
- Instagram Post & Reel Content Scraper collects regular Instagram posts and Reels from public profiles.
- Instagram Downloader API returns source media links from known public Instagram posts and Reels.
- Instagram Reels Search Scraper finds public Instagram Reels by keyword or hashtag.
- Instagram Profile Stats Scraper checks public profile identity and audience counts for submitted accounts.
Made with ❤️ by Maxime Dupré