Instagram Likes Scraper
Pricing
from $0.78 / 1,000 visible liker rows
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
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
2
Monthly active users
5 days ago
Last modified
Categories
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:
- Analyze Visible Likers on an Instagram Post
- Compare Visible Likers Across Instagram Posts
- Export Instagram Post Likers to a Dataset
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
| Input | Description |
|---|---|
postUrls | One or more direct public instagram.com/p/, instagram.com/reel/, or instagram.com/tv/ URLs. |
maxLikesPerPost | Maximum target-bound visible liker rows to save per URL (1–1,000). |
sessionCookie | Optional secret session-cookie fallback for public-media access; used in memory only and never logged or stored. |
includeProfileDetails | Keep this false unless a public detail route is available; visible-like rows remain the documented output. |
failOnPrivateOrBlocked | Stop immediately rather than record a diagnostic when a URL is private or blocked. |
Output fields
| Field | Meaning |
|---|---|
id, username, full_name | Visible liker identity fields. |
is_private, is_verified | Visible profile state. |
profile_pic_url, profile_pic_id | Visible profile-image reference when exposed. |
is_new, latest_reel_media, latest_reel_media_utc | Source activity fields when exposed in the visible liker response. |
liked_post, post_url, source_post_id | Target post provenance for overlap analysis. |
total_likes | Public total count when Instagram exposes it. |
page, scraped_at, visibility_status | Page 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 ApifyClientclient = 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.
Related Actors
More Instagram scrapers
- Instagram Followers & Following Scraper
- Instagram Profile & Posts Scraper
- Instagram Stories & Highlights Scraper
- Instagram Post Details Scraper
- Instagram Related Profiles Scraper
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.