{
  "openapi": "3.0.1",
  "info": {
    "title": "Eventbrite Scraper - Events, Ticket Prices & Sold-Out Monitor",
    "description": "For event aggregators, newsletters and ticket-market research: Eventbrite events by city, keyword, category, date and free/paid, with venue, organizer, the price range buyers see and ticket status (sold out, cancelled, postponed). Keyword matches are checked. Monitor: only new events and changes.",
    "version": "0.1",
    "x-build-id": "ZRX6TjY7SPyu7Imy3"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/neverempty~eventbrite-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-neverempty-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/neverempty~eventbrite-scraper/runs": {
      "post": {
        "operationId": "runs-sync-neverempty-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/neverempty~eventbrite-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-neverempty-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": "Where to search. \"City, ST\" in the US (Austin, TX), \"City, Country\" elsewhere (London, United Kingdom; Berlin, Germany), \"online\" for online events, or the part after /d/ in an Eventbrite search link (ny--new-york). Each location is searched with each keyword (up to 10 searches per run). Leave Locations, Keywords and Event links all empty to run the example search New York, NY.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Optional search words, for example jazz, wine tasting, startup, yoga. Eventbrite ranks by the keyword but also fills the list with other events; with \"Only events that match the keyword\" on (the default) only events whose title, summary, category or tags contain every word are returned.",
            "items": {
              "type": "string"
            }
          },
          "category": {
            "title": "Category",
            "enum": [
              "business",
              "food-and-drink",
              "health",
              "music",
              "auto-boat-and-air",
              "charity-and-causes",
              "community",
              "family-and-education",
              "fashion",
              "film-and-media",
              "hobbies",
              "home-and-lifestyle",
              "arts",
              "government",
              "spirituality",
              "school-activities",
              "science-and-tech",
              "holiday",
              "sports-and-fitness",
              "travel-and-outdoor",
              "other"
            ],
            "type": "string",
            "description": "Optional. One Eventbrite category. Empty = all categories."
          },
          "dateRange": {
            "title": "Date range",
            "enum": [
              "today",
              "tomorrow",
              "this-weekend",
              "this-week",
              "next-week",
              "this-month",
              "next-month"
            ],
            "type": "string",
            "description": "Optional. Eventbrite's own date filter. Use this or Start date / End date, not both. Empty = all upcoming events."
          },
          "startDate": {
            "title": "Start date",
            "type": "string",
            "description": "Optional. Events on or after this date (YYYY-MM-DD). Without an End date, only this day."
          },
          "endDate": {
            "title": "End date",
            "type": "string",
            "description": "Optional. Events on or before this date (YYYY-MM-DD). Needs a Start date."
          },
          "price": {
            "title": "Free or paid",
            "enum": [
              "free",
              "paid"
            ],
            "type": "string",
            "description": "Optional. Empty = both."
          },
          "maxResultsPerSearch": {
            "title": "Max events per search",
            "minimum": 1,
            "maximum": 980,
            "type": "integer",
            "description": "Most events returned for one search (one location with one keyword). Eventbrite shows at most 980 (49 pages) for one search. Empty = 20. In monitor mode it limits the new events returned per search in one run; the rest come in the next run."
          },
          "includeDetails": {
            "title": "Open each event page (price, ticket status, organizer)",
            "type": "boolean",
            "description": "On (default): each returned event's page is opened for the price range and currency, ticket status (on sale, sold out, sales ended, not yet on sale, cancelled, postponed), organizer name and page, UTC times and full address. Off: faster, from the search list only (no price, ticket status or organizer name). Monitor mode needs it on to see price and status changes.",
            "default": true
          },
          "onlyKeywordMatches": {
            "title": "Only events that match the keyword",
            "type": "boolean",
            "description": "On (default): return only events whose title, summary, category or tags contain every word of the keyword, and stop a search after 3 list pages in a row without a match. Off: return Eventbrite's list as it is (every row still has keywordMatch true/false).",
            "default": true
          },
          "eventUrls": {
            "title": "Event links",
            "type": "array",
            "description": "Optional. Eventbrite event links or event IDs (up to 50), for example https://www.eventbrite.com/e/...-tickets-1995478167917. Each is opened and returned; in monitor mode only when its price, ticket status, start time, venue or title changed.",
            "items": {
              "type": "string"
            }
          },
          "onlyNew": {
            "title": "Monitor mode: only new and changed events",
            "type": "boolean",
            "description": "On: every run reads the whole list of each search and returns only events that were not on it at the previous check (new), and remembered events whose price, ticket status (sold out, cancelled, postponed...), start time, venue or title changed (changed, with the previous values). Each run re-opens up to 30 remembered events: those whose list entry changed or that left the list first, then the ones checked longest ago. The first run returns up to Max events per search and remembers the whole list. Runs with nothing new return a free row saying so. A search with more events than Eventbrite shows (980) cannot be watched completely and returns a free row asking to narrow it. Off = return the list as it is now."
          },
          "watchName": {
            "title": "Watch name",
            "type": "string",
            "description": "Optional. Keeps separate memories for monitor mode, for example one per client (letters, digits, dot, dash, underscore; up to 40). Runs with the same watch name and the same search share what has already been returned."
          },
          "resetMonitoringState": {
            "title": "Start the watch again",
            "type": "boolean",
            "description": "On: forget what this watch has seen for these searches and event links before running, so this run is a first check again."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}