{
  "openapi": "3.0.1",
  "info": {
    "title": "Facebook Events Scraper⚡",
    "description": "✨ Scrape Facebook events from keyword searches, direct event links, Facebook explore feeds, page/profile event tabs, hosted-event tabs, and group event lists. Output includes title, schedule, attendance, organizer, tickets, location, description, image, and external links ✨ Facebook Events Scraper⚡",
    "version": "1.0",
    "x-build-id": "XfXTT4l1SBG6pXJex"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/premiumscraper~facebook-events-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-premiumscraper-facebook-events-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/premiumscraper~facebook-events-scraper/runs": {
      "post": {
        "operationId": "runs-sync-premiumscraper-facebook-events-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/premiumscraper~facebook-events-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-premiumscraper-facebook-events-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": {
          "searchQueries": {
            "title": "🔎 Search Keywords",
            "type": "array",
            "description": "Optional plain-text event searches such as comedy, startup london, or music paris. Use this field when you want the actor to build the Facebook event search query for you instead of placing search URLs in the URL list.",
            "items": {
              "type": "string"
            }
          },
          "max_events": {
            "title": "📦 Maximum Exported Events Per Source",
            "minimum": 1,
            "type": "integer",
            "description": "Set the exported-row target for each keyword search, username-expanded event tab, search URL, explore URL, page or profile event tab, hosted-event tab, or group event list. Filtered search sources keep paging until that many matching rows are exported or Facebook has no more public matches. Direct event URLs still return one row.",
            "default": 5
          },
          "proxyCountry": {
            "title": "🌍 Proxy Country",
            "enum": [
              "US",
              "GB",
              "AU",
              "CA",
              "DE",
              "FR",
              "NL",
              "IT",
              "ES",
              "SE",
              "NO",
              "DK",
              "FI",
              "BE",
              "AT",
              "CH",
              "IE",
              "PL",
              "PT",
              "CZ",
              "HU",
              "RO",
              "GR",
              "BG",
              "HR",
              "SK",
              "RS",
              "JP",
              "KR",
              "SG",
              "HK",
              "TW",
              "TH",
              "MY",
              "ID",
              "PH",
              "VN",
              "IN",
              "BR",
              "MX",
              "AR",
              "CL",
              "CO",
              "PE",
              "ZA",
              "NG",
              "KE",
              "EG",
              "SA",
              "AE",
              "TR",
              "IL",
              "UA",
              "RU",
              "BY"
            ],
            "type": "string",
            "description": "Choose the residential proxy exit country for Facebook requests. US is usually the best default for broad public event coverage. If one country returns sparse public data, switch to US or another nearby market.",
            "default": "US"
          },
          "username": {
            "title": "👤 Page Or Profile Username(s)",
            "type": "array",
            "description": "Optional Facebook page or profile usernames such as Cristiano, nike, or alarabiya.english. When Include Username Events is enabled, each username expands into the public /events, /upcoming_hosted_events, and /past_hosted_events tabs before scraping.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "🔗 URLs To Start With",
            "type": "array",
            "description": "Provide direct Facebook event URLs, Facebook event search URLs, explore URLs, explicit page or profile event tabs, explicit hosted-event tabs, group event lists, raw page or profile URLs, raw group URLs, bare facebook.com/... links, or prefiltered Facebook event search URLs here. Raw page or profile URLs expand into /events, /upcoming_hosted_events, and /past_hosted_events when the matching include toggle is enabled. Raw group URLs expand into /events plus group past or upcoming-style routes when Facebook exposes them publicly.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "online_only": {
            "title": "💻 Online Events Only",
            "type": "boolean",
            "description": "Turn on Facebook's Online filter for keyword searches and standard Facebook event search URLs. When active, the actor keeps only exported rows that still qualify as online events.",
            "default": false
          },
          "paid_only": {
            "title": "💳 Paid Events Only",
            "type": "boolean",
            "description": "Turn on Facebook's Paid filter for keyword searches and standard Facebook event search URLs. When active, the actor keeps only exported rows that still qualify as paid events.",
            "default": false
          },
          "event_category": {
            "title": "🏷️ Primary Event Category",
            "enum": [
              "Classics",
              "Comedy",
              "Crafts",
              "Dance",
              "Drinks",
              "Fitness & workouts",
              "Foods",
              "Games",
              "Gardening",
              "Health & medical",
              "Healthy living and self-care",
              "Home and garden",
              "Music and audio",
              "Parties",
              "Professional networking",
              "Religions",
              "Shopping",
              "Social issues",
              "Sports",
              "TV and films",
              "Theatre",
              "Visual arts"
            ],
            "type": "string",
            "description": "Choose one public Facebook event category to narrow keyword searches and standard Facebook event search URLs. The actor keeps only exported rows that still match that category after discovery."
          },
          "exact_match": {
            "title": "🎯 Exact Match Search",
            "type": "boolean",
            "description": "Turn on exact-match mode for keyword searches and standard Facebook event search URLs. When enabled, the actor keeps only exported rows whose event title still contains all query words after discovery.",
            "default": false
          },
          "event_date_preset": {
            "title": "📅 Date Preset",
            "enum": [
              "today",
              "tomorrow",
              "this_week",
              "this_weekend",
              "next_week",
              "next_weekend",
              "next_month"
            ],
            "type": "string",
            "description": "Optional preset date filter for keyword searches and standard Facebook event search URLs. Leave this empty to scrape across any public event date, or select one preset when you want Facebook discovery limited to that time window."
          },
          "event_start_date": {
            "title": "🗓️ Custom Start Date",
            "type": "string",
            "description": "Optional custom search start date in YYYY-MM-DD. Setting this field activates the date filter directly, with or without a Custom End Date."
          },
          "event_end_date": {
            "title": "🗓️ Custom End Date",
            "type": "string",
            "description": "Optional custom search end date in YYYY-MM-DD. If you leave it empty, the actor treats the Custom Start Date as a single-day filter."
          },
          "include_username_events": {
            "title": "✅ Include Username Events",
            "type": "boolean",
            "description": "Turn this on to convert each page or profile username into its public /events, /upcoming_hosted_events, and /past_hosted_events tabs before discovery. When off, usernames are skipped and the actor logs how to enable them.",
            "default": true
          },
          "include_page_profile_events": {
            "title": "✅ Include Page Or Profile Link Events",
            "type": "boolean",
            "description": "Turn this on to convert raw public page or profile URLs such as https://www.facebook.com/Cristiano or facebook.com/Cristiano into the /events, /upcoming_hosted_events, and /past_hosted_events tabs before discovery. When off, raw page or profile links are skipped and the actor logs how to enable them.",
            "default": true
          },
          "include_group_events": {
            "title": "✅ Include Group Link Events",
            "type": "boolean",
            "description": "Turn this on to convert raw public group URLs such as https://www.facebook.com/groups/1074192933712551 or facebook.com/groups/1074192933712551 into /groups/.../events and group past or upcoming-style routes before discovery. When off, raw group links are skipped and the actor logs how to enable them. Public group past or upcoming routes still depend on what Facebook exposes for that group.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}