> **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/groups-posts>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/facebook/groups-posts.mdx>

---

# Facebook group posts API

Page public posts from a Facebook group URL — text, permalink, publish time, reaction and comment counts, author, and video metadata when present — with cursor pagination in the shared Social Fetch envelope.

`GET /v1/facebook/groups/posts` lists public posts for a Facebook group. Pass a full public group `url` (`facebook.com/groups/{id-or-slug}/…`), not a profile or Page URL. Optional `sortBy` accepts `top`, `recentActivity`, `chronological`, or `chronologicalListings` (use `chronologicalListings` for Buy/Sell marketplace groups). Branch on `data.lookupStatus` before you write rows — `found` or `not_found`. On `found`, read `data.posts` and `data.page`. Each post can include id, url, text, publishedAt (ISO-8601), reactionCount, commentCount, author (id, name, url), and video (thumbnailUrl, durationMs, sdUrl, hdUrl) when Facebook exposes them. Facebook often returns only a few posts per page. When `data.page.hasMore` is true, pass `data.page.nextCursor` as the `cursor` query param on the next call. There is no server-side keyword filter — filter on `text` after you fetch pages. Bill from `meta.creditsCharged`; each page bills separately, including `not_found`.

This route is the group feed only. For the group's About-page profile use `GET /v1/facebook/groups`. For a Page or profile feed use `GET /v1/facebook/profiles/posts`. For one post by permalink use `GET /v1/facebook/posts`.

## Request

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

## FAQ

### How do I list Facebook group posts via API?

Call `GET /v1/facebook/groups/posts` with your Social Fetch API key (`x-api-key`) and a public Facebook group `url` query param. Read `data.lookupStatus`, `data.posts`, and `data.page` in the JSON response. See the API docs for parameters and examples.

### How much does the Facebook group posts 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.

### What URL should I pass for Facebook group posts?

Pass a full public Facebook group URL such as `facebook.com/groups/{id-or-slug}/…`. Profile and Page URLs belong on `GET /v1/facebook/profiles/posts`, not this route. Wrong or unresolved group URLs often resolve as `lookupStatus: not_found`.

### How does sortBy work on Facebook group posts?

Optional `sortBy` accepts `top`, `recentActivity`, `chronological`, or `chronologicalListings`. Use `chronological` for a general group feed. Use `chronologicalListings` for Buy/Sell marketplace groups. Omit `sortBy` when the default order is fine.

### How does pagination work on Facebook group posts?

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. Facebook often returns a small number of posts per page (often around three).

### What fields are in each Facebook group post?

Items can include id, public post url, text, publishedAt (ISO-8601), reactionCount, commentCount, author (id, name, url), and video metadata (thumbnailUrl, durationMs, sdUrl, hdUrl) when the post includes video. Coverage follows what is publicly visible for that group.

### Group posts vs profile posts vs a single Facebook post?

Use this route to page a public group feed by group URL. Use `GET /v1/facebook/groups` for the group's About-page profile (privacy, members, admins, rules). Use `GET /v1/facebook/profiles/posts` for a Page or profile feed. Use `GET /v1/facebook/posts` when you already have a post or Reel permalink. They are separate operations on the Facebook hub.

### Do I need Meta Graph API access or group admin rights?

No. Social Fetch returns publicly visible group posts for enrichment-style lookups. Meta's Graph and Marketing APIs are for assets and ads accounts you control or that authorize your app — not arbitrary public competitor groups.
