Facebook profile photos API
List public photos from a Facebook profile or Page — image URLs, thumbnails, dimensions, and accessibility captions when available — with cursor pagination in the shared Social Fetch envelope.
GET /v1/facebook/profiles/photos1 credit per successful request.
About this endpoint
Some jobs need the Photos tab, not the mixed feed. You have a public Facebook profile or Page URL, you want image URLs and alt text for archive, brand-kit scraping, or visual matching, and you page until `hasMore` is false. Pulling that grid yourself means fighting Facebook's markup and session walls.
`GET /v1/facebook/profiles/photos` lists public photos for a profile or Page. Pass a full public `url` query param. On a completed lookup, branch on `data.lookupStatus` (`found` or `not_found`), then read `data.photos` and `data.page`. Each photo can include id, photoId, public url, accessibilityCaption, imageUrl, thumbnailUrl, and dimensions (width, height) when Facebook exposes them. When `data.page.hasMore` is true, pass `data.page.nextCursor` as the `cursor` query param on the next call. Bill from `meta.creditsCharged`.
This route lists photos only. The mixed Page or profile feed is `GET /v1/facebook/profiles/posts`. Reels are `GET /v1/facebook/profiles/reels`. A single post by URL is `GET /v1/facebook/posts`. Pricing for this operation is 1 credit per successful request.
Facebook profile photos API FAQ
How do I list Facebook photos for a profile or Page via API?
Call `GET /v1/facebook/profiles/photos` with your Social Fetch API key (`x-api-key`) and a public Facebook profile or Page `url` query param. Read `data.lookupStatus`, then `data.photos` and `data.page`. Full parameters and examples are in the API docs.
How much does the Facebook profile photos endpoint 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.
How does pagination work on Facebook profile photos?
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 — do not invent or parse it.
What fields are in each Facebook profile photo?
Items can include id, photoId, public url, accessibilityCaption, imageUrl, thumbnailUrl, and dimensions with width and height when Facebook exposes them. Coverage follows what is publicly visible for that profile or Page.
What does lookupStatus mean on Facebook profile photos?
Branch on `data.lookupStatus` before you write rows. `found` means the profile or Page resolved and `data.photos` is the current page (it may still be empty on a last page). `not_found` means the URL did not resolve to a listable profile or Page — do not invent a photos grid. Keep `meta.requestId` if you need support on a failed list call.
Profile photos vs profile posts vs Reels vs a single Facebook post?
Use this route to page a profile or Page Photos tab. Use `GET /v1/facebook/profiles/posts` for the mixed feed. Use `GET /v1/facebook/profiles/reels` for Reels. Use `GET /v1/facebook/posts` when you already have a post URL.
Do I need Meta Graph API access or page admin rights?
No. Social Fetch returns publicly visible photos 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 postsGET /v1/facebook/profiles/posts
- Profile reelsGET /v1/facebook/profiles/reels
- 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