> ## Documentation Index
> Fetch the complete documentation index at: https://docs.keyapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Profiles photos

> Get a public Facebook page's photos.

<div className="inline-flex items-center gap-2 px-4 py-2 bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg">
  <span className="text-base">🪙</span>
  <span className="text-sm font-medium text-yellow-900 dark:text-yellow-100"><span className="font-semibold">4 credits</span><span className="text-yellow-700 dark:text-yellow-300 ml-1">per request</span></span>
</div>

## Copy for AI

<div className="my-6 rounded-xl border border-gray-200 bg-gray-50 p-5 dark:border-gray-800 dark:bg-gray-900/40">
  <div className="min-w-0">
    <p className="text-base font-semibold text-gray-900 dark:text-gray-100">🤖 Why Code When AI Can Do It For You?</p>
    <p className="mt-1 text-sm text-gray-700 dark:text-gray-300">Stop writing code like it's 1970! Let AI do the heavy lifting - click the sparkles to copy a perfectly formatted prompt for ChatGPT, Claude, or your favorite AI assistant.</p>
  </div>

  <div className="mt-4">
    <button
      type="button"
      className="inline-flex items-center gap-2 rounded-md border border-emerald-300 bg-emerald-50 px-3 py-2 text-sm font-medium text-emerald-800 hover:bg-emerald-100 dark:border-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-100 dark:hover:bg-emerald-900/50"
      onClick={() => navigator.clipboard.writeText(`I want to make an API call to https://api.keyapi.ai/v1/facebook/profile_photos.

Please help me write code to make this API call and handle the response appropriately. Include error handling and best practices.

Here are the details:

Endpoint: GET https://api.keyapi.ai/v1/facebook/profile_photos

Description: Get a public Facebook page's photos.

Required Headers:
--header 'Authorization: Bearer <YOUR_API_KEY>'

Parameters:
- profile_id (Required): Profile ID, obtainable from the get_profile_id API response. Example: 100057864828042
- cursor (Optional): Pagination parameter (omit on first request), used to fetch the next page of data (obtained from the cursor in the previous response). Example: AQHS9RnTm59GjBgS2NIq1vbKKYsyFTDxmMvAeiWN741Z4YKVNqUybN8RwJqNGVz5G-HeQMU6om5AtxjedzeUciV_Bg
- collection_id (Optional): To paginate through to the next page. Example: YXBwX2NvbGxlY3Rpb246cGZiaWQwNHJEUmRZZDNia1V2RXI3czRGQXZYbkE4aG9GcDR5aThjTGplVlpnYVdUOTFRa1l3c01kVHdmYUxBTUNRWmhZUmJ4Y3JxbXI0TEJ1MTlIREMxeTFYTXlHWEFvZ1Rs

Example Response:
{
"code": 0,
"message": "success",
"data": {
"results": [
  {
    "type": "page_photo",
    "id": "1279676627304486",
    "uri": "https://scontent.flux2-1.fna.fbcdn.net/v/t51.82787-15/621000279_18381452860159156_3469603126804245210_n.jpg?_nc_cat=103&ccb=1-7&_nc_sid=13d280&_nc_ohc=HMbyE7ACF-YQ7kNvwFiNEPc&_nc_oc=AdlRVnuLP4RU7hu01XJPb88lnFPGE2EKK403WPBIJFQwRjSqrVA13xI2y7ZbJtN4Uh8&_nc_zt=23&_nc_ht=scontent.flux2-1.fna&_nc_gid=Hv9UEup5V06FEAJcrjn6fA&_nc_ss=8&oh=00_AfzCvJyuiBBHiKONFqW5Di9auBtnhd2D6sFuyeWDyX6DdQ&oe=69B036AB"
  },
  {
    "type": "page_photo",
    "id": "1264030392202443",
    "uri": "https://scontent.flux2-1.fna.fbcdn.net/v/t51.82787-15/609685834_18379234807159156_6575938217517194509_n.jpg?stp=dst-jpegr_tt6&_nc_cat=110&ccb=1-7&_nc_sid=13d280&_nc_ohc=cHrvqGZCYq8Q7kNvwHll63_&_nc_oc=AdmiGBQW-OvxS_iw1Zdj8nYBs9kRX5RuuSFGYBSx3GDSoWigXswfhltfAQGnBhyaqoo&_nc_zt=23&se=-1&_nc_ht=scontent.flux2-1.fna&_nc_gid=Hv9UEup5V06FEAJcrjn6fA&_nc_ss=8&oh=00_AfyfVGaxO7mYIIXjU7I8MFTZ6p0Px-oUP5d0CSEaB0E8qA&oe=69B02DF3"
  },
  {
    "type": "page_photo",
    "id": "1263712722234210",
    "uri": "https://scontent.flux2-1.fna.fbcdn.net/v/t51.82787-15/610572557_18379178425159156_3668556234413962955_n.jpg?_nc_cat=106&ccb=1-7&_nc_sid=13d280&_nc_ohc=hffh4_CpGF4Q7kNvwGr05Cg&_nc_oc=AdnLhTnsyzHVdRtbpViCgD2BkezwBEMU-slZO9s6TvC2YZH23PPOLyzmUGQnT11-0OE&_nc_zt=23&_nc_ht=scontent.flux2-1.fna&_nc_gid=Hv9UEup5V06FEAJcrjn6fA&_nc_ss=8&oh=00_AfyH
... (truncated)`)}
    >
      <span>✨</span>
      <span>Copy for AI</span>
    </button>
  </div>
