nvNeuralVerge
Social media

Facebook Groups API and MCP — Posts from Public Groups

Send the URL or ID of a public Facebook group and this source returns its posts as data: text, author, time, reactions, comment and share counts, attachments and top comments. In BuySell groups it also returns the listing's price and location.

You send
A public Facebook group URL or ID
You get back
Group posts with text, author, engagement, attachments and top comments
Coverage
Public Facebook groups.
Price
10 points per returned post, up to 1,000 per request — $10 per 1,000
Billed per post actually returned, capped by max_items. A group that isn't public or has no posts in your window costs nothing.
Comparison

Ways to get this data

Three approaches teams use today, and where each one runs into trouble.

ApproachWhat it takesCostTrade-off
Joining and readingJoin the group and scrollFree, and slowDoesn't scale across many groups or months of posts
Meta's Graph APIGroup admin permissionsFree, gatedOnly covers groups you administer
NeuralVergeOne request per group$10 per 1,000, misses not billedPublic groups only — private groups cannot be read
Response

What you get back

Every field in the example response below.

FieldTypeDescription
sortstringThe order used: CHRONOLOGICAL, RECENT_ACTIVITY, TOP_POSTS or CHRONOLOGICAL_LISTINGS.
total_itemsnumberHow many posts came back.
items[].idstringFacebook's post ID.
items[].urlstringDirect link to the post.
items[].timestringWhen the post was published (ISO 8601).
items[].textstringPost text.
items[].authorobjectWho posted: id, name and profile picture.
items[].group_titlestringThe group's name.
items[].likes_countnumberLikes on the post.
items[].comments_countnumberComments on the post.
items[].shares_countnumberShares of the post.
items[].reactionsobjectReaction counts by type.
items[].mediaarrayAttached photos and videos.
items[].pricestring | nullListing price, in BuySell groups.
items[].locationstring | nullListing location, in BuySell groups.
items[].top_commentsarrayA few top comments on the post.
Response

Example response

A real response, as returned.

{
  "session_id": "4109d432-a394-40d2-85ab-daeb85145f7d",
  "kind": "facebook_groups",
  "url": "https://www.facebook.com/groups/874728723021553/",
  "max_items": 2,
  "sort": "CHRONOLOGICAL",
  "partial": false,
  "machine": {
    "total_items": 2,
    "items": [
      {
        "id": "UzpfSTEwMDA2NDM5NjI4NTkyMTpWSzoyNjUwMTgzNjg4ODA5Mzcy",
        "url": "https://www.facebook.com/groups/874728723021553/permalink/2650183688809372/",
        "time": "2026-10-26T09:16:06.000Z",
        "text": "Let's welcome our new members! …",
        "author": { "id": "100064396285921", "name": "AllMath" },
        "source_id": "874728723021553",
        "group_title": "Maths Formulas",
        "likes_count": 3,
        "comments_count": 0,
        "shares_count": 0,
        "reactions": { "like": 3, "love": null, "haha": null, "wow": null, "sad": null, "angry": null, "care": null },
        "is_video": false,
        "media": [
          {
            "type": "Photo",
            "url": "https://www.facebook.com/photo/?fbid=1588055790017615&set=gm.2650183688809372&idorvanity=874728723021553",
            "ocr_text": "May be pop art of crowd"
          }
        ],
        "price": null,
        "location": null,
        "top_comments": []
      },
      {
        "id": "UzpfSTEwMDA2NDM5NjI4NTkyMTpWSzoyNjQ5Mjk2NjQ1NTY0NzQz",
        "url": "https://www.facebook.com/groups/874728723021553/permalink/2649296645564743/",
        "time": "2026-10-25T12:17:10.000Z",
        "text": "Let's welcome our new members! …",
        "author": { "id": "100064396285921", "name": "AllMath" },
        "group_title": "Maths Formulas",
        "likes_count": 2,
        "comments_count": 0,
        "shares_count": 1,
        "reactions": { "like": 1, "love": null, "haha": null, "wow": null, "sad": null, "angry": null, "care": 1 },
        "price": null,
        "location": null,
        "top_comments": []
      }
    ],
    "errors": []
  },
  "total_points": 20
}
Integration

How to run it

The same lookup works from the app, the API, or as a tool an agent can call mid-task.

This endpoint is synchronous: the call blocks until the lookup completes and returns the records directly. If a lookup hits its time budget before finishing, the response comes back with partial: true and whatever it collected so far — re-run with a smaller max_items for a complete result. url is required. Optional: max_items (1-1,000, default 20), sort (CHRONOLOGICAL, RECENT_ACTIVITY, TOP_POSTS, or CHRONOLOGICAL_LISTINGS for BuySell groups; default CHRONOLOGICAL), newer_than (a date or a period).

curl -X POST https://api.neuralverge.ai/functions/v1/run-facebook-groups \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://www.facebook.com/groups/874728723021553", "max_items": 20, "sort": "TOP_POSTS" }'
Use cases

What teams use it for

Where this field shows up in an actual workflow.

Community research

Learn what a niche audience asks about, recommends and complains about.

Vendor mentions

See which tools and suppliers come up in practitioner groups, and in what tone.

Local marketplace pricing

Read BuySell listings with price and location to gauge second-hand prices.

Content ideas

Find the questions a community keeps asking and answer them.

Coverage & limits

Coverage, freshness and limits

What this source covers, how fresh it is, and where it stops.

Coverage

Public Facebook groups.

Freshness

Read at request time.

Handling

This source returns publicly visible content, which can include the names and words of private individuals. Use it for legitimate business purposes under your own lawful basis, honour deletion and opt-out requests, and check the acceptable use policy for what is out of bounds. Every record is stamped with the URL it was read from and a session id you can trace.

What it will not do
  • —Private groups cannot be read — the response comes back with a not_available error and costs nothing.
  • —Group admins' automated posts (welcome messages, rules reminders) come back like any other post; filter them out downstream.
  • —Price and location fields are only filled in BuySell groups.
FAQ

Questions, answered

Yes — every Data Source endpoint, including this one, is synchronous: the lookup runs inside the request and the result comes back in the same response, no polling. If a lookup hits its time budget before finishing, the response comes back with partial: true and whatever records it collected so far — re-run with a smaller max_items to get a complete result instead of a partial one.

Related

Related sources

Try facebook groups on your own data

One request format across every source in the catalog.

Get started