{
  "openapi": "3.0.1",
  "info": {
    "title": "Eventbrite Events Scraper",
    "description": "Scrape Eventbrite events by city, keyword, category, format, price and date, past the 1,000-result limit. Venues with coordinates, ticket prices, sales status and organizer websites and socials. Monitoring mode emits only new events.",
    "version": "1.0",
    "x-build-id": "dpaYaF2UmzWlk7UDt"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/trev0n~eventbrite-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-trev0n-eventbrite-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/trev0n~eventbrite-scraper/runs": {
      "post": {
        "operationId": "runs-sync-trev0n-eventbrite-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/trev0n~eventbrite-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-trev0n-eventbrite-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": {
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Cities, regions or countries, as you would type them: \"New York\", \"London\", \"Berlin, Germany\", \"Toronto, Canada\", \"United States\". Add the country when a city name is ambiguous. Eventbrite place slugs such as \"ny--new-york\" also work.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "onlineOnly": {
            "title": "Online events only",
            "type": "boolean",
            "description": "Search Eventbrite's online events instead of a place. The locations list is ignored.",
            "default": false
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Search terms such as \"AI\", \"startup\", \"yoga\" or \"jazz\". Each keyword runs as its own search in every location. When you also pick a category, format, price or date preset, Eventbrite cannot combine them in one search, so the keywords are then applied as a filter on the results instead.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Eventbrite categories. Each category runs as its own search. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "business",
                "science-and-tech",
                "music",
                "film-and-media",
                "arts",
                "fashion",
                "health",
                "sports-and-fitness",
                "travel-and-outdoor",
                "food-and-drink",
                "charity-and-causes",
                "government",
                "community",
                "spirituality",
                "family-and-education",
                "holiday",
                "home-and-lifestyle",
                "auto-boat-and-air",
                "hobbies",
                "school-activities",
                "other"
              ],
              "enumTitles": [
                "Business & Professional",
                "Science & Technology",
                "Music",
                "Film, Media & Entertainment",
                "Performing & Visual Arts",
                "Fashion & Beauty",
                "Health & Wellness",
                "Sports & Fitness",
                "Travel & Outdoor",
                "Food & Drink",
                "Charity & Causes",
                "Government & Politics",
                "Community & Culture",
                "Religion & Spirituality",
                "Family & Education",
                "Seasonal & Holiday",
                "Home & Lifestyle",
                "Auto, Boat & Air",
                "Hobbies & Special Interest",
                "School Activities",
                "Other"
              ]
            },
            "default": []
          },
          "formats": {
            "title": "Formats",
            "type": "array",
            "description": "Event formats such as conferences, classes or networking. Combined with every category you pick.",
            "items": {
              "type": "string",
              "enum": [
                "conferences",
                "seminars",
                "expos",
                "conventions",
                "festivals",
                "performances",
                "screenings",
                "galas",
                "classes",
                "networking",
                "parties",
                "rallies",
                "games",
                "races",
                "tours",
                "attractions",
                "retreats",
                "appearances"
              ],
              "enumTitles": [
                "Conference",
                "Seminar or Talk",
                "Tradeshow, Consumer Show or Expo",
                "Convention",
                "Festival or Fair",
                "Concert or Performance",
                "Screening",
                "Dinner or Gala",
                "Class, Training or Workshop",
                "Meeting or Networking Event",
                "Party or Social Gathering",
                "Rally",
                "Game or Competition",
                "Race or Endurance Event",
                "Tour",
                "Attraction",
                "Camp, Trip or Retreat",
                "Appearance or Signing"
              ]
            },
            "default": []
          },
          "price": {
            "title": "Price",
            "enum": [
              "",
              "free",
              "paid"
            ],
            "type": "string",
            "description": "Free or paid events only.",
            "default": ""
          },
          "datePreset": {
            "title": "When",
            "enum": [
              "",
              "today",
              "tomorrow",
              "this-weekend",
              "this-week",
              "next-week",
              "this-month",
              "next-month"
            ],
            "type": "string",
            "description": "Eventbrite's own date windows, in each event's local time. Leave on \"Custom range\" to use the dates below.",
            "default": ""
          },
          "startDate": {
            "title": "From date",
            "type": "string",
            "description": "First day to include (YYYY-MM-DD). Defaults to today.",
            "default": ""
          },
          "endDate": {
            "title": "To date",
            "type": "string",
            "description": "Last day to include (YYYY-MM-DD). Defaults to one year from today.",
            "default": ""
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Paste Eventbrite search pages (/d/{place}/{what}/) or event pages (/e/…). Search pages are paged through; event pages are fetched in full.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many events (counted after filters). Set 0 for every event the searches return.",
            "default": 100
          },
          "splitLargeSearches": {
            "title": "Go past Eventbrite's 1,000-event limit",
            "type": "boolean",
            "description": "Eventbrite shows at most 1,000 events per search. When a search has more and you asked for more, the date range is split into smaller parts so every event can be collected.",
            "default": true
          },
          "maxPagesPerSearch": {
            "title": "Maximum pages per search part",
            "minimum": 0,
            "type": "integer",
            "description": "Extra safety cap, 20 events a page. 0 means no cap.",
            "default": 0
          },
          "maxConcurrency": {
            "title": "Pages in parallel",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many search pages load at the same time, across all searches and date ranges.",
            "default": 5
          },
          "includeKeywords": {
            "title": "Must contain any of these words",
            "type": "array",
            "description": "Keep only events whose name, summary, category or tags mention at least one of these.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Must not contain any of these words",
            "type": "array",
            "description": "Drop events whose name, summary, category or tags mention any of these.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeCancelled": {
            "title": "Skip cancelled events",
            "type": "boolean",
            "description": "Drop events Eventbrite marks as cancelled.",
            "default": true
          },
          "excludeOnline": {
            "title": "Skip online events",
            "type": "boolean",
            "description": "Keep only in-person events in the locations you searched.",
            "default": false
          },
          "languages": {
            "title": "Languages",
            "type": "array",
            "description": "Keep only events in these languages, e.g. \"en\", \"de\", \"es\". Leave empty for all.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "includeDetails": {
            "title": "Add prices & full details",
            "type": "boolean",
            "description": "Opens each event page for the ticket price range and currency, free/paid, sales status, refund policy, duration, age limit, full description and the organizer's name, event count and total attendees. Charged per event.",
            "default": false
          },
          "includeOrganizers": {
            "title": "Add organizer contact profiles",
            "type": "boolean",
            "description": "Opens each organizer's profile once for their website, Facebook, X, Instagram and LinkedIn links, follower count, bio and upcoming-event count. Charged once per organizer.",
            "default": false
          },
          "descriptionFormat": {
            "title": "Description format",
            "enum": [
              "text",
              "html",
              "none"
            ],
            "type": "string",
            "description": "Format of the full description added with event details.",
            "default": "text"
          },
          "descriptionMaxLength": {
            "title": "Truncate descriptions to (characters)",
            "minimum": 0,
            "type": "integer",
            "description": "0 keeps the full description.",
            "default": 0
          },
          "detailConcurrency": {
            "title": "Page concurrency",
            "minimum": 1,
            "maximum": 15,
            "type": "integer",
            "description": "How many event or organizer pages to open at once.",
            "default": 5
          },
          "compact": {
            "title": "Compact output",
            "type": "boolean",
            "description": "Twelve essential fields per event instead of the full record.",
            "default": false
          },
          "excludeEmptyFields": {
            "title": "Drop empty fields",
            "type": "boolean",
            "description": "Removes fields that came back empty.",
            "default": false
          },
          "incrementalMode": {
            "title": "Incremental monitoring",
            "type": "boolean",
            "description": "Remember what previous runs saw and emit only new, updated or reappeared events. The first run stores a baseline; later runs emit far fewer records, and you pay only for those.",
            "default": false
          },
          "stateKey": {
            "title": "Monitoring state key",
            "type": "string",
            "description": "Name the baseline this run compares against. Leave empty to derive one from the searches.",
            "default": ""
          },
          "emitUnchanged": {
            "title": "Also emit unchanged events",
            "type": "boolean",
            "description": "Also emit events that have not changed since the previous run.",
            "default": false
          },
          "emitExpired": {
            "title": "Also emit events that disappeared",
            "type": "boolean",
            "description": "Emit a record for every event that was in the baseline but is gone now.",
            "default": false
          },
          "skipReposts": {
            "title": "Skip reposts",
            "type": "boolean",
            "description": "Drop events that are an expired listing re-posted under a new ID.",
            "default": false
          },
          "webhookUrl": {
            "title": "Webhook URL",
            "type": "string",
            "description": "POSTs the run summary and emitted events as JSON.",
            "default": ""
          },
          "telegramBotToken": {
            "title": "Telegram bot token",
            "type": "string",
            "description": "Bot token from @BotFather. Stored encrypted."
          },
          "telegramChatId": {
            "title": "Telegram chat ID",
            "type": "string",
            "description": "The chat or channel the Telegram bot should post into.",
            "default": ""
          },
          "discordWebhookUrl": {
            "title": "Discord webhook URL",
            "type": "string",
            "description": "Discord channel webhook. Stored encrypted."
          },
          "slackWebhookUrl": {
            "title": "Slack webhook URL",
            "type": "string",
            "description": "Slack incoming webhook. Stored encrypted."
          },
          "notifyOnlyChanges": {
            "title": "Only notify when something changed",
            "type": "boolean",
            "description": "Stay silent when a monitoring run finds nothing new.",
            "default": true
          },
          "notificationLimit": {
            "title": "Events listed per notification",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many events each notification lists before it summarises the rest.",
            "default": 10
          },
          "includeRunSummary": {
            "title": "Include the run summary in webhooks",
            "type": "boolean",
            "description": "Attach the run statistics to the webhook payload.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "No proxy is the default and the fastest, cheapest setting. Apify's shared datacenter proxies are refused by Eventbrite, so do not pick them.",
            "default": {
              "useApifyProxy": false
            }
          },
          "proxyFallback": {
            "title": "Switch to residential proxies when blocked",
            "type": "boolean",
            "description": "If Eventbrite starts refusing requests during a long run, the rest of the run continues through Apify residential proxies instead of losing results.",
            "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}