Facebook hub

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/posts

1 credit +2 credits per hosted file (hostMedia), max 24 files Max 49 credits Failed requests are free

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 media CDN links in each post's hostedMedia array, valid until the 90-day retention ends (+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.