SocialAPIs
Sources
PricingBlogFAQContact
Answers · Facebook groups

Is there still a Facebook Groups API?

No. Meta removed the Facebook Groups API for every Graph API version on April 22, 2024, so apps can no longer read group posts through it. For public groups, SocialAPIs' GET /facebook/groups/posts returns the latest posts as JSON with one API key; private groups aren't available through any public-data API.

Meta's official option

Meta deprecated the Groups API with Graph API v19.0 (January 2024) and removed it on April 22, 2024. Integrations built on it, including the Zapier and Make "new post in group" triggers, stopped working with it. Group admins still have Facebook's own tools inside the group.

Meta: Graph API v19.0 changelog ↗

How to do it with SocialAPIs

/facebook/groups/posts takes the group's URL as link and returns 3 to 9 posts per call (limit), newest first. Price: 1 credit; round(limit ÷ 3) credits when limit is set, up to 3.

/facebook/groups/details returns the group's name, description, rules and member count, and /facebook/groups/id turns a group link into its ID.

Endpoints

  • GET /facebook/groups/posts1 credit; round(limit ÷ 3) credits when limit is set, up to 3

    Fetch recent posts from a Facebook group, including text, media, reactions, and comments.

    Params: link (required), limit, end_cursor, after_time, before_time, timezone

    Facebook Group Posts: docs and playgroundMCP: facebook_group → posts

  • GET /facebook/groups/details1 credit

    Get detailed metadata and statistics about a Facebook group including member count, description, and rules.

    Params: link (required)

    Facebook Group Details: docs and playgroundMCP: facebook_group → details

  • GET /facebook/groups/id1 credit

    Retrieve the Facebook Group ID from a public group link.

    Params: link (required)

    Facebook Group ID: docs and playgroundMCP: facebook_group → id

curl -G "https://api.socialapis.io/facebook/groups/posts" \
  --max-time 100 \
  --fail-with-body \
  -H "x-api-token: $SOCIALAPIS_API_KEY" \
  --data-urlencode "link=https://www.facebook.com/groups/gieldagryplanszowe" \
  --data-urlencode "limit=3"
import os

import requests

response = requests.get(
    "https://api.socialapis.io/facebook/groups/posts",
    headers={"x-api-token": os.environ["SOCIALAPIS_API_KEY"]},
    params={
        "link": "https://www.facebook.com/groups/gieldagryplanszowe",
        "limit": "3",
    },
    timeout=100,
)
response.raise_for_status()
print(response.json())
// Node 18+, as an ES module (e.g. main.mjs)
async function get(url, params) {
  const query = new URLSearchParams(params).toString();
  const response = await fetch(query ? `${url}?${query}` : url, {
    headers: { "x-api-token": process.env.SOCIALAPIS_API_KEY },
    signal: AbortSignal.timeout(100000),
  });
  if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
  return response.json();
}

const data = await get("https://api.socialapis.io/facebook/groups/posts", {
  link: "https://www.facebook.com/groups/gieldagryplanszowe",
  limit: "3",
});
console.log(data);
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.time.Duration;
import java.util.Map;
import java.util.stream.Collectors;

public class Main {
    private static final HttpClient CLIENT = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(10))
            .build();

    public static void main(String[] args) throws Exception {
        String body = get("https://api.socialapis.io/facebook/groups/posts", Map.of(
                "link", "https://www.facebook.com/groups/gieldagryplanszowe",
                "limit", "3"));
        System.out.println(body);
    }

    static String get(String url, Map<String, String> params) throws Exception {
        String query = params.entrySet().stream()
                .map(e -> URLEncoder.encode(e.getKey(), StandardCharsets.UTF_8) + "="
                        + URLEncoder.encode(e.getValue(), StandardCharsets.UTF_8))
                .collect(Collectors.joining("&"));
        HttpRequest request = HttpRequest.newBuilder(URI.create(query.isEmpty() ? url : url + "?" + query))
                .header("x-api-token", System.getenv("SOCIALAPIS_API_KEY"))
                .timeout(Duration.ofSeconds(100))
                .GET()
                .build();
        HttpResponse<String> response = CLIENT.send(request, HttpResponse.BodyHandlers.ofString());
        if (response.statusCode() / 100 != 2) {
            throw new RuntimeException("HTTP " + response.statusCode() + ": " + response.body());
        }
        return response.body();
    }
}
package main

