Instagram Likes Scraper - Counts + Advanced Likers avatar

Instagram Likes Scraper - Counts + Advanced Likers

Pricing

from $3.00 / 1,000 post like metrics scrapeds

Go to Apify Store
Instagram Likes Scraper - Counts + Advanced Likers

Instagram Likes Scraper - Counts + Advanced Likers

Scrape Instagram post/reel like counts and engagement metadata with ScrapeCreators primary and SociaVault fallback, plus advanced cookie-based liker profiles when needed. MCP/API-ready.

Pricing

from $3.00 / 1,000 post like metrics scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

11

Total users

5

Monthly active users

7 days ago

Last modified

Share

This Apify Actor helps social media, lead generation, and MCP workflows collect Instagram post and reel like metrics from one or more accepted URLs. It accepts postUrls or startUrls, and each input record represents one Instagram post, reel, or TV post. In default mode, each output record captures one source post's engagement metadata, including like count, comment count, view count, caption, owner details, media URLs, and provider telemetry. In advanced mode, it can return one record per liker profile when an Instagram session cookie is configured.

Best fit and connected workflows

This Actor fits workflows that start from a known Instagram post or reel URL and need structured engagement data or liker profiles for follow-up analysis. It routes well into:

  • post-level engagement review for campaigns, competitors, or content tracking
  • CSV or dataset exports for downstream analysis
  • lead review pipelines when advanced liker profiles are collected
  • Apify MCP-based automation where a tool call returns dataset rows for a known post URL

For no-cookie engagement lookup, the Actor uses managed public-data providers with ScrapeCreators as the primary route and SociaVault as the fallback route. For liker-profile collection, it switches to the cookie-based workflow and can optionally enrich each profile with public Instagram details.

Focused standalone workflow

This Actor is designed as a focused standalone workflow.

Practical scenario

A social media analyst, Maya, starts with a reel URL from a brand account. She runs the Actor in like_counts mode and receives a record with like_count, comment_count, view_count, caption, owner_username, and post_url. Maya uses those fields to compare engagement across recent reels, then sends the normalized post_url and owner_username into her reporting sheet for weekly review.

Input fields

FieldTypePurpose
postUrlsarray of stringsInstagram post, reel, or TV URLs to scrape, one per line.
startUrlsarray of request sourcesApify-style request list input for Instagram URLs.
scrapeModestringSelects provider-backed like counts or advanced liker-profile extraction.
providerOrderstringSets whether ScrapeCreators or SociaVault is tried first for like-count mode.
maxResultsintegerMaximum liker profiles per post in advanced mode.
includeRawDatabooleanIncludes raw provider response in like-count mode.
includePostMetadatabooleanAdds source post caption and reported like count to each liker record in advanced mode.
enrichProfilesbooleanAdds public profile details to each advanced liker record.
sessionCookiestringInstagram session cookie used for advanced liker-profile mode.
proxyConfigurationobjectProxy settings, with residential proxy defaults provided in the schema.

Focused JSON input example

{
"postUrls": [
"https://www.instagram.com/p/DLDXI0fylTC/"
],
"scrapeMode": "like_counts",
"providerOrder": "scrapecreators-first",
"includeRawData": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
]
}
}

Output fields

FieldTypeMeaning
record_typestringpost_like_metrics for provider-backed rows, or empty for advanced liker rows.
providerstringProvider used for like-count and engagement rows.
input_urlstringOriginal Instagram URL supplied in the input.
post_urlstringNormalized post or reel URL.
media_idstring or nullInstagram media ID returned by the provider.
shortcodestring or nullInstagram shortcode returned by the provider.
owner_usernamestring or nullUsername of the post owner.
owner_full_namestring or nullDisplay name of the post owner.
like_countinteger or nullReported like count.
comment_countinteger or nullReported comment count.
view_countinteger or nullReported view count for video or reel media when available.
usernamestringInstagram username of a liker profile in advanced mode.
profile_urlstringDirect link to a liker profile in advanced mode.
liked_media_urlstringNormalized URL of the source post or reel for liker records.
post_owner_usernamestring or nullOwner username attached to advanced liker records when available.
scraped_atstringUTC timestamp when a liker record was collected.

Illustrative output record

{
"record_type": "post_like_metrics",
"provider": "scrapecreators",
"input_url": "https://www.instagram.com/reel/DLDXI0fylTC/",
"post_url": "https://www.instagram.com/p/DLDXI0fylTC/",
"media_id": "3141592653589793238",
"shortcode": "DLDXI0fylTC",
"owner_username": "natgeo",
"owner_full_name": "National Geographic",
"like_count": 18420,
"comment_count": 212,
"view_count": 88100,
"is_video": true,
"liked_media_url": null,
"scraped_at": "2026-06-08T12:00:00.000Z"
}