</div>


## OpenAPI

````yaml en/facebook.openapi.json GET /v1/facebook/profile_photos
openapi: 3.0.1
info:
  title: Facebook API English documentation
  description: >-
    The english reference documentation of the Facebook API includes the
    interface's purpose, parameter description, response status, and sample
    structure.
  version: 1.0.0
servers:
  - url: https://api.keyapi.ai
    description: Production
security:
  - JWT Bearer: []
tags: []
paths:
  /v1/facebook/profile_photos:
    get:
      tags: []
      summary: Profiles photos
      description: Get a public Facebook page's photos.
      parameters:
        - name: profile_id
          in: query
          description: Profile ID, obtainable from the get_profile_id API response
          required: true
          example: '100057864828042'
          schema:
            type: string
            example: '100044634450208'
        - name: cursor
          in: query
          description: >-
            Pagination parameter (omit on first request), used to fetch the next
            page of data (obtained from the cursor in the previous response)
          required: false
          example: >-
            AQHS9RnTm59GjBgS2NIq1vbKKYsyFTDxmMvAeiWN741Z4YKVNqUybN8RwJqNGVz5G-HeQMU6om5AtxjedzeUciV_Bg
          schema:
            type: string
        - name: collection_id
          in: query
          description: To paginate through to the next page
          required: false
          example: >-
            YXBwX2NvbGxlY3Rpb246cGZiaWQwNHJEUmRZZDNia1V2RXI3czRGQXZYbkE4aG9GcDR5aThjTGplVlpnYVdUOTFRa1l3c01kVHdmYUxBTUNRWmhZUmJ4Y3JxbXI0TEJ1MTlIREMxeTFYTXlHWEFvZ1Rs
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
              example:
                code: 0
                message: success
                data:
                  results:
                    - type: page_photo
                      id: '1279676627304486'
                      uri: >-
                        https://scontent.flux2-1.fna.fbcdn.net/v/t51.82787-15/621000279_18381452860159156_3469603126804245210_n.jpg?_nc_cat=103&ccb=1-7&_nc_sid=13d280&_nc_ohc=HMbyE7ACF-YQ7kNvwFiNEPc&_nc_oc=AdlRVnuLP4RU7hu01XJPb88lnFPGE2EKK403WPBIJFQwRjSqrVA13xI2y7ZbJtN4Uh8&_nc_zt=23&_nc_ht=scontent.flux2-1.fna&_nc_gid=Hv9UEup5V06FEAJcrjn6fA&_nc_ss=8&oh=00_AfzCvJyuiBBHiKONFqW5Di9auBtnhd2D6sFuyeWDyX6DdQ&oe=69B036AB
                    - type: page_photo
                      id: '1264030392202443'
                      uri: >-
                        https://scontent.flux2-1.fna.fbcdn.net/v/t51.82787-15/609685834_18379234807159156_6575938217517194509_n.jpg?stp=dst-jpegr_tt6&_nc_cat=110&ccb=1-7&_nc_sid=13d280&_nc_ohc=cHrvqGZCYq8Q7kNvwHll63_&_nc_oc=AdmiGBQW-OvxS_iw1Zdj8nYBs9kRX5RuuSFGYBSx3GDSoWigXswfhltfAQGnBhyaqoo&_nc_zt=23&se=-1&_nc_ht=scontent.flux2-1.fna&_nc_gid=Hv9UEup5V06FEAJcrjn6fA&_nc_ss=8&oh=00_AfyfVGaxO7mYIIXjU7I8MFTZ6p0Px-oUP5d0CSEaB0E8qA&oe=69B02DF3
                    - type: page_photo
                      id: '1263712722234210'
                      uri: >-
                        https://scontent.flux2-1.fna.fbcdn.net/v/t51.82787-15/610572557_18379178425159156_3668556234413962955_n.jpg?_nc_cat=106&ccb=1-7&_nc_sid=13d280&_nc_ohc=hffh4_CpGF4Q7kNvwGr05Cg&_nc_oc=AdnLhTnsyzHVdRtbpViCgD2BkezwBEMU-slZO9s6TvC2YZH23PPOLyzmUGQnT11-0OE&_nc_zt=23&_nc_ht=scontent.flux2-1.fna&_nc_gid=Hv9UEup5V06FEAJcrjn6fA&_nc_ss=8&oh=00_AfyHi8qH--PofnkuRjW7hMNwcCGjQzFVWUbqL2O7W3gHrg&oe=69B00CCE
                    - type: page_photo
                      id: '1262709085667907'
                      uri: >-
                        https://scontent.flux2-1.fna.fbcdn.net/v/t51.82787-15/608181692_18379011385159156_4898913534112894659_n.jpg?_nc_cat=106&ccb=1-7&_nc_sid=13d280&_nc_ohc=L6JdfXC7YyUQ7kNvwGc3J5r&_nc_oc=Adk4sF_jiGOTbxZbbMEIoMnaRLG6gkp_tGZ0jj-FUtsE6zERAgmTOcnKJtM6yK89MIQ&_nc_zt=23&_nc_ht=scontent.flux2-1.fna&_nc_gid=Hv9UEup5V06FEAJcrjn6fA&_nc_ss=8&oh=00_AfzQRCURV8qaUBZ5wB5VOxsCXYG-wAStMj3HUmZxUG2qjw&oe=69B037E3
                    - type: page_photo
                      id: '1262709082334574'
                      uri: >-
                        https://scontent.flux2-1.fna.fbcdn.net/v/t51.82787-15/609510279_18379011376159156_3817559485824644101_n.jpg?_nc_cat=109&ccb=1-7&_nc_sid=13d280&_nc_ohc=6uFcewN7tZEQ7kNvwGQvGbg&_nc_oc=AdmJVjBbDiFTvJ1vuWALEmnpSO8wloRVGCgANZUb7Twfo4BK_p3BE9Hpm1XgCqv06u4&_nc_zt=23&_nc_ht=scontent.flux2-1.fna&_nc_gid=Hv9UEup5V06FEAJcrjn6fA&_nc_ss=8&oh=00_Afzy4LD5ry37YlV9zbc4eRxy52Xdl-skQJZeNn6ksY7Xbw&oe=69B018EA
                    - type: page_photo
                      id: '1262709079001241'
                      uri: >-
                        https://scontent.flux2-1.fna.fbcdn.net/v/t51.82787-15/609156825_18379011367159156_7434878894097889584_n.jpg?_nc_cat=104&ccb=1-7&_nc_sid=13d280&_nc_ohc=PG6B5w9U5R0Q7kNvwGXeRF-&_nc_oc=AdnPhNBmxObAM3OQeS4rVTJ8_N467W1Lip9BrzM5sgo3Qx9cbOXDLc-ejuVHNcgZjE0&_nc_zt=23&_nc_ht=scontent.flux2-1.fna&_nc_gid=Hv9UEup5V06FEAJcrjn6fA&_nc_ss=8&oh=00_Afx8u6zdzCY5-rZMeX9vSI-Doj7rIRokrGYVOb_S6D4zaA&oe=69B02DBA
                    - type: page_photo
                      id: '1262707602334722'
                      uri: >-
                        https://scontent.flux2-1.fna.fbcdn.net/v/t51.82787-15/588559570_18379011193159156_400612910721044357_n.jpg?_nc_cat=103&ccb=1-7&_nc_sid=13d280&_nc_ohc=GwBSBZeCc1cQ7kNvwHjGOcV&_nc_oc=AdlI8TstMRIcBdVY_rP451WBvIzbvryvfd4oMF4sh7_H4eduenZsroDHICdTfwGGAHg&_nc_zt=23&_nc_ht=scontent.flux2-1.fna&_nc_gid=Hv9UEup5V06FEAJcrjn6fA&_nc_ss=8&oh=00_Afwy5970ejNBTY39aC4MgEKthmuP2FnQGlMTCqzey4VJuw&oe=69B0341C
                    - type: page_photo
                      id: '1262707599001389'
                      uri: >-
                        https://scontent.flux2-1.fna.fbcdn.net/v/t51.82787-15/607445086_18379011202159156_5238635534618809443_n.jpg?_nc_cat=110&ccb=1-7&_nc_sid=13d280&_nc_ohc=Q6Lv1vaHoMsQ7kNvwEtt96y&_nc_oc=AdmMiUircvWWqRssOerpxt0EZ5UHzOsq5-YHuQoIodTPJ9td5-phtC5bl5-9ykU-OI8&_nc_zt=23&_nc_ht=scontent.flux2-1.fna&_nc_gid=Hv9UEup5V06FEAJcrjn6fA&_nc_ss=8&oh=00_Afw5SeLYaf7XXQGDsPH-talidNLN0wH2pBgLI6aRoKpQXQ&oe=69B02AD4
                  cursor: >-
                    AQHS9RnTm59GjBgS2NIq1vbKKYsyFTDxmMvAeiWN741Z4YKVNqUybN8RwJqNGVz5G-HeQMU6om5AtxjedzeUciV_Bg
                  collection_id: >-
                    YXBwX2NvbGxlY3Rpb246cGZiaWQwNHJEUmRZZDNia1V2RXI3czRGQXZYbkE4aG9GcDR5aThjTGplVlpnYVdUOTFRa1l3c01kVHdmYUxBTUNRWmhZUmJ4Y3JxbXI0TEJ1MTlIREMxeTFYTXlHWEFvZ1Rs
                requestId: 1b8778aa-004e-43a5-9b1b-a952271856ca
          headers: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 400
                  data: null
                  message: 'Missing required parameter: handle'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 401
                  data: null
                  message: apiKey is null
        '402':
          description: Payment Required
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 402
                  data: null
                  message: apiKey quota is not enough
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 429
                  data: null
                  message: qps limit exceeded
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 500
                  data: null
                  message: Internal server error
      deprecated: false
      security:
        - JWT Bearer: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: |-
            curl --request GET \
              --url 'https://api.keyapi.ai/v1/facebook/profile_photos?profile_id=100057864828042&cursor=AQHS9RnTm59GjBgS2NIq1vbKKYsyFTDxmMvAeiWN741Z4YKVNqUybN8RwJqNGVz5G-HeQMU6om5AtxjedzeUciV_Bg&collection_id=YXBwX2NvbGxlY3Rpb246cGZiaWQwNHJEUmRZZDNia1V2RXI3czRGQXZYbkE4aG9GcDR5aThjTGplVlpnYVdUOTFRa1l3c01kVHdmYUxBTUNRWmhZUmJ4Y3JxbXI0TEJ1MTlIREMxeTFYTXlHWEFvZ1Rs' \
              --header 'Authorization: Bearer <YOUR_API_KEY>'
        - lang: python
          label: Python
          source: |-
            import requests

            response = requests.get(
                'https://api.keyapi.ai/v1/facebook/profile_photos',
                params={"profile_id": "100057864828042", "cursor": "AQHS9RnTm59GjBgS2NIq1vbKKYsyFTDxmMvAeiWN741Z4YKVNqUybN8RwJqNGVz5G-HeQMU6om5AtxjedzeUciV_Bg", "collection_id": "YXBwX2NvbGxlY3Rpb246cGZiaWQwNHJEUmRZZDNia1V2RXI3czRGQXZYbkE4aG9GcDR5aThjTGplVlpnYVdUOTFRa1l3c01kVHdmYUxBTUNRWmhZUmJ4Y3JxbXI0TEJ1MTlIREMxeTFYTXlHWEFvZ1Rs"},
                headers={'Authorization': 'Bearer <YOUR_API_KEY>'}
            )
            print(response.json())
        - lang: javascript
          label: JavaScript
          source: >-
            const params = new URLSearchParams({"profile_id": "100057864828042",
            "cursor":
            "AQHS9RnTm59GjBgS2NIq1vbKKYsyFTDxmMvAeiWN741Z4YKVNqUybN8RwJqNGVz5G-HeQMU6om5AtxjedzeUciV_Bg",
            "collection_id":
            "YXBwX2NvbGxlY3Rpb246cGZiaWQwNHJEUmRZZDNia1V2RXI3czRGQXZYbkE4aG9GcDR5aThjTGplVlpnYVdUOTFRa1l3c01kVHdmYUxBTUNRWmhZUmJ4Y3JxbXI0TEJ1MTlIREMxeTFYTXlHWEFvZ1Rs"});


            const response = await
            fetch(`https://api.keyapi.ai/v1/facebook/profile_photos?${params}`,
            {
              method: 'GET',
              headers: { 'Authorization': 'Bearer <YOUR_API_KEY>' }
            });

            const data = await response.json();

            console.log(data);
components:
  securitySchemes:
    JWT Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: |-
        API key for authentication. Format: `sk_live_xxxxxxxxxxxxx`
        Get your API key from the [Dashboard](http://keyapi.ai/app/dashboard).

````