Social platforms

List posts in a public Facebook group · Facebook API

GET/facebook/groups/{id}/posts
$min $0.003

Returns posts from a public Facebook group with text, media, author and engagement counts. Paginate with `cursor`.

Using ChatGPT, Claude Code or another client? See the setup steps

Request
curl https://api.unifapi.com/facebook/groups/{id}/posts \
  -H "Authorization: Bearer $UNIFAPI_KEY"

Parameters

idpathrequired
Facebook group id or vanity name, as in facebook.com/groups/{id}.
sort_byquery
Optional sort order for posts returned from the group feed. `top`: Facebook's default relevance ranking. `recent_activity`: sorted by most recent comment/reaction activity. `chronological`: regular posts in Facebook's "New posts" order, which is not guaranteed to be strictly by post time (e.g. groups with post approval); use `published_at` to sort. `chronological_listings`: Facebook's separate feed of listing-style posts (e.g. items for sale) within the group, sorted by time.
cursorquery
Opaque pagination cursor from a previous response's `pagination.next_cursor`. Omit for the first page.
The parameter for this Facebook operation. Use the URL-visible slug or id described in the docs.
Overview

This operation is part of the Facebook API in the social platforms category. It uses the same Bearer token, request tracing, error model, and billing envelope as every UnifAPI endpoint, so agents can switch between platforms without custom per-vendor glue code.

Use it when a workflow needs Facebook public data alongside other social networks, but should still keep one API key, one account balance, and one predictable JSON contract.

Common agent workflows

  • Fetch canonical public Facebook content for summarization, ranking, monitoring, or enrichment.
  • Attach engagement, author, media, and source metadata to an agent workflow.
  • Give an AI agent a stable Facebook data source without building a per-platform integration.
  • Normalize Facebook responses into the same UnifAPI envelope used across the catalog.
Response shape

Unified envelope, platform-native fields

  • List-style responses return `data` as an array of top-level records plus optional `pagination` for continuation tokens or cursors.
  • The operation has a 3 credits ($0.003) minimum charge, so `billing.records_charged` can be higher than the visible records returned.
  • If the workspace balance cannot cover every result, the response can be truncated and `billing.truncated_due_to_balance` tells the caller why.

Response status codes

200400401402404429500502503

Billing

This operation charges 1 credit per billable record, with a 3 credits ($0.003) operation minimum. Public responses include billing metadata with credits charged, records charged, and remaining workspace balance. Incorrect Credit deductions caused by platform failures can be restored as billing corrections.

Errors and retries

Authentication, validation, rate-limit, not-found, and provider errors use the unified UnifAPI error format. Agents should log `request_id`, retry only retryable failures, and treat invalid API keys, disabled keys, and expired keys as the same public `unauthorized` error type.

Response fields

Fields on each record in data

A successful List posts in a public Facebook group call returns data as an array; each record carries these fields.

idstring | null
Stable identifier for the post.
urlstring | null
Canonical public URL for this Facebook group post.
textstring | null
Text body of the post when available.
published_atnumber | null
ISO-8601 timestamp for when the post was published, when available. Unix seconds.
reaction_countnumber | null
Reaction count for the post when available.
comment_countnumber | null
Comment count for the post when available.
is_paid_partnershipboolean | null
Whether the post is labelled as a paid partnership. Null or omitted when Facebook does not say.
authorobject | null
Author summary for this post.
videoobject | null
Embedded video metadata when this post includes video.
Related endpoints

More Facebook operations

Combine endpoints from the same platform, then join the results with other UnifAPI categories without changing authentication or response parsing.

GET/facebook/groups/{id}

Get a public Facebook group

Returns a public Facebook group by id or vanity name: name, description, privacy, member count and activity. Returns `not_found` when the group does not exist or is not public.

GET/facebook/marketplace/items/{id}

Get a Facebook Marketplace listing

Returns one Facebook Marketplace listing by item id: price, description, photos, attributes, seller and delivery options. Returns `not_found` when the listing does not exist or was removed.

GET/facebook/posts

Get a Facebook post or Reel by URL

Returns one public Facebook post or Reel by its URL: author, text, media, music and reaction, comment and share counts. Set `include_comments` or `include_transcript` for a comment sample or a video transcript. Returns `not_found` when the post does not exist or is not public.

GET/facebook/posts/transcript

Get the transcript of a Facebook video post

Returns the spoken-word transcript of a public Facebook video post or Reel by URL, for videos up to a few minutes long. Returns `not_found` when the post does not exist.

GET/facebook/profiles/{username}/posts

List posts from a Facebook profile or Page

Returns recent public posts from a Facebook profile or Page with text, media and reaction, comment and share counts. Paginate with `cursor`.

GET/facebook/ads/{id}

Get a Facebook Ad Library ad

Returns one ad from the Meta Ad Library by archive id: advertiser, creative, run dates, platforms and, for EU ads, reach and targeting. Set `include_transcript` for a video transcript. Returns `not_found` when the ad does not exist.