{
  "openapi": "3.0.1",
  "info": {
    "title": "Facebook Event Search Scraper: Upcoming, Past & Recurring",
    "description": "Facebook Event Search Scraper finds upcoming, past, and recurring Facebook events with key details such as event names, dates, locations, descriptions, organizers, and event URLs. Ideal for event discovery, competitor research, local marketing, audience analysis, and lead generation.",
    "version": "0.1",
    "x-build-id": "2xagaeCCAdetDcZQv"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapier~facebook-event-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapier-facebook-event-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-event-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapier-facebook-event-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-event-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapier-facebook-event-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",
        "properties": {
          "eventTopics": {
            "title": "🎯 Event topics",
            "type": "array",
            "description": "Topics or phrases to search, one per line — for example \"conference\", \"yoga retreat\", \"art exhibition\". Short, specific phrases work best.",
            "items": {
              "type": "string"
            }
          },
          "resultsPerTopic": {
            "title": "🔢 Matching events per topic",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "How many MATCHING events to keep for each topic. Filters are applied to the resolved date, so a narrow window keeps looking further down the results until it has this many matches or the topic runs out."
          },
          "dateFrom": {
            "title": "📆 Earliest event date",
            "type": "string",
            "description": "Keep only events starting on or after this date. Accepts a date such as 2026-09-01, a distance into the past such as \"7 days\", or a signed distance such as \"+15 days\" to start the window in the future."
          },
          "dateTo": {
            "title": "📆 Latest event date",
            "type": "string",
            "description": "Keep only events starting on or before this date. Accepts a date such as 2026-09-30, a distance into the future such as \"30 days\", or a signed distance such as \"-1 day\" to end the window in the past."
          },
          "eventTiming": {
            "title": "⏳ Upcoming or past",
            "enum": [
              "both",
              "upcoming",
              "past"
            ],
            "type": "string",
            "description": "Split the results by whether the resolved start date is still ahead or already behind. This uses the reconciled date, not the listing's own past/upcoming marker, which is wrong on repeating events."
          },
          "recurringPolicy": {
            "title": "🔁 Repeating events",
            "enum": [
              "include",
              "exclude",
              "only"
            ],
            "type": "string",
            "description": "A repeating event publishes a next date plus a count of further occurrences. Choose whether those events are kept, removed, or the only ones you want."
          },
          "emitScheduleBreakdown": {
            "title": "🧾 Add the schedule breakdown columns",
            "type": "boolean",
            "description": "Adds the published schedule line, the local start text, the timezone label as written, the number of further occurrences, and whether the entry covers a range of days."
          },
          "reportScheduleDiscrepancy": {
            "title": "🔍 Report the schedule correction",
            "type": "boolean",
            "description": "Adds the columns that show which source the start date came from, the listing's own raw date, whether that raw date was the first date of a repeating series, and how many days the two sources disagreed by."
          },
          "startUrls": {
            "title": "🔎 Search terms (original key)",
            "type": "array",
            "description": "Same meaning as Event topics. Used only when Event topics is left empty.",
            "items": {
              "type": "string"
            }
          },
          "maxEvents": {
            "title": "📊 Events per keyword (original key)",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Same meaning as Matching events per topic. Used only when that field is left empty."
          },
          "proxyConfiguration": {
            "title": "🌍 Network",
            "type": "object",
            "description": "Choose how the run connects. Leaving it switched off keeps the run on 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}