> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/facebook/posts-comments>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/facebook/posts-comments.mdx>

---

# 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` 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`.

## Request

- **Endpoint:** `GET /v1/facebook/posts/comments`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by post URL or feedback id
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/facebook/posts/comments/get)
- **Platform page:** [/platforms/facebook](https://www.socialfetch.dev/platforms/facebook)

## 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.
