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

---

# Facebook scraper API. Every public page and group.

Posts and comments from public pages and groups, plus Marketplace listings and the Ad Library, as JSON in one request. No Meta app and no page token.

- No Meta app or tokens
- Marketplace and Ad Library
- Groups and comment threads

Facebook still has surfaces Instagram and TikTok don't: business Pages, public groups, Marketplace, and Meta Ad Library. Social Fetch's Facebook tag is sixteen REST GETs behind one API key, all returning `{ data, meta }`.

`GET /v1/facebook/profiles` resolves a public page or profile URL to a card with `profileType`, likes, followers, and business fields. `GET /v1/facebook/profiles/posts`, `.../reels`, `.../photos`, and `.../events` page a Page's feed, Reels tab, Photos tab, and Events tab with cursor pagination. `GET /v1/facebook/posts` hydrates a single post or Reel permalink, with optional `includeComments` and `includeTranscript`; `GET /v1/facebook/posts/comments` and `.../comments/replies` page the full thread; `GET /v1/facebook/posts/transcript` returns spoken text on its own. `GET /v1/facebook/groups` returns a public group's About-page profile (privacy, members, admins, rules) by group URL or numeric group ID. `GET /v1/facebook/groups/posts` pages that group's feed by URL with `sortBy` options for Buy/Sell groups. Three Marketplace routes cover city-to-coordinates, keyword search near lat/lng, and single-listing lookup. Four Ad Library routes cover keyword ad search, single-ad detail, advertiser name-to-page-id search, and full ad listings for one page.

Every response uses `data.lookupStatus` (`found` / `not_found`, and `private` on profiles). List routes add `data.page.hasMore` and `data.page.nextCursor`. Every call reports `meta.requestId` and `meta.creditsCharged`.

## What you can get

- Public profile and Page cards — profileType, likes, followers, contact fields, business hours (`GET /v1/facebook/profiles`).
- Page and profile feed, Reels tab, Photos tab, and Events tab with cursor pagination (`profiles/posts`, `profiles/reels`, `profiles/photos`, `profiles/events`).
- Single post or Reel by permalink with optional inline comments and transcript (`GET /v1/facebook/posts`).
- Full comment threads and nested replies via cursor (`posts/comments`, `posts/comments/replies`).
- Standalone video transcript for posts and Reels (`GET /v1/facebook/posts/transcript`).
- Public group About-page profile by URL or group ID (`GET /v1/facebook/groups`), and the group feed with a `sortBy` mode for Buy/Sell marketplace groups (`GET /v1/facebook/groups/posts`).
- City events from a Facebook Events explore URL, with optional today / thisWeek / nextWeek filters (`GET /v1/facebook/events`).
- Marketplace: city/place to coordinates, keyword listing search near a lat/lng, and single-listing detail by item id or URL.
- Ad Library: keyword ad search, single-ad detail with optional transcript, advertiser name-to-pageId search, and full ad lists for one page.

## Facebook endpoints

| Endpoint | Request | Credits | Docs |
| --- | --- | --- | --- |
| Profile | GET /v1/facebook/profiles | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/profiles/get) |
| Profile posts | GET /v1/facebook/profiles/posts | 1 credit +2 credits per hosted file (hostMedia), max 24 files Max 49 credits Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/profiles/posts/get) |
| Profile reels | GET /v1/facebook/profiles/reels | 1 credit +2 credits per hosted file (hostMedia), max 24 files Max 49 credits Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/profiles/reels/get) |
| Profile photos | GET /v1/facebook/profiles/photos | 1 credit +2 credits per hosted file (hostMedia), max 24 files Max 49 credits Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/profiles/photos/get) |
| Profile events | GET /v1/facebook/profiles/events | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/profiles/events/get) |
| Post or reel | GET /v1/facebook/posts | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/posts/get) |
| Comments | GET /v1/facebook/posts/comments | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/posts/comments/get) |
| Replies | GET /v1/facebook/posts/comments/replies | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/posts/comments/replies/get) |
| Transcript | GET /v1/facebook/posts/transcript | 1 credit +10 credits per started minute of transcribed video, up to 60 minutes (allowLongTranscription) Max 601 credits Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/posts/transcript/get) |
| Group | GET /v1/facebook/groups | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/groups/get) |
| Group posts | GET /v1/facebook/groups/posts | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/groups/posts/get) |
| Marketplace location search | GET /v1/facebook/marketplace/locations/search | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/marketplace/locations/search/get) |
| Marketplace search | GET /v1/facebook/marketplace/search | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/marketplace/search/get) |
| Marketplace item | GET /v1/facebook/marketplace/items | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/marketplace/items/get) |
| Event search | GET /v1/facebook/events/search | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/events/search/get) |
| City events | GET /v1/facebook/events | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/events/get) |
| Event | GET /v1/facebook/events/details | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/events/details/get) |
| Ad library ad | GET /v1/facebook/ad-library/ads | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/ad-library/ads/get) |
| Ad Library search | GET /v1/facebook/ad-library/ads/search | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/ad-library/ads/search/get) |
| Company ads | GET /v1/facebook/ad-library/companies/ads | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/ad-library/companies/ads/get) |
| Ad library companies | GET /v1/facebook/ad-library/companies/search | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/facebook/ad-library/companies/search/get) |

