{
  "openapi": "3.0.1",
  "info": {
    "title": "Facebook Comments Extractor 🗨️⚡: Data, Details & Analytics",
    "description": "💠 $0.5 / 1,000 results ·⚡ High-speed comment scraping for 100+ Facebook URLs per run — extract comments, replies, shared links, and images across Posts, Videos, Reels, and Groups.",
    "version": "1.0",
    "x-build-id": "mGMQmUFB0IrqO9ciK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/thedoor~facebook-comment-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-thedoor-facebook-comment-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/thedoor~facebook-comment-scraper/runs": {
      "post": {
        "operationId": "runs-sync-thedoor-facebook-comment-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/thedoor~facebook-comment-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-thedoor-facebook-comment-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "postUrls": {
            "title": "Post URLs (100+ supported)",
            "type": "array",
            "description": "Enter one or more Facebook Post URLs. Use this list for a single post or 100+ posts in one run.",
            "items": {
              "type": "string"
            },
            "default": [
              "https://www.facebook.com/MTP.Fan/posts/pfbid02pDbx7KyShTqS5fEP9cixHMq936QNmAhBTEgnHDQMSoYVGbCBLJpZCgULE7wL1GSzl",
              "https://www.facebook.com/reel/1081620267650247",
              "https://www.facebook.com/cnn/posts/pfbid0HhiQWrizKWmntpi9m1xzXQT4cC8iYLWqL4xbQDfXMRPhSeAymTXEqfQGP7memBvZl",
              "https://www.facebook.com/CNN/posts/1510975140138256",
              "https://www.facebook.com/CNN/videos/1510975140138256/",
              "https://www.facebook.com/groups/n8n.automation/permalink/25205583905788653/",
              "https://www.facebook.com/permalink.php?story_fbid=1510975140138256&id=100064358273914",
              "https://www.facebook.com/photo/?fbid=2013556406001668&set=a.724234831600505",
              "https://www.facebook.com/watch/?v=1510975140138256",
              "https://www.facebook.com/reel/1397741784161219",
              "https://www.facebook.com/reel/787423957218284"
            ]
          },
          "onlyNewComments": {
            "title": "Only newest comments for the next run",
            "type": "boolean",
            "description": "Turn this on so a run never returns comments you already got from this post in a previous run. Your first run gets comments as usual. Every next run on the same post returns only comments posted after your last run, so you don't pay for the same comments twice. Great for scheduled runs. With Include Replies on, replies to new comments are included; new replies to old comments are not. When on, comments are sorted Newest first and Ordering Mode is ignored.",
            "default": false
          },
          "orderingMode": {
            "title": "Ordering Mode",
            "enum": [
              "MOST_RELEVANT",
              "NEWEST",
              "ALL"
            ],
            "type": "string",
            "description": "Comment ordering: MOST_RELEVANT, NEWEST, or ALL",
            "default": "ALL"
          },
          "targetComments": {
            "title": "Target comments (use -1 for all)",
            "type": "integer",
            "description": "Number of comments to scrape per URL. Default 100. Use -1 for all comments.",
            "default": 100
          },
          "includeReplies": {
            "title": "Include Replies",
            "type": "boolean",
            "description": "Turn on to also get replies to each comment. Off by default: only top-level comments are returned.",
            "default": false
          },
          "maxReplies": {
            "title": "Max replies per comment",
            "minimum": -1,
            "type": "integer",
            "description": "Maximum replies to collect for each top-level comment, counting nested replies at every level. Works only when Include Replies is enabled; ignored otherwise. Example: Target comments 50 + Max replies 10 returns up to 50 comments, each with up to 10 replies. Default 100. Use -1 for all replies, 0 for none.",
            "default": 100
          },
          "includeReactions": {
            "title": "Include Reactions",
            "type": "boolean",
            "description": "Include total reactions and the available reaction type breakdown",
            "default": true
          },
          "commentsNewerThan": {
            "title": "Comments newer than - optional",
            "pattern": "^(\\d+(?:\\.\\d+)?)\\s*(minute|hour|day|week|month|year)s?$",
            "type": "string",
            "description": "Get only comments posted within this time, for example 7 days, 24 hours, or 30 minutes. Leave empty for all dates. Works together with Target comments: -1 gets every comment in that time, 20 gets the newest 20. With Include Replies on, their replies are included too. When set, comments are sorted Newest first and Ordering Mode is ignored."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}