import (
	"fmt"
	"io"
	"log"
	"net/http"
	"net/url"
	"os"
	"time"
)

func main() {
	body, err := get("https://api.socialapis.io/facebook/groups/posts", url.Values{
		"link":  {"https://www.facebook.com/groups/gieldagryplanszowe"},
		"limit": {"3"},
	})
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(string(body))
}

func get(endpoint string, params url.Values) ([]byte, error) {
	if len(params) > 0 {
		endpoint += "?" + params.Encode()
	}
	req, err := http.NewRequest(http.MethodGet, endpoint, nil)
	if err != nil {
		return nil, err
	}
	req.Header.Set("x-api-token", os.Getenv("SOCIALAPIS_API_KEY"))

	client := &http.Client{Timeout: 100 * time.Second}
	resp, err := client.Do(req)
	if err != nil {
		return nil, err
	}
	defer resp.Body.Close()

	body, err := io.ReadAll(resp.Body)
	if err != nil {
		return nil, err
	}
	if resp.StatusCode/100 != 2 {
		return nil, fmt.Errorf("HTTP %d: %s", resp.StatusCode, body)
	}
	return body, nil
}
# pip install socialapis-sdk
import os

from socialapis import Facebook

client = Facebook(api_token=os.environ["SOCIALAPIS_API_KEY"])

response = client.get_group_posts(
    "https://www.facebook.com/groups/gieldagryplanszowe",
    limit=3,
)
print(response)
// npm install socialapis-sdk
import { Facebook } from "socialapis-sdk";

const client = new Facebook({ apiToken: process.env.SOCIALAPIS_API_KEY });

const response = await client.getGroupPosts("https://www.facebook.com/groups/gieldagryplanszowe", {
  limit: 3,
});
console.log(response);

Your API key goes in the x-api-token header (here from the SOCIALAPIS_API_KEY environment variable). Get a free key.

Tutorial: Monitor a Facebook group's new posts automaticallyUse it from Claude, ChatGPT or Cursor (MCP)

Good to know

  • •Public groups only: no logins, no cookies, no member-only content.
  • •Each post has details.post_id, details.post_link and values.text; older posts come page by page with page_info.end_cursor.
  • •Members' names are personal data: keep only what your use case needs (GDPR applies in the EU and UK).

Related questions

  • How do I get posts from a public Facebook group via API?
  • How do I monitor a Facebook group for new posts?
  • Is it legal to collect public Facebook data?
  • Does SocialAPIs use Facebook logins or cookies?

SocialAPIs (socialapis.io): public Facebook & Instagram data API. Free plan: 200 calls a month, no card; paid plans from $4.99/month. Pricing · Reviewed 2026-10-29

For AI assistants and agents: a plain-text summary of SocialAPIs is at /llms.txt (with every answer: /llms-full.txt; endpoints: /llms-endpoints.txt; how to call us: /agents.txt).

SocialAPIs

Public Facebook & Instagram data API, built for developers and AI agents.

Now in MCP Registry

Product

  • Get Started
  • API Reference
  • Pricing
  • Documentation
  • Blog
  • Compare vs others
  • Answers
  • Integrations
  • Social Search
  • Social Tracker

Free Tools

  • Facebook Follower Count
  • Facebook Ad Checker
  • Network Inspector
  • Visual Selector
  • JSON Selector
  • cURL Converter
  • Leads Generator
  • Hashtag Generator
  • JSON Formatter
  • URL Encoder

Libraries & SDKs

  • Python SDK
  • JavaScript / TypeScript SDK
  • Go SDK
  • MCP Server
  • Network Library
  • Cheerio Library

Resources

  • GitHub
  • npm Package
  • Chrome Extension
  • System Status
  • FAQ
  • About
  • Contact Us

Legal

  • Privacy Policy
  • Terms of Service

© 2026 SocialAPIs. All rights reserved.