## How to start

1. **Create an API key.** Sign up at Social Fetch and copy a key (`sfk_…`). New accounts get 100 free credits — enough to resolve a Page profile, page a few posts, and run one Ad Library search against live data.
2. **Call a Facebook route.** Start with `GET /v1/facebook/profiles?url=…` for a Page or profile card, then move to `profiles/posts`, `profiles/reels`, `profiles/events`, `groups`, `groups/posts`, `marketplace/search`, or the Ad Library routes depending on what you need. Send `x-api-key` on every request — the playground works for one-off checks, the TypeScript SDK or curl for production jobs.
3. **Read the shared envelope.** Branch on `data.lookupStatus` before writing rows — `found`, `not_found`, or `private`. Page list routes with `data.page.nextCursor` while `hasMore` is true. Log `meta.requestId` for support and bill from `meta.creditsCharged`, the source of truth for what a call cost.

## Pricing

Every Facebook operation bills a flat 1 credit per completed lookup. Paginated routes (`profiles/posts`, `profiles/reels`, `profiles/photos`, `profiles/events`, `groups/posts`, `posts/comments`, `posts/comments/replies`, `marketplace/search`, and the three Ad Library list/search routes) bill each page separately. Credits never expire on pay-as-you-go packs. Always trust `meta.creditsCharged`.

## Compared with the official API

Meta Graph API and Marketing API manage Pages and ad accounts you own — posting, Insights, campaigns. They require app review, access tokens, and (for Marketing API) an active ads account. Social Fetch looks up publicly visible pages, posts, groups, Marketplace listings, and Ad Library entries with a Social Fetch API key only — no Meta app review, no page token, no ads account.

## FAQ

### Is there a Facebook scraper API that doesn't need Graph API access?

Yes. Social Fetch's Facebook routes read public pages, posts, groups, Marketplace, and Ad Library data over REST with a Social Fetch API key. You never connect a Meta app, request a page access token, or need admin rights on the Page, group, or ad account you're looking up.

### How do I look up a Facebook page or profile by URL?

Call `GET /v1/facebook/profiles` with a public Facebook `url` query param. Check `data.lookupStatus` (`found`, `private`, or `not_found`) before reading `data.profile`, which can include `profileType` (`person` or `business`), likes, followers, contact fields, and business hours when `includeBusinessHours=true` is set.

### How do I list posts, Reels, photos, or events for a Facebook Page?

Page the feed with `GET /v1/facebook/profiles/posts`, the Reels tab with `GET /v1/facebook/profiles/reels`, the Photos tab with `GET /v1/facebook/profiles/photos`, or the Events tab with `GET /v1/facebook/profiles/events`. Each takes a public `url` (posts also accepts `pageId`) and pages with `data.page.nextCursor` while `hasMore` is true. Profile events is a Page's own calendar, not city-wide explore or event search by name.

### Can I get comments and a transcript on the same post call?

Yes. `GET /v1/facebook/posts` accepts `includeComments=true` for a sample of top-level comments and `includeTranscript=true` for plain-text speech, alongside the caption, author, and media fields. For a full paginated thread instead of a sample, call `GET /v1/facebook/posts/comments` and, for nested replies, `GET /v1/facebook/posts/comments/replies` with a comment's `repliesCursor`.

### Do you support Facebook groups?

