Facebook hub

Facebook comments API

Pull top-level comments on a public Facebook post or Reel — text, author, reactions, reply counts — with cursor pagination in the shared Social Fetch envelope.

GET /v1/facebook/posts/comments

1 credit Failed requests are free

About this endpoint

GET /v1/facebook/posts/comments accepts a public post or Reel url, an optional feedbackId, or both (at least one is required). Optional cursor continues from a previous page. On a completed lookup, read data.lookupStatus (found or not_found), then data.comments and data.page. Each top-level comment can include id, text, createdAt, replyCount, reactionCount, repliesCursor, and an author with name, optional platformUserId, and shortName. When data.page.hasMore is true, pass data.page.nextCursor as cursor on the next call.

This route lists top-level comments only. Nested replies use GET /v1/facebook/posts/comments/replies with a comment's repliesCursor. Post or Reel metadata is GET /v1/facebook/posts. Bill from meta.creditsCharged.

Facebook comments API FAQ

How do I list Facebook post or Reel comments via API?

Call GET /v1/facebook/posts/comments with your Social Fetch API key (x-api-key) and either a public post/Reel url, a feedbackId, or both. Read data.lookupStatus, then data.comments and data.page. See the API docs for parameters and examples.

How much does the Facebook comments endpoint cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth. Each paginated page is a separate billed request.

How does pagination work on Facebook post comments?

Each response includes data.page.nextCursor and data.page.hasMore. When hasMore is true, pass nextCursor as the cursor query param on the next request. The cursor is opaque.

What fields are in each Facebook comment?

Items can include id, text, createdAt (ISO-8601), replyCount, reactionCount, repliesCursor (string or null), and author with name, optional platformUserId, and shortName when Facebook exposes them.

When should I pass feedbackId instead of (or with) url?

Provide at least one of url or feedbackId. Use a post or Reel permalink when that is what you have. Pass feedbackId when an earlier Facebook response already gave you that identifier — it can speed up the lookup. You can send both on the same request.

Facebook comments vs replies vs post detail?

Use this route for top-level comments on one post or Reel. Use GET /v1/facebook/posts/comments/replies with a comment repliesCursor for nested replies. Use GET /v1/facebook/posts for the post or Reel card itself. See the Facebook platform hub for the full list.

Does a found lookup always return comments?

No. lookupStatus of found means the post or Reel resolved. data.comments can still be an empty array when there are no comments or none were returned for that page. You still pay the credit for a completed lookup. Missing or unresolved targets return not_found with an empty list.