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

# Comment replies

> Fetches the replies to a comment on a public Facebook post/reel. Pass the comment's **`feedbackId`** and **`expansionToken`** (both from `/facebook/post/comments`). Note: `feedbackId` is the comment's FEEDBACK id, NOT the comment id. Each reply has the same shape as a comment (text, author, reactions + breakdown, its own reply count, media, permalink). Returns a `paging.cursor` / `paging.hasNextPage` for the next page.

<Info>
  **Cost: 1 credit** per successful request. Errors and cache hits (`cache_max_age`) are free.
</Info>

<Accordion title="Copy for AI assistant" icon="sparkles">
  Paste this into ChatGPT, Claude or your coding assistant to generate working code for this endpoint (use the copy button).

  ```text Prompt
  I want to make an API call to /v1/facebook/post/comment/replies. Here are the details:

  Endpoint: GET https://api.scraperize.com/v1/facebook/post/comment/replies
  Description: Fetches the replies to a comment on a public Facebook post/reel. Pass the comment's **`feedbackId`** and **`expansionToken`** (both from `/facebook/post/comments`). Note: `feedbackId` is the comment's FEEDBACK id, NOT the comment id. Each reply has the same shape as a comment (text, author, reactions + breakdown, its own reply count, media, permalink). Returns a `paging.cursor` / `paging.hasNextPage` for the next page.

  Required Headers:
  - x-api-key: Your API key

  Parameters:
  - feedbackId (string) [required]: The COMMENT's feedback id (from /facebook/post/comments — NOT the comment id).
  - expansionToken (string) [required]: The comment's expansion token (from /facebook/post/comments).
  - cursor (string): The `paging.cursor` from a previous call, to fetch the next page.
  - cache_max_age (select): Optional. Return a cached result if one this age or newer exists — served for **0 credits** with `meta.cached=true` and `meta.cachedAt`. Otherwise a fresh scrape runs (**1 credit**) and refreshes the cache. Omit to always scrape fresh.

  Example Response:
  {
    "data": {
      "replies": [
        {
          "id": "Y29tbWVudDoxNjkzMjY0MTA1NDkzNDU2XzEwMDIxMTMzMzI2NTU5MTM=",
          "legacyId": "1002113332655913",
          "text": "Ribesh Chhetri GOAT for a reason 😂",
          "author": {
            "id": "pfbid0zVpDNnawuW4paKCghNnwKgJMPTsPQN41ncsPEMjJEZbzfLpFiNKFT79enVtRvWgal",
            "name": "Si Kute",
            "shortName": "Si",
            "url": "https://www.facebook.com/pfbid0zVpDNnawuW4paKCghNnwKgJMPTsPQN41ncsPEMjJEZbzfLpFiNKFT79enVtRvWgal",
            "avatarUrl": "https://scontent-los4-1.xx.fbcdn.net/v/t39.30808-1/437570319_2203651459994026_1171989696690737756_n.jpg?stp=c0.0.648.648a_cp0_dst-jpg_tt6&cstp=mx648x648&ctp=s32…",
            "verified": false,
            "gender": "MALE",
            "isPage": false
          },
          "createdAt": "2026-07-21T14:22:47.000Z",
          "createdTimestamp": 1784643767,
          "reactionCount": 9,
          "reactionsByType": [
            {
              "type": "Like",
              "count": 5
            }
          ],
          "replyCount": 0,
          "feedbackId": "ZmVlZGJhY2s6MTY5MzI2NDEwNTQ5MzQ1Nl8xMDAyMTEzMzMyNjU1OTEz",
          "expansionToken": "MjoxNzkxMjExNjEzOgF_Fjn06f16sM-kuPqztHDvgdb0PbH5wiNYxj7uQAYMW5bxaCEuX3kmaLUxp-q2fNpDmVTakJduYcRM98RxCrpJEfbKyKGJY0NODBvv1tM-shdmw8tlpSD3qSLyLAn3aGU4ce3sGmTUazWN…",
          "url": "https://www.facebook.com/reel/1549207066583030/?comment_id=1413811814127518&reply_comment_id=1002113332655913",
          "depth": 1,
          "isAuthorOriginalPoster": false,
          "attachments": []
        }
      ],
      "replyCount": 10,
      "paging": {
        "cursor": "MToxNzkxMjExNjEzOgF_4YcQtZrc9TOcGs-Q3ACyPlD-F23U_7bpWxdKFCJa3HmlP8tBRVqdbwOcqg8YJC8jSUc3ybBZKqEAI5FTLr3U4jQG_syJYSJohtFr43_E6Vpf4zmW2e5BAmsv3J8t20d1qDcOQ14mt30H…",
        "hasNextPage": true
      },
      "feedbackId": "ZmVlZGJhY2s6MTY5MzI2NDEwNTQ5MzQ1Nl8xNDEzODExODE0MTI3NTE4",
      "fetchedAt": "2026-10-05T14:46:54.002Z"
    },
    "meta": {
      "requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
      "creditsCharged": 1,
      "creditsRemaining": 4999,
      "cached": false
    }
  }

  Please help me write code in my preferred programming language to make this API call and handle the response appropriately. Include error handling and best practices.
  ```