Public groups only. `GET /v1/facebook/groups` returns the About-page profile (name, privacy, member counts, admins, rules) from a group URL or numeric `groupId`. `GET /v1/facebook/groups/posts` pages the feed; use `sortBy=chronologicalListings` for Buy/Sell marketplace groups. Private groups are not accessible — there is no public lookup path for them.

### Does Facebook Marketplace search work via API?

Yes, in three steps: resolve a city or place name to coordinates with `GET /v1/facebook/marketplace/locations/search`, search listings by keyword near that `lat`/`lng` with `GET /v1/facebook/marketplace/search` (filterable by price, radius, condition, and delivery method), and fetch one known listing by `itemId` or `url` with `GET /v1/facebook/marketplace/items`.

### Can I access Facebook Ad Library via API?

Yes — four routes under the Facebook tag. `GET /v1/facebook/ad-library/ads/search` finds ads by keyword with country, status, media-type, and date filters. `GET /v1/facebook/ad-library/ads` fetches one ad by archive id or URL, with an optional video transcript. `GET /v1/facebook/ad-library/companies/search` turns a brand name into a `pageId`, and `GET /v1/facebook/ad-library/companies/ads` lists every ad for that page.

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

### Facebook Graph API vs Social Fetch — what's the difference?

Graph API and Marketing API manage Pages and ad accounts you control — posting, Insights, campaign reporting — and require app review plus access tokens. Social Fetch is public-data enrichment: URL or search query in, structured JSON out, one Social Fetch API key.

### Can I pull Facebook Reels and their transcripts?

Yes. List a Page's Reels with `GET /v1/facebook/profiles/reels`, then hydrate one Reel with `GET /v1/facebook/posts?url=…&includeTranscript=true`, or call `GET /v1/facebook/posts/transcript` for transcript text on its own. A `found` lookup does not guarantee non-null transcript text — some clips have no detectable speech.

### Is scraping Facebook data legal?

Social Fetch returns publicly visible pages, posts, groups, Marketplace listings, and Ad Library entries — the same data a signed-out browser can see. You're responsible for how you use it under Meta's terms, applicable law, and your own compliance review. We don't give legal advice.

## Related

- [Facebook Profile API](https://www.socialfetch.dev/platforms/facebook/profiles): Resolve a public page or profile URL to name, metrics, contact, and business fields.
- [Facebook Post API](https://www.socialfetch.dev/platforms/facebook/posts): Single post or Reel by permalink, with optional comments and transcript.
- [Facebook group API](https://www.socialfetch.dev/platforms/facebook/groups): Public group About-page profile by URL or group ID — privacy, members, admins, and rules.
- [Facebook group posts API](https://www.socialfetch.dev/platforms/facebook/groups-posts): Page a public group's feed, with a sort mode for Buy/Sell marketplace groups.
- [Facebook Page events API](https://www.socialfetch.dev/platforms/facebook/profiles-events): List events hosted by a public Facebook Page (the Events tab), with cursor pagination.
- [Facebook City Events API](https://www.socialfetch.dev/platforms/facebook/events): List events for a city from a Facebook Events explore URL, with optional time filters and cursor pagination.
- [Facebook Events Search API](https://www.socialfetch.dev/platforms/facebook/events-search): Keyword search over public Facebook events by name, with cursor pagination.
- [Facebook Marketplace Search API](https://www.socialfetch.dev/platforms/facebook/marketplace-search): Keyword listing search near a latitude and longitude, with price and condition filters.
- [Facebook Ad Library Search API](https://www.socialfetch.dev/platforms/facebook/ad-library-ads-search): Keyword search across Meta's Ad Library with country, status, and media-type filters.
- [Facebook groups use case](https://www.socialfetch.dev/use-cases/facebook-group-data-api): Community and marketplace research patterns built on the groups and Marketplace routes.
- [Social monitoring use case](https://www.socialfetch.dev/use-cases/social-media-monitoring-api): Track Pages and public groups alongside other platforms in one pipeline.
- [Ask in plain English](https://www.socialfetch.dev/ask): POST /v1/ask routes a natural-language question to the matching Facebook operation.
- [Hosted MCP server](https://www.socialfetch.dev/mcp): Call the same Facebook tools from Cursor, VS Code, or Claude with OAuth — same credits as REST.
- [Free tools hub](https://www.socialfetch.dev/tools)
