Quickstart
Go from a public post URL to its metrics, its comments and its creator's profile in three Social Data API calls.
Before you start
Book a call (opens in a new tab) to get your API token and base URL. The examples write them as <API_TOKEN> and {API_BASE_URL}. You also need the URL of a public Instagram post or reel, or a TikTok video.
Read the post's metrics
curl -G {API_BASE_URL}/v1/stats \
-H "Authorization: Bearer <API_TOKEN>" \
--data-urlencode "url=https://www.instagram.com/reel/ABC123/?igsh=xyz"{
"platform": "instagram",
"contentType": "reel",
"postUrl": "https://www.instagram.com/reel/ABC123/",
"owner": {
"handle": "creator_jane",
"accountId": "270702400",
"secUid": null,
"displayName": "Creator Jane"
},
"post": {
"caption": "Summer drop",
"postedAt": "2026-09-22T18:30:00.000Z",
"thumbnailUrl": "https://...",
"mediaUrls": ["https://..."]
},
"stats": { "views": 125000, "likes": 5432, "comments": 312, "shares": null, "saves": null },
"source": "provider"
}Share tags in the URL are ignored; postUrl is the cleaned-up form. Instagram never shows shares or saves publicly, so those are null. A 404 or 422 means the post cannot be read; see Data lookup errors.
Read its comments
curl -G {API_BASE_URL}/v1/comments \
-H "Authorization: Bearer <API_TOKEN>" \
--data-urlencode "url=https://www.instagram.com/reel/ABC123/"{
"platform": "instagram",
"postUrl": "https://www.instagram.com/reel/ABC123/",
"comments": [
{
"id": "17890012345678",
"username": "fan_account",
"text": "Love this!",
"createdAt": "2026-09-23T10:00:00.000Z",
"likeCount": 4,
"replyCount": 1
}
],
"nextCursor": "cursor-value",
"hasMore": true
}This is the first page. Send nextCursor back as cursor for the next one, until hasMore is false.
Read the creator's profile
Use the handle from owner.handle in step 1.
curl -G {API_BASE_URL}/v1/profile \
-H "Authorization: Bearer <API_TOKEN>" \
--data-urlencode "platform=instagram" \
--data-urlencode "handle=creator_jane"{
"platform": "instagram",
"profile": {
"handle": "creator_jane",
"accountId": "270702400",
"secUid": null,
"displayName": "Creator Jane",
"bio": "Creator",
"profilePictureUrl": "https://...",
"isVerified": false,
"isPrivate": false,
"followerCount": 12000,
"mediaCount": 84
}
}profile.accountId matches owner.accountId from step 1: the post belongs to this account.
What you have now
The post's current metrics, the first page of its comments, and its creator's profile, all read live: nothing was created or stored. Call the same routes again whenever you want newer numbers, or send up to 25 post URLs at once to POST /v1/stats/batch.
Last updated on