{
  "openapi": "3.0.1",
  "info": {
    "title": "Facebook Video & Reels Insights Extractor",
    "description": "Facebook Video & Reels Insights Extractor extracts public Facebook video and Reels data, including titles, captions, views, likes, comments, shares, creators, timestamps, media URLs, and engagement metrics. Ideal for content analysis, competitor research, trend tracking, and social media insights.",
    "version": "1.0",
    "x-build-id": "UwjTDf0V8DwZgqhzn"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapeengine~facebook-videos-scraper-pay-per-events/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapeengine-facebook-videos-scraper-pay-per-events",
        "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/scrapeengine~facebook-videos-scraper-pay-per-events/runs": {
      "post": {
        "operationId": "runs-sync-scrapeengine-facebook-videos-scraper-pay-per-events",
        "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/scrapeengine~facebook-videos-scraper-pay-per-events/run-sync": {
      "post": {
        "operationId": "run-sync-scrapeengine-facebook-videos-scraper-pay-per-events",
        "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",
        "required": [
          "videoLinks"
        ],
        "properties": {
          "videoLinks": {
            "title": "🔗 Facebook Video / Reel URLs",
            "type": "array",
            "description": "📎 Paste public Facebook video links — Reels (facebook.com/reel/...), page videos (facebook.com/username/videos/...), or group post videos. One URL per line. Duplicate links are automatically removed before the run starts.",
            "items": {
              "type": "string"
            }
          },
          "maxVideosPerRun": {
            "title": "🔢 Max Videos To Process",
            "minimum": 1,
            "type": "integer",
            "description": "🚧 Optional safety cap. If more links are pasted than this number, the extras are skipped (and reported in the run summary) so a run never processes more than expected. Leave empty for no limit."
          },
          "concurrency": {
            "title": "⚡ Parallel Requests",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "🚀 How many videos to fetch at the same time. Higher values finish bulk runs faster; lower values are gentler on proxies/IPs. Set to 1 for classic one-by-one scraping.",
            "default": 5
          },
          "requestTimeoutSecs": {
            "title": "⏱️ Request Timeout (seconds)",
            "minimum": 5,
            "maximum": 120,
            "type": "integer",
            "description": "⌛ How long to wait for a single page load before treating the attempt as failed and retrying.",
            "default": 30
          },
          "maxRetries": {
            "title": "🔁 Max Attempts Per URL",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "🔄 Total number of attempts (including the first) for a single URL — e.g. after a temporary block — before it's marked failed.",
            "default": 3
          },
          "saveThumbnailImage": {
            "title": "🖼️ Archive Thumbnail Image",
            "type": "boolean",
            "description": "💾 When enabled, downloads the video's cover image and stores it in this run's Key-Value Store. Facebook's hotlinked thumbnail URLs expire — this keeps a permanent copy alongside your data.",
            "default": false
          },
          "includeFullManifest": {
            "title": "📦 Include Full Technical Manifest",
            "type": "boolean",
            "description": "🧩 When enabled, adds a `manifest` field with every available video/audio stream (all resolutions & bitrates) for advanced use (e.g. building your own downloader). Leave off for a lighter, cleaner dataset.",
            "default": false
          },
          "proxySettings": {
            "title": "🔒 Proxy Settings",
            "type": "object",
            "description": "🛡️ Optional. Use Apify Proxy (residential/datacenter) or custom proxy URLs to avoid IP blocks and improve success rates. If a block is detected, the actor automatically retries through a residential proxy even if this is left disabled."
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}