Post likers API
Accounts that liked a post. Instagram shows only a sample of the likers of a busy post, and so does this.
GEThttps://storiesfly.com/api/v1/post/likers- Price 1 request
- Answers up to 10 minutes old
Parameters
All parameters go in the query string.
| Name | Type | Sent | Description |
|---|---|---|---|
url | string | one of | Link to the post or reel. Send exactly one of url, code or id. |
code | string | one of | Shortcode of the post: the part after /p/ or /reel/ in its link. Send exactly one of url, code or id. |
id | string | one of | Numeric media id of the post. Send exactly one of url, code or id. |
Example request
Put your own key in the header.
curl "https://storiesfly.com/api/v1/post/likers?id=3946257521984666748" \
-H "X-Api-Key: sf_live_your_key"const res = await fetch(
"https://storiesfly.com/api/v1/post/likers?id=3946257521984666748",
{ headers: { "X-Api-Key": process.env.STORIESFLY_KEY } }
);
const data = await res.json();import os
import requests
r = requests.get(
"https://storiesfly.com/api/v1/post/likers",
params={"id": "3946257521984666748"},
headers={"X-Api-Key": os.environ["STORIESFLY_KEY"]},
)
data = r.json()Example response
{
"post": {
"id": "3946257521984666748"
},
"users": [
{
"id": "1000000066",
"username": "sample_user_70",
"full_name": "Sample Name",
"profile_pic_url": "https://example.com/pic.jpg",
"verified": false,
"is_private": true
},
{
"id": "1000000070",
"username": "sample_user_74",
"full_name": "Sample Name",
"profile_pic_url": "https://example.com/pic.jpg",
"verified": false,
"is_private": true
}
],
"next_cursor": null,
"has_more": false
}A real answer, shortened: lists are cut to two items and long texts to 160 characters.
Price and freshness
A call takes 1 request. Free requests are spent first, then your balance. The pricing page has the rates.
Answers are kept for up to 10 minutes. Asking again inside that time returns the same answer and takes 1 request again.
Errors
A failed call answers with an HTTP status and a body {error, code}. These are the codes this endpoint gives. Errors and what is charged covers all of them.
| Status | Code | When |
|---|---|---|
400 | bad_request | A parameter is missing or wrong, or not exactly one of url, code or id was sent. fields lists the names. Free. |
401 | unauthorized | The X-Api-Key header is missing or the key is wrong. Free. |
402 | credits_exhausted | The free requests and the balance are used up. Top up in the dashboard. Free. |
403 | telegram_required | The account behind the key is not linked to Telegram. The answer has a link_url to do it. Free. |
404 | not_found | The post does not exist. Charged like an answer. |
429 | rate_limited | More requests in a second than your level allows. Wait for the Retry-After header. Free. |
500 | internal_error | A fault on our side. Retry shortly. Refunded. |
503 | upstream_unavailable | Our side failed or timed out. Retry shortly. Refunded. |
Questions about this endpoint
Do I get every account that liked the post?
No. Instagram shows only a sample of the likers of a busy post, and so does this. The number of likes is likes in post.
Is the list paged?
No. The accounts come in one answer, so next_cursor is null and there is no cursor to send.
What does each account hold?
Its id, username, full_name, picture link, verified and is_private. For the counts call user/profile with the username.
Your first 100 requests are on us
Sign in with Telegram, create a key, call any endpoint. Top up only when you need more.
