{
  "openapi": "3.0.1",
  "info": {
    "title": "Eventbrite Scraper | Events & Organizer Leads",
    "description": "Eventbrite scraper API for events and organizer leads. Search by city, keyword, category, date or URL. Get ticket prices, venues and optional organizer websites/socials. Export CSV, JSON, Excel or ICS. Batch cities; skip delivered events. Standard-run usage included. Independent tool; see Pricing.",
    "version": "0.9",
    "x-build-id": "3nVVWKPkx21hHwdvH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/peerless_columbine~eventbrite-events-organizers-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-peerless_columbine-eventbrite-events-organizers-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/peerless_columbine~eventbrite-events-organizers-scraper/runs": {
      "post": {
        "operationId": "runs-sync-peerless_columbine-eventbrite-events-organizers-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/peerless_columbine~eventbrite-events-organizers-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-peerless_columbine-eventbrite-events-organizers-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": {
          "inputMode": {
            "title": "Choose how to find events",
            "enum": [
              "auto",
              "urls",
              "search"
            ],
            "type": "string",
            "description": "In Auto, pasted startUrl values take priority over the sample city and search filters; ignored settings are listed in SUMMARY. Batch cities take priority over the sample single city. API calls without inputMode retain strict conflict validation."
          },
          "city": {
            "title": "City slug",
            "type": "string",
            "description": "Choose a suggested city or enter an Eventbrite city slug. In Auto mode a pasted URL or batch cities takes priority over this field."
          },
          "startUrl": {
            "title": "Event, search or organizer URLs",
            "type": "array",
            "description": "Public /e/ event, /d/ search or /o/ organizer upcoming-event URLs as objects with a url field. Platform input requires URL objects; string URLs are a local-runtime extension. Mutually exclusive with search filters. No remote URL-list downloads.",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "title": "URL",
                  "type": "string",
                  "description": "Public Eventbrite HTTPS event, search or organizer profile URL. Host, path, redirect and event identity checks apply at runtime.",
                  "maxLength": 4096
                }
              },
              "required": [
                "url"
              ],
              "additionalProperties": false
            }
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Strict run-wide maximum output rows: events in events mode, unique organizers in organizers mode. Runtime default 10. Collection, page, request and fee limits still apply.",
            "default": 10
          },
          "outputMode": {
            "title": "Output rows",
            "enum": [
              "events",
              "organizers"
            ],
            "type": "string",
            "description": "Events preserves the event output. Organizers returns one row per verified organizer across the sampled events, with profile links, published metrics, sampled event IDs, cities and currency-separated ticket ranges. No global history count is inferred from the sample.",
            "default": "events"
          },
          "cities": {
            "title": "Multiple city slugs",
            "maxItems": 20,
            "type": "array",
            "description": "Batch up to 20 Eventbrite city/place slugs, e.g. ny--new-york and united-kingdom--london. Clear city, country, online and startUrl. Use maxItemsPerTarget to sample more than one city before the global maxItems limit.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country slug (optional)",
            "type": "string",
            "description": "Eventbrite country slug, e.g. united-states, united-kingdom or spain. US city names require state except verified New York -> ny--new-york. Without city searches that country. Uses explicit source routes, not geocoding."
          },
          "state": {
            "title": "US state code (with country + city)",
            "type": "string",
            "description": "With country united-states and a city name, provide the two-letter state code, e.g. TX + Dallas. New York is a source-verified NYC alias. Other US names without a state are rejected to avoid accidentally searching a state instead of a city."
          },
          "keyword": {
            "title": "Search phrase",
            "type": "string",
            "description": "Eventbrite relevance-search phrase, e.g. startup or jazz; not a literal title substring filter. Optional with city search. Omit when startUrl is supplied."
          },
          "category": {
            "title": "Category",
            "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"
            ],
            "type": "string",
            "description": "Source taxonomy filter; checked against the returned category tag."
          },
          "date": {
            "title": "Relative date",
            "enum": [
              "today",
              "tomorrow",
              "this-weekend",
              "this-week",
              "next-week",
              "this-month",
              "next-month"
            ],
            "type": "string",
            "description": "Require event local start date in the selected period after applying source date search. Weekend means Saturday-Sunday. Cannot combine with explicit dates. Recurring series parents use their published series start date; next session dates are not inferred."
          },
          "startDate": {
            "title": "Start date",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Extension: inclusive event-local start-date lower bound, YYYY-MM-DD; requires endDate. Recurring series parents use their published series start date; next session dates are not inferred."
          },
          "endDate": {
            "title": "End date",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Extension: inclusive event-local start-date upper bound, YYYY-MM-DD; requires startDate. Recurring series parents use their published series start date; next session dates are not inferred."
          },
          "format": {
            "title": "Event format",
            "enum": [
              "conference",
              "seminar",
              "expo",
              "convention",
              "festival",
              "concert",
              "performance",
              "screening",
              "gala",
              "class",
              "party",
              "rally",
              "tournament",
              "game",
              "race",
              "tour",
              "retreat",
              "appearance",
              "networking"
            ],
            "type": "string",
            "description": "Eventbrite format taxonomy; source filter must be acknowledged."
          },
          "price": {
            "title": "Ticket price filter",
            "enum": [
              "free",
              "paid"
            ],
            "type": "string",
            "description": "free requires a confirmed free ticket option (may have paid tickets too); paid requires a confirmed paid ticket option."
          },
          "online": {
            "title": "Online events",
            "type": "boolean",
            "description": "Use the global online search. When true, city is not applied and SUMMARY explicitly records that scope.",
            "default": false
          },
          "retrieveOrganizerData": {
            "title": "Read organizer profiles",
            "type": "boolean",
            "description": "Visit each public organizer profile once per run for its website, published social links and available metrics. Organizers output mode enables this automatically. No external websites are visited.",
            "default": false
          },
          "websiteFilter": {
            "title": "Organizer website filter",
            "enum": [
              "any",
              "withWebsite",
              "withoutWebsite"
            ],
            "type": "string",
            "description": "Organizers mode only. Keep all organizers, only those with a published website, or those without one. Filtered organizers are not stored or charged."
          },
          "minFollowers": {
            "title": "Minimum exact organizer followers",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Organizers mode only. Requires an exact source count; abbreviated counts such as 3.5k remain display text and do not satisfy numeric filters."
          },
          "maxFollowers": {
            "title": "Maximum exact organizer followers",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Organizers mode only. Missing exact counts fail this filter; approximate follower numbers are never invented."
          },
          "minUpcomingEvents": {
            "title": "Minimum reported upcoming organizer events",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Organizers mode only. Uses the public profile explicitly reported upcoming count, not the number found in this sample. Missing or failed source counts fail this filter."
          },
          "includeBioContacts": {
            "title": "Copy contacts printed in public organizer bio",
            "type": "boolean",
            "description": "Organizers mode only. Copies exact email strings and phone candidates from the organizer public bio. No guessing or external lookup; phone candidates are not validated numbers.",
            "default": false
          },
          "calendarExport": {
            "title": "Export an ICS calendar",
            "type": "boolean",
            "description": "Also write EVENTS.ics in run storage for delivered event rows, using their UTC timestamps. Events mode only; maxItems must be at most 1000. Series parents, unresolved series roles and missing UTC starts are omitted and counted in SUMMARY. No extra Actor fee. A per-run snapshot, not a live calendar subscription.",
            "default": false
          },
          "excludeSeriesParents": {
            "title": "Exclude recurring series parents",
            "type": "boolean",
            "description": "Skip rows explicitly marked isParentEvent=true before delivery and charging. Keeps specific sessions. Unknown parent flags are retained in the dataset; calendar export applies its own stricter safety exclusions. Works with city searches and public URLs.",
            "default": false
          },
          "onlyNewEvents": {
            "title": "Only deliver new rows across sequential runs",
            "type": "boolean",
            "description": "Opt-in persistent deduplication in the calling user account. Skips previously delivered event IDs, or organizer IDs in organizers mode. Skipped rows have no result fee. Does not refresh changed known rows. Do not overlap runs of the same feed; standard-run platform usage is included in the row price.",
            "default": false
          },
          "incrementalKey": {
            "title": "Private feed identifier",
            "type": "string",
            "description": "Optional private feed identifier for sequential delivery checkpoints; stored encrypted by Apify. Use 1-64 letters, digits, underscores or hyphens. Requires onlyNewEvents. Reuse for the same feed; change for fresh history. This is not an API token."
          },
          "maxItemsPerTarget": {
            "title": "Maximum new rows per target",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Optional per-city/URL cap within global maxItems. In organizers mode counts newly discovered organizer rows for that target. Useful for balanced multi-city samples."
          },
          "maxEventsScanned": {
            "title": "Organizer mode: maximum accepted events to scan",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Caps event details inspected in organizers mode before output roll-up. Independent of maxItems (unique organizers), maxRequests and maxPages. Does not change events mode.",
            "default": 100
          },
          "maxPages": {
            "title": "Maximum listing pages per URL",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum search or organizer upcoming-list pages. Stops at the source terminal signal or repeated page; default 20.",
            "default": 20
          },
          "maxRequests": {
            "title": "Maximum HTTP attempts",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Run-wide source HTTP attempt budget, including redirects, details, organizer pages and retries. DNS requests counted separately by the resolver.",
            "default": 100
          },
          "maxRunSecs": {
            "title": "Local run deadline",
            "minimum": 10,
            "maximum": 7200,
            "type": "integer",
            "description": "Collection deadline in seconds. Accepted organizer rows then receive one bounded finalization pass, sharing an extra 30 seconds with diagnostics/calendar. Leave at least 60 extra seconds in the platform timeout for finalization and SDK shutdown. A process kill cannot be recovered.",
            "default": 600
          },
          "requestTimeoutSecs": {
            "title": "Request timeout",
            "minimum": 3,
            "maximum": 60,
            "type": "integer",
            "description": "Maximum seconds per source attempt.",
            "default": 25
          },
          "maxRetries": {
            "title": "Transient retries",
            "minimum": 0,
            "maximum": 3,
            "type": "integer",
            "description": "Retries for network failure and selected 5xx only. Never retry 403, 429 or challenges.",
            "default": 1
          },
          "requestDelaySecs": {
            "title": "Delay between requests",
            "minimum": 0,
            "maximum": 10,
            "type": "number",
            "description": "Sequential collection delay. No concurrent event requests.",
            "default": 0.3
          },
          "domain": {
            "title": "Eventbrite domain",
            "enum": [
              "eventbrite.at",
              "eventbrite.be",
              "eventbrite.ca",
              "eventbrite.ch",
              "eventbrite.co.nz",
              "eventbrite.co.uk",
              "eventbrite.com",
              "eventbrite.com.au",
              "eventbrite.com.br",
              "eventbrite.de",
              "eventbrite.dk",
              "eventbrite.es",
              "eventbrite.fi",
              "eventbrite.fr",
              "eventbrite.hk",
              "eventbrite.ie",
              "eventbrite.it",
              "eventbrite.nl",
              "eventbrite.pt",
              "eventbrite.se",
              "eventbrite.sg"
            ],
            "type": "string",
            "description": "Search website locale. Detail links can legitimately lead to another allowed Eventbrite country domain.",
            "default": "eventbrite.com"
          },
          "dnsMode": {
            "title": "DNS resolution",
            "enum": [
              "system",
              "google-doh"
            ],
            "type": "string",
            "description": "system validates system DNS addresses. google-doh explicitly uses TLS-verified dns.google at 8.8.8.8 and validates every target public IP; useful on local fake-IP networks.",
            "default": "system"
          },
          "diagnosticsEnabled": {
            "title": "Save selected event diagnostics",
            "type": "boolean",
            "description": "Opt-in only: save bounded, sanitized public event response JSON envelopes to KVS, never the dataset. Requires explicit diagnosticEventIds. Does not cause extra source requests.",
            "default": false
          },
          "diagnosticEventIds": {
            "title": "Diagnostic event IDs",
            "maxItems": 2,
            "type": "array",
            "description": "At most two numeric event IDs to capture if encountered. Must be nonempty only when diagnosticsEnabled is true. Keys are DIAGNOSTICS and DIAG_EVENT_<ID>.",
            "items": {
              "type": "string",
              "pattern": "^[0-9]{1,24}$"
            }
          },
          "diagnosticMaxBytes": {
            "title": "Maximum diagnostic record bytes",
            "minimum": 16384,
            "maximum": 1048576,
            "type": "integer",
            "description": "Hard UTF-8 serialized JSON byte limit per event record. Includes metadata, sanitized HTML and event JSON. Default 524288; omitted or truncated content is explicitly marked.",
            "default": 524288
          },
          "diagnosticMaxObjects": {
            "title": "Maximum diagnostic JSON objects",
            "minimum": 10,
            "maximum": 1000,
            "type": "integer",
            "description": "Bounds visited event JSON containers and collection widths. Excludes account/session/tracking/bootstrap data and unrelated event JSON-LD.",
            "default": 300
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}