Instagram Likes Scraper avatar

Instagram Likes Scraper

Pricing

from $0.78 / 1,000 visible liker rows

Go to Apify Store
Instagram Likes Scraper

Instagram Likes Scraper

Export visible public Instagram post liker rows for audience research, influencer vetting, and campaign-overlap analysis.

Pricing

from $0.78 / 1,000 visible liker rows

Rating

0.0

(0)

Developer

Fetch Cat

Fetch Cat

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

2

Monthly active users

5 days ago

Last modified

Share

Export visible public liker rows from public Instagram posts and Reels for audience research, influencer vetting, and campaign-overlap analysis.

Who is it for?

  • Creator marketers comparing the visible audiences of sponsored posts.
  • Social media analysts building a reproducible public-engagement export.
  • Agencies vetting audience overlap before an influencer campaign.

Each dataset row is tied to the public post URL you supplied. The Actor does not substitute comments, followers, or unrelated profiles for likes.

What it exports

Each saved row includes visible profile identity, profile state, a profile-image reference, post provenance, page number, scrape time, and a visibility diagnostic.

{
"postUrls": ["https://www.instagram.com/p/DLm63qQpxvw/"],
"maxLikesPerPost": 10,
"failOnPrivateOrBlocked": false
}

Example output

{
"id": "123456789",
"username": "public_creator",
"full_name": "Public Creator",
"is_private": false,
"is_verified": false,
"profile_pic_url": "https://...",
"liked_post": "https://www.instagram.com/p/DLm63qQpxvw/",
"source_post_id": "DLm63qQpxvw",
"page": 1,
"visibility_status": "visible"
}

Ready-to-run examples

Open a public example to inspect its input, run it, or reuse it as a task:

Use Export Instagram Post Likers to a Dataset for a one-post export, Analyze Visible Likers on an Instagram Post for a bounded engagement sample, and Compare Visible Likers Across Instagram Posts for two-post overlap analysis. These verified public examples use safe, public post inputs; the earlier Reel recipe was removed because it was not reliable evidence for a public task.

Access and availability

This Actor checks the public post and then attempts its visible Likes list. Instagram can hide, limit, or challenge that list, so the Actor returns only rows it can bind to your requested public post.

An optional secret sessionCookie can help with an authorized public-media run when the managed session is unavailable or challenged. It is used only in memory and is never logged, persisted, included in SUMMARY, or emitted in dataset rows. Do not provide passwords, browser storage state, private-account credentials, or cookies belonging to anyone else.

Input settings

InputDescription
postUrlsOne or more direct public instagram.com/p/, instagram.com/reel/, or instagram.com/tv/ URLs.
maxLikesPerPostMaximum target-bound visible liker rows to save per URL (1–1,000).
sessionCookieOptional secret session-cookie fallback for public-media access; used in memory only and never logged or stored.
includeProfileDetailsKeep this false unless a public detail route is available; visible-like rows remain the documented output.
failOnPrivateOrBlockedStop immediately rather than record a diagnostic when a URL is private or blocked.

Output fields

FieldMeaning
id, username, full_nameVisible liker identity fields.
is_private, is_verifiedVisible profile state.
profile_pic_url, profile_pic_idVisible profile-image reference when exposed.
is_new, latest_reel_media, latest_reel_media_utcSource activity fields when exposed in the visible liker response.
liked_post, post_url, source_post_idTarget post provenance for overlap analysis.
total_likesPublic total count when Instagram exposes it.
page, scraped_at, visibility_statusPage provenance, UTC scrape time, and visible or partial_visible diagnostic.

Pricing

Pricing is based on target-bound visible liker rows saved to the dataset. A one-time run-start event and per-row event may apply; no result-row charge is made when Instagram exposes no target-bound liker rows. See the live Pricing tab for current tier rates.

Limits and tips

Instagram can hide liker lists, show only a recent slice for high-engagement media, or require a sign-in session. This Actor exports only rows actually exposed by the selected route. It never fabricates unavailable likes; private, blocked, and empty cases are recorded in the SUMMARY key-value record rather than as fake dataset rows.

Start with a small limit. Review visibility_status, and use source_post_id plus id to compare audiences across posts. Save the source URL with your analysis so another team member can repeat the same public-media request.

Instagram likes API usage

Use actor ID fetch_cat/instagram-likes-scraper with the same JSON input as the recipes above.

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/instagram-likes-scraper').call({
postUrls: ['https://www.instagram.com/p/DLm63qQpxvw/'],
maxLikesPerPost: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("fetch_cat/instagram-likes-scraper").call(run_input={
"postUrls": ["https://www.instagram.com/p/DLm63qQpxvw/"],
"maxLikesPerPost": 10,
})
print(client.dataset(run["defaultDatasetId"]).list_items().items)

cURL

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~instagram-likes-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"postUrls":["https://www.instagram.com/p/DLm63qQpxvw/"],"maxLikesPerPost":10}'

MCP and scheduling

In Apify MCP, enable https://mcp.apify.com?tools=fetch_cat/instagram-likes-scraper and pass the same input keys. You can also schedule this Actor in Apify for recurring public-engagement exports; each scheduled run uses the post URLs and limit you select.

Add the MCP server

$claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/instagram-likes-scraper"
{
"mcpServers": {
"apify": {
"type": "http",
"url": "https://mcp.apify.com?tools=fetch_cat/instagram-likes-scraper"
}
}
}

Example prompts: "Export 25 visible likers from this public Instagram post" or "Compare visible liker overlap for these two public post URLs."

FAQ

What data can I export with Instagram Likes Scraper? You receive target-bound visible liker rows: public profile IDs, usernames, display names, visible profile state, profile-image references, post context, page, scrape time, and a visibility diagnostic.

Can I run Instagram Likes Scraper through an API, schedule, or MCP client? Yes. Use the JSON input with the Apify API, schedule the Actor in Apify, or enable its MCP tool URL above. Each route uses the same public-post URL and result-limit inputs.

How much does it cost to scrape Instagram likes? Pricing is charged for target-bound visible liker rows that are saved. Check the Pricing tab for the current tier rate; no result-row charge is made when no rows are saved.

Why did I get no rows? Instagram did not expose a target-bound visible liker list for that public post to the selected route. Check the run SUMMARY; an authorized optional secret fallback can still expire or be challenged.

Does it export followers, DMs, or private likes? No. It is limited to visible liker rows on public media.

More Instagram scrapers

Support

For reproducible issues, include the public post URL, selected limit, and the non-sensitive SUMMARY result. Never include a session cookie in a support message.