Facebook

Facebook Profile Photos API

Changed on

Photo grid from a Facebook Page — full image URL plus accessibilityCaption (alt-text, not a post caption).

Pass a Facebook Page URL or @handle and get photos from the public /photos grid as clean JSON: id, url, image (full-size CDN), width/height (always keyed; null when Facebook omits them), and accessibilityCaption — Facebook's image alt-text, not a user-written post caption. Publish time and likes/comments are usually absent on this surface (platform limit, not a Captapi gap). Facebook does not expose a separate thumbnail on this grid — image is the delivered CDN URL. limit (default 20, max 200) is your cap; the /photos SSR grid is a single batch (often ~8). Every 200 includes limit, totalReturned, retrievableCount (unique Photo nodes in this batch), hasMore, and nextCursor (always null — a missing cursor key is a bug; null is the end). hasMore is always false (the grid has no cursor). truncatedReason=limit when the batch held more photos than limit — raise limit to get them; truncatedReason=photos-grid-batch when the grid bound you — not "the Page only has 8" and not "limit was ignored." Each photo carries mediaUrlsExpireAt for its signed image URL. Flat 2 credits. Pass cache=true for the 24h shared cache.

Docs: https://captapi.com/apis/facebook-profile-photos

get/v1/facebook/profile-photos

Request

  • Base URL: https://api.captapi.com
  • URL: https://api.captapi.com/v1/facebook/profile-photos
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Query parameters

urlstring required

Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.

limitinteger

Max items to return (default 20, max 200). The public /photos grid is a single SSR batch (often ~8) — retrievableCount is that batch, not a promise Facebook will fill limit. Flat 2 credits per call.

cacheboolean

Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.

Response

Success. The data object for this endpoint.

successunknown required

Changes

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property /// to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status