Facebook profile posts API
List recent public posts from a Facebook profile or Page — text, permalink, createdAt, reaction and comment counts — with cursor pagination in the shared Social Fetch envelope.
GET /v1/facebook/profiles/posts1 credit base. With `hostMedia`, +2 credits per hosted asset (up to 24 assets, 49 credits max).
About this endpoint
`GET /v1/facebook/profiles/posts` lists public posts for a profile or Page. Pass either a full public `url` or a `pageId` query param. On success, read `data.posts` and `data.page`. Each post can include id, text, public URL, createdAt (ISO-8601), author display fields, reactionCount, commentCount, videoViewCount when Facebook shows it, and image/video URLs when present. When `data.page.hasMore` is true, pass `data.page.nextCursor` as the `cursor` query param on the next call. Bill from `meta.creditsCharged`.
`imageUrl`, `imageUrls`, `videoSdUrl`, `videoHdUrl`, and `videoThumbnailUrl` are source-platform CDN links when Facebook exposes them. They can expire or fail with signature errors outside the original retrieval context and are not SocialFetch-hosted assets. Syntactically unusable values are omitted.
For SocialFetch-hosted copies on this list page, pass `hostMedia=true`. SocialFetch stores up to 24 assets for 90 days and returns time-limited delivery URLs in each post's `hostedMedia` array (+2 credits per successfully stored asset; failures are reported per asset and not charged). Source CDN fields stay unchanged.
This route has no `lookupStatus`. An empty `data.posts` page with `hasMore: false` can mean no public posts, restricted visibility, or a bad URL or id. Call `GET /v1/facebook/profiles` first when you need an explicit `found` / `private` / `not_found` before you interpret an empty feed. Single-post lookup, reels, and photos are separate Facebook paths.
Facebook profile posts API FAQ
How do I list Facebook posts for a profile or Page via API?
Call `GET /v1/facebook/profiles/posts` with your Social Fetch API key (`x-api-key`) and either a public Facebook `url` or a `pageId` query param. Read `data.posts` and `data.page` in the JSON response. See the API docs for parameters and examples.
How much does the Facebook profile posts endpoint cost?
1 credit per successful list page by default. With `hostMedia`, +2 credits per hosted asset (up to 24 assets, 49 credits max). Always bill from `meta.creditsCharged` on the response. Each paginated page is a separate billed request.
How does pagination work on Facebook profile posts?
Each response includes `data.page.nextCursor` and `data.page.hasMore`. When `hasMore` is true, pass `nextCursor` as the `cursor` query param on the next request. The cursor is opaque.
What fields are in each Facebook profile post?
Items can include id, text, public post URL, createdAt (ISO-8601), authorDisplayName, authorShortName, authorId, reactionCount, commentCount, videoViewCount when available, and image/video CDN URLs when Facebook exposes them. Those media URLs are transient source-CDN links — not durable SocialFetch-hosted assets.
Can I embed Facebook profile-post media URLs in client reports?
Not reliably. Meta CDN URLs from this endpoint can expire or return signature errors outside the fetch context. Prefer downloading and hosting the bytes yourself at fetch time, or wait for a SocialFetch hosted-media option on Facebook (Instagram single-post `downloadMedia=true` is the current durable path for Instagram).
Why is an empty posts page ambiguous on this route?
This operation does not return `lookupStatus`. Empty `data.posts` with `hasMore: false` can mean no public posts, restricted visibility, or an unresolvable URL or id. Preflight with `GET /v1/facebook/profiles` when you need `found`, `private`, or `not_found` before treating an empty feed as real.
Profile posts vs single Facebook post vs reels or photos?
Use this route to page a profile or Page feed. Use `GET /v1/facebook/posts` when you already have a post URL. Use `GET /v1/facebook/profiles/reels` or `GET /v1/facebook/profiles/photos` for those media lists. 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 posts 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 Pages.
Other Facebook endpoints
- ProfileGET /v1/facebook/profiles
- Profile reelsGET /v1/facebook/profiles/reels
- Profile photosGET /v1/facebook/profiles/photos
- Post or reelGET /v1/facebook/posts
- CommentsGET /v1/facebook/posts/comments
- RepliesGET /v1/facebook/posts/comments/replies
- TranscriptGET /v1/facebook/posts/transcript
- Group postsGET /v1/facebook/groups/posts