SocialAPIs
Sources
PricingBlogFAQContact
Answers · Facebook Pages & posts

Is there an API to get public Facebook page data without the Graph API?

Yes. SocialAPIs returns a public Facebook Page's details (name, category, followers, contact info) with GET /facebook/pages/details and its latest posts with GET /facebook/pages/posts, using one API key: no Meta developer app, no app review, no Page access token. It reads what a logged-out visitor can see on the Page.

Meta's official option

Meta's Graph API is the official route, and for Pages you manage it's the right tool (insights, publishing, messages). Reading public content of Pages you don't manage needs the Page Public Content Access feature, which goes through app review and business verification, and Meta has narrowed what it returns over the years.

Meta: Page Public Content Access ↗

How to do it with SocialAPIs

Send the Page's URL as link. /facebook/pages/details returns the Page's profile. /facebook/pages/posts returns 3 to 9 posts per call (limit) with a cursor for the next page, and takes after_time / before_time for a date range.

Prices per call: Page details 1 credit; 5 credits when exact_followers_count=true; Page posts 1 credit; round(limit ÷ 3) credits when limit is set, up to 3.

Only have a name? GET /facebook/search/pages?query=… finds the Page first.

Endpoints

  • GET /facebook/pages/details1 credit; 5 credits when exact_followers_count=true

    Get Facebook page details.

    Params: link (required), exact_followers_count, page_section

    Facebook Page Details: docs and playgroundMCP: facebook_page → details

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

    Get Facebook page posts.

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

    Facebook Page Posts: docs and playgroundMCP: facebook_page → posts

  • GET /facebook/search/pages1 credit

    Search for Facebook pages by keyword with optional location filtering.

    Params: query (required), location_uid, end_cursor

    Facebook Search Pages: docs and playgroundMCP: facebook_search → pages

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

import requests

response = requests.get(
    "https://api.socialapis.io/facebook/pages/details",
    headers={"x-api-token": os.environ["SOCIALAPIS_API_KEY"]},
    params={
        "link": "https://www.facebook.com/EngenSA",
    },
    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/pages/details", {
  link: "https://www.facebook.com/EngenSA",
});
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/pages/details", Map.of(
                "link", "https://www.facebook.com/EngenSA"));
        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/pages/details", url.Values{
		"link": {"https://www.facebook.com/EngenSA"},
	})
	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_page_info("https://www.facebook.com/EngenSA")
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.getPageInfo("https://www.facebook.com/EngenSA");
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: Facebook API without the Graph APIUse it from Claude, ChatGPT or Cursor (MCP)

Good to know

  • •Followers come back rounded by default (followers_display, e.g. "91K followers"); exact_followers_count=true returns the exact followers_count at the higher price shown above.
  • •Public Pages only: no private profiles, no Page insights (reach, demographics), no posting. For your own Page's insights, use the Graph API.
  • •Each post has details.post_id, details.post_link, values.text and its reaction, comment and share counts.

Related questions

  • Is there an API for public Instagram profiles without the Instagram Graph API?
  • Does SocialAPIs use Facebook logins or cookies?
  • Is it legal to collect public Facebook data?
  • How much does a Facebook data API cost?
  • Is there a free Facebook API for developers?

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.