Facebook · Guide

How to get Facebook group posts

TL;DR
To get Facebook group posts, sign up for a free Captapi key, then send one GET request to /v1/facebook/group-posts with your input. You get clean JSON back in seconds for 2 credits per call — no OAuth, scraping or platform SDKs. Public Facebook group posts — listingHits / hydrateFailures / hydrateSkipped, sortBy, and per-count *IsApproximate.

How to get Facebook group posts (step by step)

  1. 1

    Get a free API key

    Create a free Captapi account (100 credits, no card) and generate an API key from the dashboard.

  2. 2

    Call the Facebook Group Posts API

    Send an authenticated GET request to /v1/facebook/group-posts with your input. No OAuth, no scraping setup.

  3. 3

    Read the JSON response

    Parse the clean JSON response. Pass cache=true for a free 24h cache hit; default is always fresh.

Code example

curl "https://api.captapi.com/v1/facebook/group-posts?url=https%3A%2F%2Fwww.facebook.com%2Fgroups%2Fdogspotting" \
  -H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."

What the response looks like

{
  "success": true,
  "data": {
    "url": "https://www.facebook.com/groups/dogspotting",
    "totalReturned": 2,
    "posts": [
      {
        "platform": "facebook",
        "url": "https://www.facebook.com/groups/dogspotting/posts/10165927007174467/",
        "id": "10165927007174467",
        "caption": "Dog in a basket…I repeat…dog in a basket!",
        "description": "Dog in a basket…I repeat…dog in a basket!",
        "publishedAt": "2026-07-27T16:34:51.000Z",
        "author": {
          "displayName": "Beth Oxford"
        },
        "engagement": {
          "likes": 87,
          "comments": 0
        },
        "isVideo": false,
        "permalink": "https://www.facebook.com/groups/dogspotting/posts/10165927007174467/"
      },
      {
        "platform": "facebook",
        "url": "https://www.facebook.com/groups/dogspotting/posts/10165913663824467/",
        "id": "10165913663824467",
        "caption": "Waiting patiently in the Mustang.",
        "description": "Waiting patiently in the Mustang.",
        "publishedAt": "2026-07-24T22:16:11.000Z",
        "thumbnailUrl": "https://scontent-iad6-1.xx.fbcdn.net/v/t39.30808-6/754824625_10163571025602896_890543610805686018_n.jpg?stp=dst-jpg_tt6&cstp=mx2048x1536&ctp=p600x600&_nc_cat=107&ccb=1-7&_nc_sid=63...",
        "author": {
          "displayName": "Chet Rhodes"
        },
        "engagement": {
          "likes": 36,
          "comments": 2
        },
        "isVideo": false,
        "permalink": "https://www.facebook.com/groups/dogspotting/posts/10165913663824467/"
      }
    ],
    "sortBy": "CHRONOLOGICAL"
  }
}

Billing metadata (credits charged, cache hit/miss) is returned in the X-Captapi-Credits and X-Captapi-Cache response headers.

Request parameters

NameTypeRequiredDescription
urlstring YesPublic Facebook group URL, e.g. https://facebook.com/groups/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.
limitintegerNoMax items to return (default 20, max 200). Flat 2 credits per call.
sortBystringNoTOP_POSTS | RECENT_ACTIVITY | CHRONOLOGICAL (default) | CHRONOLOGICAL_LISTINGS. Maps to Facebook sorting_setting.
cachebooleanNoSet true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.

Frequently asked questions

What does the Facebook Group Posts API do?

The Facebook Group Posts API lets you list items in bulk with metadata from a public Facebook post using one GET request to /v1/facebook/group-posts. It returns clean JSON — no OAuth or infrastructure setup required.

How many credits does the Facebook Group Posts API cost?

Each successful call costs 2 credits. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.

Do I need a Facebook API key or OAuth?

No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.

Why did I get 3 posts when I asked for 20?

Read the envelope: listingHits − hydrateFailures − hydrateSkipped = totalReturned when hasMore is false. listingHits is how many distinct posts the HTML window had; hydrateFailures did not become a row; hydrateSkipped were found but not hydrated (deadline). truncatedReason is listing-window or hydrate-budget. Those keys are the reason to use this endpoint.

Where is permalink? And why did shares have no *IsApproximate?

permalink does not ship — it was an embed-alias of url and is gone. Use posts[].url. shares: null is a present key, so sharesIsApproximate is now always stamped (false when the count is null). comments and commentsIsApproximate are always keyed too — never treat a missing comments key as 0.

Do topComments include the commenter's gender?

No. Facebook sometimes exposes an inferred gender on group commenters; we drop it. topComments is {id, text, publishTime, author{id,name,url}}.

Is the Facebook Group Posts API suitable for production use?

Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.

Ready to get Facebook group posts?

Start free with 100 credits — no credit card required.

Get your free API key