{
  "openapi": "3.0.1",
  "info": {
    "title": "Facebook Video Search Scraper With Views & Engagement",
    "description": "Search and scrape Facebook videos with the Facebook Video Search Scraper. Extract video URLs, titles, descriptions, upload dates, views, reactions, and comments by keyword or page. Ideal for trend tracking, content research, and social media analysis. Fast, reliable, and scalable.",
    "version": "0.1",
    "x-build-id": "GPsbS4mhavhdxhnAu"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapier~facebook-video-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapier-facebook-video-search-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/scrapier~facebook-video-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapier-facebook-video-search-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/scrapier~facebook-video-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapier-facebook-video-search-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",
        "required": [
          "startUrls"
        ],
        "properties": {
          "startUrls": {
            "title": "🔑 Keywords & topics (one per line)",
            "type": "array",
            "description": "One search phrase per line — for example `cricket highlights`, `street food`, `tesla`. Each line is searched separately and every result row carries the keyword it came from. Plain keywords work best; a long sentence is searched literally.",
            "items": {
              "type": "string"
            }
          },
          "maxVideos": {
            "title": "🎯 Videos per keyword",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "How many videos to keep for each keyword (1–1000). Rows removed by the minimum-views / minimum-reactions filters do not count towards this number, so a filtered run keeps paging until it has enough matches or Facebook runs out of results.",
            "default": 10
          },
          "fetchExactViewCounts": {
            "title": "👁️ Fetch exact view & play counts",
            "type": "boolean",
            "description": "Opens each video's own page to read Facebook's exact view count and play count integers — the two numbers the search grid never shows. Costs one extra request per video. Turn it off for the fastest possible run: reactions, shares, comments and the approximate view count parsed from the tile are still returned.",
            "default": true
          },
          "maxExactViewFetches": {
            "title": "🔢 Maximum exact-count lookups per run",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Upper bound on how many videos get the extra exact view/play lookup in one run. Videos beyond this number are still returned in full — they carry fetchStatus `skipped_limit` and no exact view count. Set it to match your budget.",
            "default": 60
          },
          "includeReactionBreakdown": {
            "title": "❤️ Include reactions split by type",
            "type": "boolean",
            "description": "Adds the reactions list — Like / Love / Care / Haha / Wow / Sad / Angry with a count each — plus the top reaction type. Turn it off if you only want the reaction total.",
            "default": true
          },
          "includeMediaUrls": {
            "title": "🎞️ Include playable media links",
            "type": "boolean",
            "description": "Adds SD / HD / DASH stream links, pixel width and height, the subtitle-track URL and the live-stream flag. Available on the videos Facebook returns in story form; the links are time-limited and signed by Facebook.",
            "default": false
          },
          "minViews": {
            "title": "📈 Minimum views",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Drop any video below this view count. Compared against the exact view count when it was fetched, otherwise against the approximate count parsed from the tile. Videos with no view number at all are dropped when this is above 0. Leave at 0 for no filter.",
            "default": 0
          },
          "minReactions": {
            "title": "👍 Minimum reactions",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Drop any video with fewer total reactions than this. Videos with no reaction number available are dropped when this is above 0. Leave at 0 for no filter.",
            "default": 0
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy",
            "type": "object",
            "description": "Your proxy selection is used as-is. Facebook rate-limits the paginated search API from datacenter addresses, so Residential is the default and the fallback whenever another tier stops returning results."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}