{
  "openapi": "3.0.1",
  "info": {
    "title": "Eventbrite Scraper",
    "description": "Scrape Eventbrite events with venue + organizer data by default. $0.002/event, usage paid by buyer. Search by city/query/category, URL mode, organizer mode, dryRun.",
    "version": "0.1",
    "x-build-id": "udbUCw5al7TBrtAQ6"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/subimpact~eventbrite-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-subimpact-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/subimpact~eventbrite-scraper/runs": {
      "post": {
        "operationId": "runs-sync-subimpact-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/subimpact~eventbrite-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-subimpact-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": {
          "query": {
            "title": "Search query",
            "type": "string",
            "description": "Free-text search term (e.g. 'tech', 'yoga'). Optional — omit for all events in the place."
          },
          "places": {
            "title": "Place (city)",
            "type": "array",
            "description": "ONE city name (e.g. 'London') or raw place ID. v1 supports a single place. When set, radius is required (default 50 km).",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country",
            "enum": [
              "United States",
              "United Kingdom",
              "Malaysia",
              "Singapore",
              "Australia",
              "Canada",
              "Germany",
              "France",
              "Japan"
            ],
            "type": "string",
            "description": "Filters place resolution by country (e.g. 'United States'). No-op without places."
          },
          "category": {
            "title": "Category",
            "enum": [
              "101: Business & Professional",
              "102: Science & Technology",
              "103: Music",
              "104: Film, Media & Entertainment",
              "105: Performing & Visual Arts",
              "106: Fashion & Beauty",
              "107: Health & Wellness",
              "108: Sports & Fitness",
              "109: Travel & Outdoor",
              "110: Food & Drink",
              "111: Charity & Causes",
              "112: Government & Politics",
              "113: Community & Culture",
              "114: Religion & Spirituality",
              "115: Family & Education",
              "116: Seasonal & Holiday",
              "117: Home & Lifestyle",
              "118: Auto, Boat & Air",
              "119: Hobbies & Special Interest",
              "120: School Activities",
              "199: Other"
            ],
            "type": "string",
            "description": "Eventbrite category. Optional. IDs verified against observed EventbriteCategory/* tags in probe fixtures (Probe-8/9/12)."
          },
          "price": {
            "title": "Price",
            "enum": [
              "free",
              "paid"
            ],
            "type": "string",
            "description": "free = free events only; paid = paid events only; omit for both."
          },
          "onlineOnly": {
            "title": "Online events only",
            "type": "boolean",
            "description": "Post-filter for online events. Mutually exclusive with places (place-scoped search returns no online events).",
            "default": false
          },
          "startDate": {
            "title": "Start date",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "ISO date (YYYY-MM-DD). Optional; defaults to today."
          },
          "endDate": {
            "title": "End date",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "ISO date (YYYY-MM-DD). Optional; defaults to +1 year from startDate."
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "date",
              "distance"
            ],
            "type": "string",
            "description": "date = by start date (default); distance = by distance from place center (requires radius).",
            "default": "date"
          },
          "radius": {
            "title": "Radius (km)",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Search radius in km. REQUIRED when places is set. Default 50, max 50.",
            "default": 50
          },
          "eventUrls": {
            "title": "Event URLs",
            "type": "array",
            "description": "List of Eventbrite event URLs to scrape directly. Series URLs return a parent stub (not charged).",
            "items": {
              "type": "string"
            }
          },
          "organizerId": {
            "title": "Organizer ID",
            "type": "string",
            "description": "Scrape all events by this organizer (e.g. '120990958363')."
          },
          "maxEvents": {
            "title": "Max events",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of events to process (counts processed rows incl. duplicates). Default 1000 (above measured depth ~892 for London r50). Cap 10000.",
            "default": 1000
          },
          "maxTotalChargeUsd": {
            "title": "Max total charge (USD)",
            "minimum": 1,
            "maximum": 100,
            "type": "number",
            "description": "Bill-shock guard: stop charging once total charges reach this amount. Default 20.01 (just above 10,000 events at $0.002 — avoids the floating-point knife edge where a full-size run stops one batch early).",
            "default": 20.01
          },
          "includeDetails": {
            "title": "Include details",
            "type": "boolean",
            "description": "Fetch full event details (venue address, organizer, description, status). Default true.",
            "default": true
          },
          "enrichDestination": {
            "title": "Enrich destination fields",
            "type": "boolean",
            "description": "Add ticket price range, sales status/window, saved flags, public collections and image renditions per event (one extra lightweight API call per event). On by default.",
            "default": true
          },
          "dryRun": {
            "title": "Dry run",
            "type": "boolean",
            "description": "Count only, no charge. Still bills platform usage.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}