</Accordion>


## OpenAPI

````yaml /api-reference/openapi.json get /v1/facebook/post/comment/replies
openapi: 3.0.3
info:
  title: Scraperize API
  version: 1.0.0
  description: >-
    Extract public data from social media platforms as clean JSON. Endpoints are
    split by platform and by what they return, e.g. `GET /v1/twitter/tweet`.


    ## Authentication

    Send your API key in the `x-api-key` header (or `Authorization: Bearer
    <key>`). Create keys in your dashboard.


    ## Credits

    Each successful live scrape costs **1 credit**. Credits are prepaid and
    never expire.


    ## Caching

    Every endpoint accepts an optional `cache_max_age`
    (`1d`|`3d`|`7d`|`14d`|`30d`). A cache hit within that window is returned for
    **0 credits**.


    ## Responses

    Success returns `{ "data": …, "meta": { "requestId", … } }`. Errors return
    `{ "error": { "code", "message", "requestId" } }` with a matching HTTP
    status. `meta` on a scrape carries `creditsCharged`, `creditsRemaining`,
    `cached`, and (on a hit) `cachedAt`.


    ## Rate limits

    Requests are limited per team per minute; over the limit returns `429` with
    a `Retry-After` header.
servers:
  - url: https://api.scraperize.com
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Twitter
    description: Twitter / X scraping endpoints
  - name: Facebook
    description: Facebook scraping endpoints
  - name: Linkme
    description: Linkme (link.me) scraping endpoints
  - name: Amazon
    description: Amazon (creator shop / storefront) scraping endpoints
  - name: Linkbio
    description: Linkbio (lnk.bio) scraping endpoints
  - name: Pillar
    description: Pillar (pillar.io) scraping endpoints
  - name: Komi
    description: Komi (komi.io) scraping endpoints
  - name: Linktree
    description: Linktree (linktr.ee) scraping endpoints
  - name: Kick
    description: Kick (kick.com) scraping endpoints
  - name: Snapchat
    description: Snapchat (snapchat.com) scraping endpoints
  - name: Telegram
    description: Telegram (t.me) scraping endpoints
  - name: LinkedIn
    description: LinkedIn scraping endpoints
  - name: Twitch
    description: Twitch scraping endpoints
  - name: TikTok
    description: TikTok (tiktok.com) scraping endpoints
