# Facebook Post API Reference

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

Read the Facebook Post 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: Album details and photos

`GET /facebook/api/album`

Documentation: https://monsterapi.co/docs/api/facebook#facebook-album-details-and-photos

Operation ID: `facebook_album_details`

Returns album identity, description, counts, contributors, audience and engagement, with the first photos and the posts that added them. Pass set.

## Authentication

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

## Inputs

- `set` (query, required): Album set `a.{album_id}`: the `set` query value of `items[].url` for an item whose `type` is `Album` in [/page/collection/list](https://monsterapi.co/docs/api/facebook-page#facebook-page-albums-and-profiles). The album ID part accepts 1 to 32 digits.

## 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/album' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Facebook: Album photos with pagination

`GET /facebook/api/album/photos`

Documentation: https://monsterapi.co/docs/api/facebook#facebook-album-photos-with-pagination

Operation ID: `facebook_album_photos`

Returns photos and videos of an album, one page per call. Pass set and optionally cursor to continue the list.

## Authentication

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

## Inputs

- `set` (query, required): Album set `a.{album_id}`: the same `set` as in [/album](https://monsterapi.co/docs/api/facebook-post#facebook-album-details-and-photos). The album ID part accepts 1 to 32 digits.

- `cursor` (query, optional): `next_cursor` from [/album](https://monsterapi.co/docs/api/facebook-post#facebook-album-details-and-photos) or from this endpoint for the same `set`. Pass it unchanged. Omit it to get the first photos of the album.

## 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/album/photos' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Facebook: Photo details and neighbors

`GET /facebook/api/photo`

Documentation: https://monsterapi.co/docs/api/facebook#facebook-photo-details-and-neighbors

Operation ID: `facebook_photo_details`

Returns a photo, owner, containing post text, engagement and neighboring photo IDs. Pass fbid and optionally set to choose the album, the uploads or the post's photos.

## Authentication

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

## Inputs

- `fbid` (query, required): Numeric photo ID from a photo preview, attachment, collection, `photos[].id` in [/album](https://monsterapi.co/docs/api/facebook-post#facebook-album-details-and-photos) or [/album/photos](https://monsterapi.co/docs/api/facebook-post#facebook-album-photos-with-pagination), `prev_id` or `next_id`. Accepts 1 to 32 decimal digits. A page profile ID, such as `route.id` in [/route](https://monsterapi.co/docs/api/facebook-route#facebook-path-identifiers) for a page path, returns `not_found`. The ID of a video and the ID of an occurrence of a recurring event also return `not_found`.

- `set` (query, optional): Album `a.{album_id}` or profile uploads `pb.{owner_id}.-{number}` from the photo URL, or the photos of a post `pcb.{post_id}`: `data.node_v2.attachments[].styles.attachment.mediaset_token` of an album post in [/post/dialog](https://monsterapi.co/docs/api/facebook-post#facebook-post-details-by-story-id). Each numeric part accepts 1 to 32 digits; omitted uses the photo’s album.

## Responses

- 200: Requested information; 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/photo' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Facebook: Post details by story ID

`GET /facebook/api/post/dialog`

Documentation: https://monsterapi.co/docs/api/facebook#facebook-post-details-by-story-id

Operation ID: `facebook_post_dialog`

Returns post text, author, attachments, engagement and comment previews. Pass story_id.

## Authentication

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

## Inputs

- `story_id` (query, required): Story ID from `route.story_id` in [/route](https://monsterapi.co/docs/api/facebook-route#facebook-path-identifiers) for the post path.

## 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/post/dialog' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Facebook: Reel details

`GET /facebook/api/reel`

Documentation: https://monsterapi.co/docs/api/facebook#facebook-reel-details

Operation ID: `facebook_reel_root`

Returns reel text, owner, playback details, reactions, comments and shares, without play and view counts. Pass video_id, and get exact play and view counts from [/video/hero](https://monsterapi.co/docs/api/facebook-post#facebook-video-details-by-id) with the same video_id.

## Authentication

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

## Inputs

- `video_id` (query, required): Numeric video 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/reel' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Facebook: Video transcript and links

`GET /facebook/api/video/aux`

Documentation: https://monsterapi.co/docs/api/facebook#facebook-video-transcript-and-links

Operation ID: `facebook_video_aux`

Returns a video transcript and navigation links when available. Pass video_id.

## Authentication

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

## Inputs

- `video_id` (query, required): Numeric video 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/video/aux' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Facebook: Video details by ID

`GET /facebook/api/video/hero`

Documentation: https://monsterapi.co/docs/api/facebook#facebook-video-details-by-id

Operation ID: `facebook_video_hero`

Returns video identity, publication times, duration, dimensions, engagement and available comments. Pass video_id.

## Authentication

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

## Inputs

- `video_id` (query, required): Numeric video 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/video/hero' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Facebook: Video actions

`GET /facebook/api/video/menu`

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

Operation ID: `facebook_video_menu`

Returns available action types, labels and reporting links for a video. Pass video_id and video_menu_location.

## Authentication

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

## Inputs

- `video_id` (query, required): Numeric video ID.

- `video_menu_location` (query, required): Menu context: `VIDEO_HOME_VIDEO_STORY` or `VIDEO_HOME_TAHOE_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/video/menu' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```
