{
  "openapi": "3.0.1",
  "info": {
    "title": "Facebook Videos Scraper By Creator Profile",
    "description": "Facebook Videos Scraper extracts data from Facebook video posts, including titles, descriptions, view counts, reactions, comments, shares, and upload timestamps. Ideal for content analysis, trend monitoring, research, and automating structured Facebook video data collection",
    "version": "0.1",
    "x-build-id": "KGZY1Y2EVgnDN9k3l"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/simpleapi~facebook-videos-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-simpleapi-facebook-videos-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/simpleapi~facebook-videos-scraper/runs": {
      "post": {
        "operationId": "runs-sync-simpleapi-facebook-videos-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/simpleapi~facebook-videos-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-simpleapi-facebook-videos-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": {
          "startUrls": {
            "title": "🎯 Creator Profiles, Pages Or Reel URLs",
            "type": "array",
            "description": "🧭 Mix freely: a creator/page URL (https://www.facebook.com/natgeo), a reels tab (https://www.facebook.com/nba/reels/), a single reel (https://www.facebook.com/reel/2429400350831482), or a bare video ID (2429400350831482). Page URLs are enumerated via the public reels surface; reel URLs are scraped directly. Example: one page URL + maxReelsPerProfile=10 → up to 10 reels.",
            "items": {
              "type": "string"
            }
          },
          "urls": {
            "title": "🔗 Legacy URL List (compatibility)",
            "type": "array",
            "description": "♻️ Backward-compatible input for existing runs and integrations. Anything placed here is scraped in addition to 🎯 above and accepts the same URL shapes. Leave empty if you are using 🎯.",
            "items": {
              "type": "string"
            }
          },
          "maxReelsPerProfile": {
            "title": "📚 Reels To Take Per Creator Page",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "🔢 Cap on how many reel IDs are taken from each creator/page URL. Measured public yield is about 10 reel IDs per page fetch on active pages (natgeo, BuzzFeedTasty, nba, LADbible) and 0 on pages that publish no reels. Set 0 for no cap. Default is 10.",
            "default": 10
          },
          "fetchProfileReelDetails": {
            "title": "🎞️ Fetch Full Details For Discovered Reels",
            "type": "boolean",
            "description": "✅ On: each discovered reel ID is fetched so the row carries formats, duration, thumbnail and engagement (1 request per reel). ❌ Off: rows contain the reel ID and URL only, with no extra requests — useful for cheap catalog listing. Default is on.",
            "default": true
          },
          "expandSiblingReels": {
            "title": "🧩 Harvest Sibling Reels (no extra requests)",
            "type": "boolean",
            "description": "♻️ Every reel page already embeds 5 more reels from the same creator, which the original scraper downloaded and threw away. Measured: exactly 5 siblings on every page tested, same creator only — this does not crawl a whole account. Example: 1 reel URL → about 6 rows for 1 request. Default is on.",
            "default": true
          },
          "fetchFullSiblingRows": {
            "title": "⬇️ Upgrade Sibling Rows To Full Detail",
            "type": "boolean",
            "description": "📥 Off (default): sibling rows are free and carry ID, creator ID, URL and engagement counts. On: each sibling is fetched too so it gets formats, duration and thumbnail — costs 1 extra request per sibling (about 5 per input reel).",
            "default": false
          },
          "maxItems": {
            "title": "🔢 Maximum Rows To Return",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "🛑 Hard stop across the whole run, counting input reels, siblings and discovered reels together. Rows are deduplicated by video ID first. Example: 2 page URLs + maxItems=25 → the run stops at 25 rows. Set 0 for unlimited. Default is 0.",
            "default": 0
          },
          "minReactions": {
            "title": "👍 Minimum Reactions",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "📈 Drop videos below this reaction total. Reactions are read against the video's own decoded story token, so the number belongs to that video and not to a neighbouring one. Rows whose reaction count could not be resolved are dropped when this is above 0. Set 0 to keep everything. Default is 0.",
            "default": 0
          },
          "requestUserAgent": {
            "title": "🖥️ Request User Agent",
            "enum": [
              "chrome",
              "facebookexternalhit"
            ],
            "type": "string",
            "description": "🧪 Chrome returns richer pages (DASH representations plus progressive MP4). The crawler user agent returns progressive MP4 only and no DASH manifest. Change this only if you are debugging. Default is Chrome.",
            "default": "chrome"
          },
          "concurrency": {
            "title": "⚡ Parallel Requests",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "🚀 How many Facebook pages are fetched at the same time. Lower this if you start seeing blocks. Example: concurrency=5 with a 10-reel page → 2 waves. Default is 5.",
            "default": 5
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy Configuration",
            "type": "object",
            "description": "🛡️ Optional. Use Apify Proxy (residential or datacenter) or your own proxy URLs. If a request looks blocked the actor retries on a residential IP before the first row for that target is written. Leave disabled for a direct connection."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}