Facebook hub

Facebook Post API

Resolve a public Facebook post or Reel permalink to structured JSON — caption, author, engagement, and media URLs — without a Meta Graph app for content you do not own.

GET /v1/facebook/posts

1 credit per successful request.

About this endpoint

`GET /v1/facebook/posts` takes a required public post or Reel `url` query param and returns the shared Social Fetch envelope. Branch on `data.lookupStatus` before you write a row — `found` or `not_found`. On `found`, read `data.post` (id, URL, description, publishedAt, feedbackId), plus `author`, `metrics`, `media`, and `music` when present. `media.imageUrl` is the primary image; when the post is a multi-image carousel, `media.imageUrls` lists the full gallery. Those are source-platform CDN links and can expire. Pass `includeComments=true` for a sample of top-level comments, or `includeTranscript=true` when you want plain-text transcript text for a video that has one.

This route is one post or Reel by permalink. To page a page's feed use `GET /v1/facebook/profiles/posts`. For a full comment thread use `GET /v1/facebook/posts/comments`. A dedicated transcript-only call is `GET /v1/facebook/posts/transcript`. Bill from `meta.creditsCharged`.

Facebook Post API FAQ

How do I get a Facebook post or Reel via API?

Call `GET /v1/facebook/posts` with your Social Fetch API key (`x-api-key`) and a public post or Reel `url` query param. Read `data.lookupStatus` and the post payload in the JSON response. See the API docs for parameters and examples.

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

What fields does the Facebook post response include?

When `lookupStatus` is `found`, the payload can include post identity (`postId`, URL, description, publishedAt, feedbackId), author (name, profile URL, avatar, verified), metrics (likes, comments, shares, views, reaction breakdowns when exposed), media (thumbnail, primary `imageUrl`, gallery `imageUrls` for carousels, video and HD video URLs, duration, dimensions), and attached music metadata when Facebook shows it. Source CDN image and video URLs can expire outside the original retrieval context.

Can I include comments or a transcript on the same call?

Yes. Set `includeComments=true` for a sample of top-level comments when available. Set `includeTranscript=true` for plain-text transcript text when the video has one. For paging a full comment thread, use `GET /v1/facebook/posts/comments` instead.

Facebook post by URL vs profile posts list?

Use `GET /v1/facebook/posts` when you already have a post or Reel permalink. Use `GET /v1/facebook/profiles/posts` to page posts for a page or profile URL. They are separate operations on the Facebook hub.

Do I need Meta Graph API access or page admin rights?

No. Social Fetch returns publicly visible post and Reel data for enrichment-style lookups. Meta's Graph and Marketing APIs are for assets and ads accounts you control or that authorize your app — not arbitrary public competitor posts.

What happens for missing or unavailable Facebook posts?

The call still returns a typed `lookupStatus`. Unknown or removed URLs resolve as `not_found` with null post fields. Do not invent captions, metrics, or media URLs. Keep `meta.requestId` if you need support on a failed enrichment row.