How it works

The Actor accepts Instagram post, reel, or TV URLs and normalizes them into dataset records. In default mode, it uses managed public-data providers and writes one row per source post with like and engagement metadata. The live contract defines ScrapeCreators as the recommended primary provider and SociaVault as the secondary fallback. In advanced mode, it uses an Instagram session cookie to collect liker profiles, and the schema also supports optional profile enrichment fields such as biography, email, phone, external URL, follower count, following count, media count, category, and business flag. The output contract stores results in the default dataset and exposes a RUN_SUMMARY record in key-value storage.

Evergreen pricing

This Actor uses Pay per event pricing plus standard Apify platform usage. Charging is event-based: the Actor start event is charged when a run begins, provider-backed post metrics are charged per scraped post or reel, advanced liker profiles are charged per collected profile, and profile enrichment adds a separate event when enabled.

For example, if a execution processes three posts in like-count mode, the billing includes one Actor start event and three post-metric events. To review the current event pricing and platform usage details, open the live Pricing tab in Apify Console.

Use with AI agents (MCP)

This Actor is usable through Apify MCP as a tool that returns Instagram engagement data or advanced liker profiles for a supplied post URL. The precise Actor identity is khadinakbar/instagram-likes-scraper.

Find the engagement data for this Instagram reel URL. Return the normalized post URL, owner username, like count, comment count, and any available video or caption metadata. Use the provider-backed mode unless I explicitly ask for liker profiles.

Output interpretation is straightforward: provider-backed rows represent post-level engagement, while advanced rows represent individual liker profiles. The dataset preserves provenance through fields such as provider, input_url, post_url, and liked_media_url, which makes it easier to trace each row back to the original target. In provider-backed mode, source_has_liker_identities is false, which reflects the contract for public provider APIs. When pagination or larger target sets are involved, use the Actor with one or more post URLs and read the resulting dataset items from the default dataset endpoint. Cost scales with the number of charged events, so higher maxResults values and profile enrichment increase usage in advanced mode.

Apify API example

import { ApifyClient } from "apify-client";
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
const input = {
postUrls: ["https://www.instagram.com/p/DLDXI0fylTC/"],
scrapeMode: "like_counts",
providerOrder: "scrapecreators-first",
};
const run = await client.actor("khadinakbar/instagram-likes-scraper").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Best results and outcome guidance

Use postUrls when you already have a set of Instagram post, reel, or TV links. Use startUrls when your workflow already works with Apify request-list style inputs. Keep scrapeMode at like_counts for provider-backed engagement rows, and switch to liker_profiles when you specifically need individual liker accounts and have configured a valid session cookie. In like-count mode, includeRawData helps with debugging and downstream parsing. In liker-profile mode, includePostMetadata and enrichProfiles shape how much post and profile context each record carries.

Design note

I found that the dataset contract clearly separates provider-backed rows from advanced liker-profile rows through record_type, provider, and source_has_liker_identities, which is a useful signal for downstream parsing and reporting.

FAQ

When should I use postUrls instead of startUrls?

Use postUrls when you already have a simple list of Instagram URLs. Use startUrls when you prefer Apify-style request list input.

Which mode should I choose for basic engagement metrics?

Use like_counts for post-level like count, comment count, view count, caption, and owner metadata.

The session cookie is used in liker_profiles mode, which is the advanced workflow for collecting liker identities.

What does the provider order setting change?

It controls which managed public-data API is tried first for provider-backed like counts and engagement metadata. The live contract defines ScrapeCreators as the primary route by default and SociaVault as the fallback route.

Which fields are useful for downstream analysis?

For post-level analysis, post_url, owner_username, like_count, comment_count, view_count, and taken_at are commonly useful. For advanced liker workflows, username, profile_url, liked_media_url, post_owner_username, and the enrichment fields can support follow-up review.

Can I use this Actor through Apify MCP?

Yes. The Actor is MCP-ready and can be used through Apify MCP as a tool that returns dataset rows for the supplied Instagram target.

Responsible use

Use this Actor with Instagram content and account access that matches your configured permissions and the applicable platform rules. Advanced profile collection uses an Instagram session cookie and should be handled carefully, including the protection of secrets and the use of appropriate proxy settings. Review your obligations under Instagram's Terms of Service, GDPR, CCPA, and any other applicable laws before running larger or repeated workflows.