Facebook / Posts
Comments
Fetch one page of comments from a Facebook post or reel. Each returned comment costs 4 credits.
01
Request
POST /api/facebook/posts/comments with your bearer token.
| url | Required for the first page. Use an HTTPS Facebook post or reel URL. |
| sort | Optional: most_relevant, newest or all_comments. Defaults to most_relevant. |
| cursor | Omit or send null initially. Send data.pagination.cursor unchanged to continue. |
▸ ▾ first page
{"url":"https://www.facebook.com/reel/2659926441149944/","sort":"all_comments"}▸ ▾ next page
{"cursor":"<data.pagination.cursor from the previous response>"}You can omit the URL and sort on later pages. If supplied, they must match the original request. Start without a cursor to change the sort.
most_relevant can filter comments. newest uses reverse chronological order. all_comments uses Facebook's unfiltered ranking with chronological replies.
Page lengths vary. Stop when data.pagination.has_next_page is false. Reply counts do not mean every reply is included in the page.
The first call reads the post or reel and uses its initial comment batch when the ordering matches. Later pages reuse the feedback ID carried in the cursor.
Empty pages cost nothing. A wallet that cannot cover the whole page receives 402. Failed fetches are refunded.
02
Response sample
▸ ▾ response {} — illustrative later page; one comment
{
"cost": 4,
"created_at": 1790812800,
"request_duration": 310,
"parse_duration": 1,
"data": {
"url": "https://www.facebook.com/reel/2659926441149944/",
"sort": "all_comments",
"feedback_id": "ZmVlZGJhY2s6MTIyMjAzMzQ1ODA4OTMyMTY2",
"post": null,
"comment_count": null,
"total_comment_count": null,
"filtering_footer": null,
"comments": [
{
"id": "1001",
"node_id": "<comment node ID>",
"feedback_id": "<comment feedback ID>",
"url": "https://www.facebook.com/reel/2659926441149944/?comment_id=1001",
"text": "Thanks for sharing.",
"body": {
"text": "Thanks for sharing.",
"ranges": []
},
"created_at": 1790812800,
"author": {
"id": "100000000000001",
"name": "Morgan Taylor",
"url": "https://www.facebook.com/profile.php?id=100000000000001"
},
"attachments": [],
"reaction_count_reduced": "1.7K",
"reaction_summary": {
"count_reduced": "1.7K"
},
"reply_count": 0,
"filtered_reply_count": 0,
"replies": null,
"reply_expansion_token": null,
"depth": 0,
"parent_comment": null,
"attached_story": null,
"preferred_body": null,
"translated_body": null,
"translation_available": false,
"author_badges": null,
"is_hidden": false,
"is_disabled": false,
"spam_display_mode": null
}
],
"pagination": {
"has_next_page": true,
"cursor": "<opaque cursor>"
}
}
}03
Fields
Responses contain cost, created_at, request_duration and parse_duration alongside data. Missing optional Facebook fields are null.
data.comments []
data {}
data.pagination {}