Who liked an Instagram post: the likes API
· 2 min read
Comments tell you what people think; likes tell you how many bothered to react at all — and who. The likes endpoint returns the likers of any public post in a single response.
The endpoint
GET /v1/ig/media/likers/{pk|shortcode}
The argument accepts the numeric media pk or the shortcode from
the post URL (Deu3BoCBbDP from instagram.com/p/Deu3BoCBbDP/) —
no oEmbed round-trip needed:
from getsocialapi import Client
ig = Client(api_key="gsa_live_...").instagram
likers = ig.media_likers("Deu3BoCBbDP")["users"]
print(len(likers), "likers")
The honest limits
- Up to ~100 users, no pagination. Instagram caps the likers surface; the endpoint returns what the platform exposes. For a post with 95 740 likes you get the visible sample — typically the most recent or most relevant hundred.
- The like counter on the media card is the true total; the likers list is a sample. Report both.
What the sample is good for
Even a sample supports real analysis:
- Audience composition — private/public ratio, verified share, follower-count distribution of the accounts that engaged.
- Engaged-audience diff — likers minus commenters: the silent majority vs the conversational core.
- Influencer vetting — a creator whose likers are 80% faceless private accounts with default avatars is telling you something.
- Competitor benchmarking — same sample across competing posts normalizes engagement claims.
info = ig.media_info("Deu3BoCBbDP")["items"][0]
print("declared:", info["like_count"], "| sample:", len(likers))
private_share = sum(1 for u in likers if u.get("is_private")) / len(likers)
Combining the three engagement surfaces
| Endpoint | Gives you | Pagination |
|---|---|---|
| Media info | counters (true totals) | — |
| Likes | who reacted | none, ~100 sample |
| Comments | what they said | full, via min_id |
Counters first (cheap), samples and comments second (deeper). That ordering keeps request budgets sane on large analyses.
Likes are one call away — 100 free calls profile a dozen posts end to end.
Build with GetSocialAPI
Explore Instagram API for capabilities, pricing and integration examples. Create an account to start with 100 free calls, or follow the quickstart.