paths:
  /v1/facebook/post/comment/replies:
    get:
      tags:
        - Facebook
      summary: Comment replies
      description: >-
        Fetches the replies to a comment on a public Facebook post/reel. Pass
        the comment's **`feedbackId`** and **`expansionToken`** (both from
        `/facebook/post/comments`). Note: `feedbackId` is the comment's FEEDBACK
        id, NOT the comment id. Each reply has the same shape as a comment
        (text, author, reactions + breakdown, its own reply count, media,
        permalink). Returns a `paging.cursor` / `paging.hasNextPage` for the
        next page.
      parameters:
        - name: feedbackId
          in: query
          required: true
          description: >-
            The COMMENT's feedback id (from /facebook/post/comments — NOT the
            comment id).
          schema:
            type: string
        - name: expansionToken
          in: query
          required: true
          description: The comment's expansion token (from /facebook/post/comments).
          schema:
            type: string
        - name: cursor
          in: query
          required: false
          description: The `paging.cursor` from a previous call, to fetch the next page.
          schema:
            type: string
        - name: cache_max_age
          in: query
          required: false
          description: >-
            Optional. Return a cached result if one this age or newer exists —
            served for **0 credits** with `meta.cached=true` and
            `meta.cachedAt`. Otherwise a fresh scrape runs (**1 credit**) and
            refreshes the cache. Omit to always scrape fresh.
          schema:
            type: string
            enum:
              - 1d
              - 3d
              - 7d
              - 14d
              - 30d
          example: 7d
      responses:
        '200':
          description: The replies.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      replies:
                        type: array
                        items:
                          type: object
                      replyCount:
                        type: integer
                      paging:
                        type: object
                        properties:
                          cursor:
                            type: string
                            nullable: true
                          hasNextPage:
                            type: boolean
                      feedbackId:
                        type: string
                        nullable: true
                      fetchedAt:
                        type: string
                        format: date-time
                  meta:
                    type: object
                    description: >-
                      requestId + credit/caching metadata (creditsCharged,
                      creditsRemaining, cached, cachedAt).
                required:
                  - data
                  - meta
              example:
                data:
                  replies:
                    - id: Y29tbWVudDoxNjkzMjY0MTA1NDkzNDU2XzEwMDIxMTMzMzI2NTU5MTM=
                      legacyId: '1002113332655913'
                      text: Ribesh Chhetri GOAT for a reason 😂
                      author:
                        id: >-
                          pfbid0zVpDNnawuW4paKCghNnwKgJMPTsPQN41ncsPEMjJEZbzfLpFiNKFT79enVtRvWgal
                        name: Si Kute
                        shortName: Si
                        url: >-
                          https://www.facebook.com/pfbid0zVpDNnawuW4paKCghNnwKgJMPTsPQN41ncsPEMjJEZbzfLpFiNKFT79enVtRvWgal
                        avatarUrl: >-
                          https://scontent-los4-1.xx.fbcdn.net/v/t39.30808-1/437570319_2203651459994026_1171989696690737756_n.jpg?stp=c0.0.648.648a_cp0_dst-jpg_tt6&cstp=mx648x648&ctp=s32x32&_nc_cat=101&ccb=1-7&_nc_sid=e99d92&_nc_ohc=llEX78fiiJgQ7kNvwHD06jF&_nc_oc=AdrBNwQkwLjejjNp9EQpVvk3q2VdhKa2qLf7nbLLjFfDMFepnF6H6tqhszDNrR6PdeI&_nc_zt=24&_nc_ht=scontent-los4-1.xx&_nc_gid=fvwyzO7Y8qZOEbqEgSLZ-w&_nc_ss=7c289&oh=00_AQOZEb2rBaazgoR52MiLCIeAsWwAlxSe4ByuRnU2d0dCag&oe=6AC9A61B
                        verified: false
                        gender: MALE
                        isPage: false
                      createdAt: '2026-07-21T14:22:47.000Z'
                      createdTimestamp: 1784643767
                      reactionCount: 9
                      reactionsByType:
                        - type: Like
                          count: 5
                        - type: Love
                          count: 0
                        - type: Care
                          count: 0
                      replyCount: 0
                      feedbackId: ZmVlZGJhY2s6MTY5MzI2NDEwNTQ5MzQ1Nl8xMDAyMTEzMzMyNjU1OTEz
                      expansionToken: >-
                        MjoxNzkxMjExNjEzOgF_Fjn06f16sM-kuPqztHDvgdb0PbH5wiNYxj7uQAYMW5bxaCEuX3kmaLUxp-q2fNpDmVTakJduYcRM98RxCrpJEfbKyKGJY0NODBvv1tM-shdmw8tlpSD3qSLyLAn3aGU4ce3sGmTUazWNlrppKhgnmwvX-b40cV7-enHCfQszc7Wmtg_AgnPW9ZVjFq40oJYbTevIKbtm3KRf1m6boQU-FtHsldS8qKcNqixZWQWU98Ka2ktgL4uJc518CoQbyV6W5hFjM-HB7Tb7nCuakJ79cwE6_mheuCUhJPXfzKgoQ5vjNJdw2qMaLgddzSqfFJ_5ipmO5AMUY8y2XTKeNhDO3sAWSVeFH9wXytk_zvk0YxITVH70mZjZnMw3TmeIsphnaOc0KZRl0ZtXj0AR4bH2ebpo1Q4ZEFncly1ZTjNeaf3BhCuOj8Y-ZzmMqXcggnP2J_RKhHYWPEOms1Z1FstL3OnKWqUgYKakqtuuR9UGJg4m9bH22DfdqHG8MY0OUZy2xIxG0RAUvONDHcij71sfNDe5jWUdHpRDdGyF0J5lodqb-iEzuDcmjzUQHB_mA4pxOwmv_UmLnfBOK-ZV9W9qkDGuMV8-Q4W3FRq_CKOi5ylBpzDxHyX8Vt5_8sMoo2B-CWEMAdiMuJ_CWue2KPdlb8WsLJYoWUMBKmjATyOnObf1KQQ3DDmtEP9nsyQb8T0
                      url: >-
                        https://www.facebook.com/reel/1549207066583030/?comment_id=1413811814127518&reply_comment_id=1002113332655913
                      depth: 1
                      isAuthorOriginalPoster: false
                      attachments: []
                    - id: Y29tbWVudDoxNjkzMjY0MTA1NDkzNDU2XzkwMDMxOTg5MjUzODIzOQ==
                      legacyId: '900319892538239'
                      text: Ribesh Chhetri even he didn't lost any WC semi 🐸😛
                      author:
                        id: >-
                          pfbid02XPQYHZ1hoqQAsKw5ZsCZphTCGdFfTgZ38URwNcqxUY5BfmDXuJ5yJRtMALKem7cdl
                        name: Sad Man
                        shortName: Sad
                        url: >-
                          https://www.facebook.com/people/Sad-Man/pfbid02XPQYHZ1hoqQAsKw5ZsCZphTCGdFfTgZ38URwNcqxUY5BfmDXuJ5yJRtMALKem7cdl/
                        avatarUrl: >-
                          https://scontent-los4-1.xx.fbcdn.net/v/t1.30497-1/453178253_471506465671661_2781666950760530985_n.png?stp=cp0_dst-png&cstp=mx2048x2048&ctp=s32x32&_nc_cat=1&ccb=1-7&_nc_sid=136b72&_nc_ohc=v_XEyutpHp0Q7kNvwFcO8kh&_nc_oc=AdqQzms0u9JE-Ltxj5LrK8qvsQ-0lc7PeEmWrq30yBRRfdebaqpUBF8HuwxSxQmnQUI&_nc_zt=24&_nc_ht=scontent-los4-1.xx&_nc_ss=7c289&oh=00_AQNLv6lnDomskeH_oHjiLdKghs9tpf-_8AIjBxv1zs9CTw&oe=6AEB2AFA
                        verified: false
                        gender: MALE
                        isPage: false
                      createdAt: '2026-07-21T17:10:43.000Z'
                      createdTimestamp: 1784653843
                      reactionCount: 0
                      reactionsByType: []
                      replyCount: 0
                      feedbackId: ZmVlZGJhY2s6MTY5MzI2NDEwNTQ5MzQ1Nl85MDAzMTk4OTI1MzgyMzk=
                      expansionToken: >-
                        MjoxNzkxMjExNjEzOgF_UyKg7RM5JAW9j7VeTlNA0dinrH0Rx-ItJMlVvLv4BSh7MXq0zam9VPcin4N9xuDS8yYcRL2pfaY6f3uNNkJc0OYu6_t1rnjXxZF83aD-iYN3syY6D703CA5J5_sDIizXZY4nZ9-2lrcuMtSlpG8eE80VJ_0BeYDtCFwZAz30inbslHFy4gsVTqSwe4LQLiIDSMtNO_mA3WDOp26hWzo8wsixwofXxY8Uf3Jqd1rT5h4uBYjbV9cD7XeCNaF58uouMvHhWJq83lgFTJll7_GjqM5XOBhl-C64hGFU-b85H8AVKqmBMFDbFYvmq2-RmuLOoqnsuCU7PMj39lam5f7Ad4KN214zV4bn5OoJN5jf6sFG3IX9ZOa0Kc0tlLKeKXYyURQG0mol9Vu1mxh_dHdZH2Q1xH3zg7TjC16dr37N8WdhiU-E3jCx7eW_Yq8DC91uPuYrtkAJr1MBW_sYwWzCaezke5BA87a-E0t81sosaKKME9Ju9d9cxZCMogBWQwQ6P_ON_KYt00Nbzn2s6CI8mkYb_raYHKHknbuLRfLq2n7DReMjsojZo1RjSVWnxrDms7gyNqT0ItZu7HSJyHBckXSGGDUGBMpvDUU2WMozhb0qeojGFy588WAIiN1ZtRpr3aiOgq306ta_FHdeoNCn0KcV3JK4zJ7EswE7wFothPTvUIL4Ac-bUiRLtsoBFog
                      url: >-
                        https://www.facebook.com/reel/1549207066583030/?comment_id=1413811814127518&reply_comment_id=900319892538239
                      depth: 1
                      isAuthorOriginalPoster: false
                      attachments: []
                    - id: Y29tbWVudDoxNjkzMjY0MTA1NDkzNDU2XzEwNDI3MjgxNzU0MDgyMDA=
                      legacyId: '1042728175408200'
                      text: Ribesh Chhetri Never played in any lol
                      author:
                        id: '1428492188'
                        name: Charles Mwarage
                        shortName: Charles
                        url: https://www.facebook.com/1428492188
                        avatarUrl: >-
                          https://scontent-los4-1.xx.fbcdn.net/v/t39.30808-1/351110319_280635204417331_6104924953364524914_n.jpg?stp=cp0_dst-jpg_tt6&cstp=mx475x480&ctp=p32x32&_nc_cat=105&ccb=1-7&_nc_sid=1d2534&_nc_ohc=U8lcSQWP5JMQ7kNvwGOwc4t&_nc_oc=AdpqiU1UFqVbzRu7ILc1UkrpcmMldPBZpn2BB5gsDbsyzqEsFidlBDOkkZ9L3aLwKg8&_nc_zt=24&_nc_ht=scontent-los4-1.xx&_nc_gid=fvwyzO7Y8qZOEbqEgSLZ-w&_nc_ss=7c289&oh=00_AQOtDIhPmr9lvg150V2aLHNVfFKc77HuyKMNfVAWlDC8Mw&oe=6AC9A286
                        verified: false
                        gender: MALE
                        isPage: false
                      createdAt: '2026-07-21T17:28:57.000Z'
                      createdTimestamp: 1784654937
                      reactionCount: 0
                      reactionsByType: []
                      replyCount: 1
                      feedbackId: ZmVlZGJhY2s6MTY5MzI2NDEwNTQ5MzQ1Nl8xMDQyNzI4MTc1NDA4MjAw
                      expansionToken: >-
                        MjoxNzkxMjExNjEzOgF_Ci4w8xvZy73RXKeXNaYlCIOPIfqgDpoqGhYi4RYRfTMOG-WYOCCrP1PHQQyUe5ltlNsIsARvHGHaPxNS9eRj7Cz9K96Zh72Zsk9odbgJGSA8x6QYqtv5X-jFlaQk-hVhitk2eiX3OCQIepYWudmEfc8CU1IF5HeneUYoYXITYdPx3BbyA0kJrZZp1lxyXuPkSxqCEnzQjzVMeFCJCMfGocHyQffm8YgaZfV5swHVoCt9f396gmTXrP7C6Ik97hCimA1x9FKVG-9FyeMFVibT6_Hq8KKJiPHlb3HB505M0i5rsJjokSDKKGlz2gE4FivpZjrVde16yhrC5JEqi5Uzjdo2F9Bjyr0AthYr-NggVY7HJbSZ2QiP2bF0muzxFC0HSCtY4an7IDq1btZ-oRO0TvbU14G449hoVat9zPO3vXyTi9sSJy_U6FcM0wRND-1eDJPwkmrl2eXAUh8S344MRuqNot2F_k5GkWKImwHjzgj0L3lNg17DmMTsCVv3SKmaM7KBVczMYU8M3YMTbdYaHrlVScRBMKvGs1BNQbS7Mf0SyAs7yXR06NtCRZB1YTcUO7w_9DAIznT2Si8RyIvV9dfv2mfIhzBYKnw_sXJQ1lXaazOVThP4qyjtAKovjf8344wUPQcKwK6tuTyDIIV4B3QsnTI0lkum6euCe9AmVDiMWzrz739WDGSNKl_P5Tc
                      url: >-
                        https://www.facebook.com/reel/1549207066583030/?comment_id=1413811814127518&reply_comment_id=1042728175408200
                      depth: 1
                      isAuthorOriginalPoster: false
                      attachments: []
                  replyCount: 10
                  paging:
                    cursor: >-
                      MToxNzkxMjExNjEzOgF_4YcQtZrc9TOcGs-Q3ACyPlD-F23U_7bpWxdKFCJa3HmlP8tBRVqdbwOcqg8YJC8jSUc3ybBZKqEAI5FTLr3U4jQG_syJYSJohtFr43_E6Vpf4zmW2e5BAmsv3J8t20d1qDcOQ14mt30Hyi1ecKW_zkilMo5Xk-6yavbQejlLyPLRirZCjiaLIigLPzakJn5SnNSSRfjqK9f-VDK6ZY1fC1SoSToeMo9ZUuyEWO3L-CRLjicqxiIGHsKuetj62Azfom52GkwFz9cYZo5iYeGtFmeyogWAu1yIFEzHb6l2hgeLAqMDmYLGXHufsL2np7OHLFcM5HWMl6KlbYOLWafcFzeO797yYdAg3fRy5bK6kIydns4TSDpcFVM7aPYhtK1PRPrBdOYv2fqvkIsO0Av89uP8aD7EnHhHsDRbm8k7fMy4SFTxCoZGLEHtYjAxpuW3Xuo
                    hasNextPage: true
                  feedbackId: ZmVlZGJhY2s6MTY5MzI2NDEwNTQ5MzQ1Nl8xNDEzODExODE0MTI3NTE4
                  fetchedAt: '2026-10-05T14:46:54.002Z'
                meta:
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
                  creditsCharged: 1
                  creditsRemaining: 4999
                  cached: false
        '400':
          description: Invalid or expired cursor.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: BAD_REQUEST
                  message: The request was invalid.
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
        '401':
          description: Missing, invalid, or revoked API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: UNAUTHORIZED
                  message: API key required — pass it in the `x-api-key` header.
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
        '402':
          description: Not enough credits for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: INSUFFICIENT_CREDITS
                  message: >-
                    This request costs 1 credit, but your balance is 0. Top up
                    to continue.
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
        '404':
          description: Comment not found, or feedback id / expansion token invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: NOT_FOUND
                  message: >-
                    The requested content was not found (it may not exist, be
                    deleted, or be private).
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
        '422':
          description: Invalid query parameters (missing feedbackId or expansionToken).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: VALIDATION_ERROR
                  message: Request validation failed
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
                  details:
                    - path: url
                      message: Required
        '429':
          description: Over the per-minute rate limit — honour `Retry-After`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: RATE_LIMITED
                  message: >-
                    Rate limit exceeded — max 100 requests per 60s. Retry in
                    ~30s.
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
        '503':
          description: >-
            Temporarily unavailable — retry after `Retry-After`. `error.code`
            tells you why: `UPSTREAM_BLOCKED` (the source blocked this request),
            `EXTRACTION_FAILED` (the source returned unexpected data),
            `PLATFORM_UNAVAILABLE` (the source is down), or
            `SERVICE_UNAVAILABLE` (we are at capacity).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: UPSTREAM_BLOCKED
                  message: >-
                    The source is temporarily unavailable. Please try again
                    shortly.
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: NOT_FOUND
            message:
              type: string
              example: The requested content was not found.
            requestId:
              type: string
              example: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
            details:
              type: array
              items:
                type: object
              description: Present on validation errors.
          required:
            - code
            - message
            - requestId
      required:
        - error
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Your API key. Send it in the `x-api-key` header (or `Authorization:
        Bearer <key>`). Create and manage keys from your dashboard.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.