# Facebook Comments API Reference

Canonical: https://monsterapi.co/docs/api/facebook-comments

Read the Facebook Comments reference. Review parameters, response fields, examples, and current credit prices.

OpenAPI specification: [Facebook](https://monsterapi.co/docs/openapi/platforms/facebook.yaml).

---

Current operation prices: [public catalog](https://monsterapi.co/account/api/v1/public/api-prices). Prices use credits per request.

---

# Facebook: Comment actions

`GET /facebook/api/comments/menu`

Documentation: https://monsterapi.co/docs/api/facebook#facebook-comment-actions

Operation ID: `facebook_comments_menu`

Returns available action types, labels and reporting links for a comment. Pass comment_id and feed_location.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `comment_id` (query, required): Opaque comment ID from `comments_page[].id` in [/comments/root](https://monsterapi.co/docs/api/facebook-comments#facebook-post-comments-first-page), [/comments/page](https://monsterapi.co/docs/api/facebook-comments#facebook-post-comments-with-pagination) or [/comments/replies](https://monsterapi.co/docs/api/facebook-comments#facebook-comment-replies).

- `feed_location` (query, required): Comment context, such as `PERMALINK` or `POST_PERMALINK_DIALOG`. Use the same value for continuation and replies.

## Responses

- 200: Requested information in data and its named fields; unavailable optional values are null.

- 400: A request parameter is invalid.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: #/components/responses/GatewayUnauthorized

- 402: #/components/responses/GatewayPaymentRequired

- 403: #/components/responses/GatewayForbidden

- 404: The requested object is absent, or Facebook does not show it to logged-out visitors. An empty page of an object that exists does not return `404`.

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: #/components/responses/GatewayConflict

- 429: `rate_limited`: Facebook limited the requests or asked a logged-out visitor to sign in. Wait for the seconds in `Retry-After`, then repeat the request. Facebook publishes no numbers for these limits.

Refused at the gateway: the account calls faster than its rate limit allows

- 500: The requested information could not be returned.

- 501: The requested information is unavailable without signing in or is not supported.

- 503: The requested information is temporarily unavailable. Repeat the request later. `code` gives the cause:

- `upstream_error`: no answer came from Facebook, or Facebook answered with a server error. Wait for the seconds in `Retry-After`, then repeat the request.
- `upstream_stale`: the service is renewing its access to this information.
- `no_proxies`: the service cannot get this kind of information at the moment.
- `overloaded`: the service is handling too many requests at the same time. Repeat the request after a short pause, or send fewer requests at the same time.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/facebook/api/comments/menu' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Facebook: Post comments with pagination

`GET /facebook/api/comments/page`

Documentation: https://monsterapi.co/docs/api/facebook#facebook-post-comments-with-pagination

Operation ID: `facebook_comments_page`

Returns comments for a post or video. Pass feedback_id and feed_location, with cursor for continuation and optionally intent_token for the comment view.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `feedback_id` (query, required): Feedback ID of a post, video, reel, photo or album, passed unchanged: `post.feedback_id` or `post.shared.feedback_id` in [/post/dialog](https://monsterapi.co/docs/api/facebook-post#facebook-post-details-by-story-id); `posts[].feedback_id` or `posts[].shared.feedback_id` in [/page/timeline](https://monsterapi.co/docs/api/facebook-page#facebook-page-posts-by-profile-id), [/page/render/timeline](https://monsterapi.co/docs/api/facebook-page#facebook-page-post-previews), [/page/render](https://monsterapi.co/docs/api/facebook-page#facebook-page-profile-and-previews), [/user/render](https://monsterapi.co/docs/api/facebook-people#facebook-person-profile-and-previews) or [/group/render](https://monsterapi.co/docs/api/facebook-groups#facebook-group-details-and-posts); `feedback_id` or `shared.feedback_id` in [/group/post/render](https://monsterapi.co/docs/api/facebook-groups#facebook-group-post-details); `video.feedback_id` in [/video/hero](https://monsterapi.co/docs/api/facebook-post#facebook-video-details-by-id); `reel.feedback_id` in [/reel](https://monsterapi.co/docs/api/facebook-post#facebook-reel-details); `reels[].feedback_id` in [/page/render/reels](https://monsterapi.co/docs/api/facebook-page#facebook-page-reel-previews) or [/page/collection/reels](https://monsterapi.co/docs/api/facebook-page#facebook-page-reel-collection); `feedback_id` in [/photo](https://monsterapi.co/docs/api/facebook-post#facebook-photo-details-and-neighbors); `album.feedback_id` in [/album](https://monsterapi.co/docs/api/facebook-post#facebook-album-details-and-photos).

- `feed_location` (query, required): Comment context, such as `PERMALINK` or `POST_PERMALINK_DIALOG`. Use the same value for continuation and replies.

- `intent_token` (query, optional): Comment view, with the same values as `intent_token` in [/comments/root](https://monsterapi.co/docs/api/facebook-comments#facebook-post-comments-first-page). If you omit it in a call without `cursor`, the view is Newest. With `cursor`, the page keeps the comment view of the answer that gave the cursor. If Facebook does not accept the value, the answer is `bad_request`.

- `cursor` (query, optional): `next_cursor` from [/comments/root](https://monsterapi.co/docs/api/facebook-comments#facebook-post-comments-first-page), from this endpoint or from [/video/hero](https://monsterapi.co/docs/api/facebook-post#facebook-video-details-by-id). Pass it unchanged with the same feedback ID.

## Responses

- 200: Requested information in data and its named fields; unavailable optional values are null.

- 400: A request parameter is invalid.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: #/components/responses/GatewayUnauthorized

- 402: #/components/responses/GatewayPaymentRequired

- 403: #/components/responses/GatewayForbidden

- 404: The requested object is absent, or Facebook does not show it to logged-out visitors. An empty page of an object that exists does not return `404`.

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: #/components/responses/GatewayConflict

- 429: `rate_limited`: Facebook limited the requests or asked a logged-out visitor to sign in. Wait for the seconds in `Retry-After`, then repeat the request. Facebook publishes no numbers for these limits.

Refused at the gateway: the account calls faster than its rate limit allows

- 500: The requested information could not be returned.

- 501: The requested information is unavailable without signing in or is not supported.

- 503: The requested information is temporarily unavailable. Repeat the request later. `code` gives the cause:

- `upstream_error`: no answer came from Facebook, or Facebook answered with a server error. Wait for the seconds in `Retry-After`, then repeat the request.
- `upstream_stale`: the service is renewing its access to this information.
- `no_proxies`: the service cannot get this kind of information at the moment.
- `overloaded`: the service is handling too many requests at the same time. Repeat the request after a short pause, or send fewer requests at the same time.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/facebook/api/comments/page' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Facebook: Comment replies

`GET /facebook/api/comments/replies`

Documentation: https://monsterapi.co/docs/api/facebook#facebook-comment-replies

Operation ID: `facebook_comments_replies`

Returns replies to a comment, including replies to replies. Pass the comment feedback_id, matching expansion_token and feed_location; cursor continues the list.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `feedback_id` (query, required): The chosen comment's `comments_page[].feedback_id` from [/comments/root](https://monsterapi.co/docs/api/facebook-comments#facebook-post-comments-first-page), [/comments/page](https://monsterapi.co/docs/api/facebook-comments#facebook-post-comments-with-pagination) or this endpoint.

- `expansion_token` (query, required): The same comment’s `comments_page[].expansion_token` from a fresh response. Keep it paired with that comment’s feedback ID; accepts letters, digits, `-` and `_`, up to 2048 characters.

- `feed_location` (query, required): Comment context, such as `PERMALINK` or `POST_PERMALINK_DIALOG`. Use the same value for continuation and replies.

- `cursor` (query, optional): `next_cursor` from this endpoint for the same comment. Pass it unchanged with the same feedback ID, expansion token and context.

## Responses

- 200: Requested information in data and its named fields; unavailable optional values are null.

- 400: A request parameter is invalid.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: #/components/responses/GatewayUnauthorized

- 402: #/components/responses/GatewayPaymentRequired

- 403: #/components/responses/GatewayForbidden

- 404: The requested object is absent, or Facebook does not show it to logged-out visitors. An empty page of an object that exists does not return `404`.

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: #/components/responses/GatewayConflict

- 429: `rate_limited`: Facebook limited the requests or asked a logged-out visitor to sign in. Wait for the seconds in `Retry-After`, then repeat the request. Facebook publishes no numbers for these limits.

Refused at the gateway: the account calls faster than its rate limit allows

- 500: The requested information could not be returned.

- 501: The requested information is unavailable without signing in or is not supported.

- 503: The requested information is temporarily unavailable. Repeat the request later. `code` gives the cause:

- `upstream_error`: no answer came from Facebook, or Facebook answered with a server error. Wait for the seconds in `Retry-After`, then repeat the request.
- `upstream_stale`: the service is renewing its access to this information.
- `no_proxies`: the service cannot get this kind of information at the moment.
- `overloaded`: the service is handling too many requests at the same time. Repeat the request after a short pause, or send fewer requests at the same time.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/facebook/api/comments/replies' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Facebook: Post comments, first page

`GET /facebook/api/comments/root`

Documentation: https://monsterapi.co/docs/api/facebook#facebook-post-comments-first-page

Operation ID: `facebook_comments_root`

Returns the first comments and the total comment count of a post or video. Pass feedback_id and feed_location, and optionally intent_token to select the comment view.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `feedback_id` (query, required): Feedback ID of a post, video, reel, photo or album, passed unchanged: `post.feedback_id` or `post.shared.feedback_id` in [/post/dialog](https://monsterapi.co/docs/api/facebook-post#facebook-post-details-by-story-id); `posts[].feedback_id` or `posts[].shared.feedback_id` in [/page/timeline](https://monsterapi.co/docs/api/facebook-page#facebook-page-posts-by-profile-id), [/page/render/timeline](https://monsterapi.co/docs/api/facebook-page#facebook-page-post-previews), [/page/render](https://monsterapi.co/docs/api/facebook-page#facebook-page-profile-and-previews), [/user/render](https://monsterapi.co/docs/api/facebook-people#facebook-person-profile-and-previews) or [/group/render](https://monsterapi.co/docs/api/facebook-groups#facebook-group-details-and-posts); `feedback_id` or `shared.feedback_id` in [/group/post/render](https://monsterapi.co/docs/api/facebook-groups#facebook-group-post-details); `video.feedback_id` in [/video/hero](https://monsterapi.co/docs/api/facebook-post#facebook-video-details-by-id); `reel.feedback_id` in [/reel](https://monsterapi.co/docs/api/facebook-post#facebook-reel-details); `reels[].feedback_id` in [/page/render/reels](https://monsterapi.co/docs/api/facebook-page#facebook-page-reel-previews) or [/page/collection/reels](https://monsterapi.co/docs/api/facebook-page#facebook-page-reel-collection); `feedback_id` in [/photo](https://monsterapi.co/docs/api/facebook-post#facebook-photo-details-and-neighbors); `album.feedback_id` in [/album](https://monsterapi.co/docs/api/facebook-post#facebook-album-details-and-photos).

- `feed_location` (query, required): Comment context, such as `PERMALINK` or `POST_PERMALINK_DIALOG`. Use the same value for continuation and replies.

- `intent_token` (query, optional): Comment view. If you omit it, the view is Newest: all comments, newest first (`REVERSE_CHRONOLOGICAL_UNFILTERED_INTENT_V1`). Facebook also offers logged-out visitors two other views. Most relevant (`RANKED_FILTERED_INTENT_V1`) shows comments of friends and the most engaging comments first. Facebook removes some comments from this view. All comments shows all comments, including potential spam. For posts and videos of pages, the value of All comments is `RANKED_UNFILTERED_CHRONOLOGICAL_REPLIES_INTENT_V1`, a ranked view. For group posts, the value of All comments is `CHRONOLOGICAL_UNFILTERED_INTENT_V1`, oldest first. Facebook accepts `CHRONOLOGICAL_UNFILTERED_INTENT_V1` for posts and videos of pages too. Ranked views can repeat or skip comments between pages. Use `id` to find and remove duplicate comments. If Facebook does not accept the value, the answer is `bad_request`.

## Responses

- 200: Requested information in data and its named fields; unavailable optional values are null.

- 400: A request parameter is invalid.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: #/components/responses/GatewayUnauthorized

- 402: #/components/responses/GatewayPaymentRequired

- 403: #/components/responses/GatewayForbidden

- 404: The requested object is absent, or Facebook does not show it to logged-out visitors. An empty page of an object that exists does not return `404`.

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: #/components/responses/GatewayConflict

- 429: `rate_limited`: Facebook limited the requests or asked a logged-out visitor to sign in. Wait for the seconds in `Retry-After`, then repeat the request. Facebook publishes no numbers for these limits.

Refused at the gateway: the account calls faster than its rate limit allows

- 500: The requested information could not be returned.

- 501: The requested information is unavailable without signing in or is not supported.

- 503: The requested information is temporarily unavailable. Repeat the request later. `code` gives the cause:

- `upstream_error`: no answer came from Facebook, or Facebook answered with a server error. Wait for the seconds in `Retry-After`, then repeat the request.
- `upstream_stale`: the service is renewing its access to this information.
- `no_proxies`: the service cannot get this kind of information at the moment.
- `overloaded`: the service is handling too many requests at the same time. Repeat the request after a short pause, or send fewer requests at the same time.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/facebook/api/comments/root' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```
