Instagram Likes Scraper avatar

Instagram Likes Scraper

Pricing

$1.35 / 1,000 liker accounts

Go to Apify Store
Instagram Likes Scraper

Instagram Likes Scraper

Collect accounts that liked a public Instagram post. Get each liker's handle, profile signals, and source-post context in structured dataset rows. No Instagram login or cookies are required.

Pricing

$1.35 / 1,000 liker accounts

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

❤️ Find who liked a public Instagram post

For social media researchers, marketers, and developers, this Actor finds the Instagram accounts that liked a public post. It returns each liker's ID, handle, profile status, profile image URL, optional recent activity, and source-post context in structured dataset rows. Use the rows to review who engaged with a post and keep the post and liker details together for research.

👥 Liker and source-post data

What it returns

Each saved dataset row connects one discovered liker to the public Instagram post that produced it. A row can include the liker's stable ID, handle, display name, verification and privacy flags, profile image URL, recent activity, and source-post details such as media type, owner, caption, dates, media links, and counts. Optional values appear when Instagram exposes them.

Dataset access

The run output links to the default dataset overview. Open the rows in Apify or retrieve them through the Apify API.

▶️ Run the Instagram likes scraper

Run steps

  1. Add one or more public Instagram post URL objects to postUrls.
  2. Set maxItems if you want a stop limit for the total liker results across the submitted posts.
  3. Leave maxItems empty to return all available results until the public source data is exhausted.
  4. Start the run and open the results link in the run output.

Only publicly accessible posts are in scope. The Actor does not need your Instagram login or cookies.

⚙️ Input

Input fields

FieldTypeWhat it does
postUrlsarray of objectsRequired. Add one or more public Instagram post URL objects. Private posts and posts that are not publicly accessible are not supported.
postUrls[].urlstringRequired inside each item. The public Instagram post URL to process.
maxItemsintegerOptional stop limit for the total number of liker results across all submitted posts. Leave it empty to return all available results until the public source data is exhausted.

Successful default input

This is the public input from a successful current-beta run with the default input.

{
"postUrls": [
{
"url": "https://www.instagram.com/p/CmUv48DLvxd/"
}
],
"maxItems": 1
}

🧾 Output

Output link

FieldTypeWhat it does
resultsURL stringOpens the collected liker profiles and source post details in the default dataset overview.

Dataset rows

All saved rows use the same shape. Required fields are marked in the descriptions. Optional fields appear when the public source provides them.

FieldTypeWhat it does
likerobjectRequired. Details about the Instagram account that liked the source post.
liker.idstringRequired. Stable public identifier of the liker account.
liker.handlestringRequired. Public Instagram handle of the liker account.
liker.displayNamestringPublic display name shown for the liker account when available.
liker.isVerifiedbooleanRequired. Whether Instagram marks the liker account as verified.
liker.isPrivatebooleanRequired. Whether Instagram marks the liker account as private.
liker.profileImageUrlURL stringDirect public URL of the liker account profile image when available.
liker.recentActivityobjectPublic recent activity signal when Instagram exposes one.
liker.recentActivity.latestPostUrlURL stringPublic URL of the latest post found for the liker account.
liker.recentActivity.latestPostPublishedAtISO date-time stringPublish time of the latest public post found for the liker account.
sourcePostobjectRequired. The public Instagram post that produced this liker row.
sourcePost.idstringRequired. Stable identifier of the source post.
sourcePost.urlURL stringRequired. Normalized public URL of the source post.
sourcePost.mediaTypestringRequired. Media type reported for the source post.
sourcePost.ownerobjectPublic identity details for the account that owns the source post when available.
sourcePost.owner.idstringStable public identifier of the source post owner.
sourcePost.owner.handlestringPublic Instagram handle of the source post owner.
sourcePost.owner.displayNamestringPublic display name of the source post owner.
sourcePost.captionstringCaption published with the source post when available.
sourcePost.publishedAtISO date-time stringPublish time of the source post when available.
sourcePost.mediaUrlsarray of URL stringsDirect public URLs for the media in the source post.
sourcePost.likeCountintegerNumber of likes reported for the source post when available.
sourcePost.commentCountintegerNumber of comments reported for the source post when available.

Genuine current-beta row

This shortened row is a real row from a successful current-beta run. The JSON string "..." stands for the omitted media URL array in sourcePost.mediaUrls, so the example stays short while the field table remains complete.

{
"liker": {
"id": "49513074959",
"handle": "hiten.fillms",
"displayName": "HITEN",
"isVerified": false,
"isPrivate": false,
"profileImageUrl": "https://scontent-lga3-3.cdninstagram.com/v/t51.82787-19/784617586_18073215194650960_3403044751659969413_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-lga3-3.cdninstagram.com&_nc_cat=104&_nc_oc=Q6cZ2gFZ5gGUPOphC1SJ5d6Seuu9ICEopyov8IuwQcouUi0X-p4h9DjbdXASK7bJkYJnrFM&_nc_ohc=o8vb927qJ2cQ7kNvwEw1s6T&_nc_gid=fuAPR-U-lDtOtUA_e7JzKQ&edm=APs17CUBAAAA&ccb=7-5&oh=00_AQLDEq-t2oSuae-zuUj5OXenCgIfpi5Sl2uvdgl78T52Cw&oe=6AB65BB5&_nc_sid=10d13b",
"recentActivity": {
"latestPostUrl": "https://www.instagram.com/p/DdbmOLHNjmv/",
"latestPostPublishedAt": "2026-09-18T14:00:20.000Z"
}
},
"sourcePost": {
"id": "3629852871325507475",
"url": "https://www.instagram.com/reel/DJf0_RmSd-T/",
"mediaType": "VIDEO",
"owner": {
"id": "17841403571689310",
"handle": "insta360",
"displayName": "Insta360"
},
"mediaUrls": "...",
"caption": "Every laugh, every tear, every moment. Capture it all with Insta360 GO 3S!\n\nWho’s getting one for Mother‘s Day? 😏\n\n📸 mengmengya with Insta360 GO 3S\n\n#Insta360 #Insta360GO3S #mothersday #toddler #videography #happymothersday❤️",
"publishedAt": "2025-05-11T03:00:03.000Z",
"likeCount": 41848259,
"commentCount": 181996
}
}

💳 Pricing

This Actor uses pay-per-event pricing. Each Liker account event covers one account saved to the dataset. Your total depends on the number of saved accounts and the price shown before you run.

🔌 Integrations

Open the results in Apify or retrieve the saved rows through the Apify API.

❓ FAQ

What does leaving maxItems empty do?

It returns all available liker results until the public source data is exhausted. Set a positive value when you want to stop after a smaller total.

Can it read private Instagram posts?

No. The Actor works with publicly accessible posts. A liker may have a private account, and the row can show that privacy status, but private profile data is not provided.

What does one dataset row contain?

Each row connects a liker account to the public source post. It can include identity and profile signals for the liker plus the source post owner, media, caption, dates, and available engagement counts.

Why might an optional field be missing?

Instagram does not expose every field for every account or post. Optional fields are included only when the public source provides them.

How do I use the results in code?

Open the results link in the run output to view the default dataset, or retrieve the dataset rows through the Apify API.

📝 Changelog

v0.0 (21-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 🫡

Made with ❤️ by Maxime Dupré