{
  "openapi": "3.0.1",
  "info": {
    "title": "Eventbrite Scraper & Luma Scraper - Events, Venues, Organizers",
    "description": "Events from Eventbrite and Luma by city, keyword and date in one table: date and time, venue and address with coordinates, price, sold out, organizer with events hosted and attendees, category. New-event alerts. $3 per 1,000 events, no start fee.",
    "version": "0.1",
    "x-build-id": "By98h2RWCJiZGawq6"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tidytools~eventbrite-luma-events/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tidytools-eventbrite-luma-events",
        "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/tidytools~eventbrite-luma-events/runs": {
      "post": {
        "operationId": "runs-sync-tidytools-eventbrite-luma-events",
        "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/tidytools~eventbrite-luma-events/run-sync": {
      "post": {
        "operationId": "run-sync-tidytools-eventbrite-luma-events",
        "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": {
          "searches": {
            "title": "Keywords",
            "type": "array",
            "description": "What the events are about, one per line, e.g. AI, startup, marketing, yoga, wine tasting. Empty = all events in the locations. On Luma a keyword that is a Luma category (ai, tech, crypto, climate, food, arts, fitness, wellness, running, books, games, family) uses that category feed; other keywords are matched in the event title and description.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Cities, one per line: \"San Francisco, CA\", \"Austin, TX\", \"London, UK\", \"Berlin\", \"Taipei\", or \"online\" (Eventbrite online events). Luma covers about 90 cities (sf, nyc, london, berlin, tokyo, singapore, taipei ...).",
            "items": {
              "type": "string"
            }
          },
          "platforms": {
            "title": "Platforms",
            "type": "array",
            "description": "Where to search. Both by default.",
            "items": {
              "type": "string",
              "enum": [
                "eventbrite",
                "luma"
              ],
              "enumTitles": [
                "Eventbrite",
                "Luma (lu.ma)"
              ]
            },
            "default": [
              "eventbrite",
              "luma"
            ]
          },
          "urls": {
            "title": "Eventbrite or Luma URLs (optional)",
            "type": "array",
            "description": "Pages to read directly, one per line: an Eventbrite search page (eventbrite.com/d/...), event (/e/...) or organizer page (/o/...); a Luma city, category, calendar or event page (luma.com/sf, luma.com/ai, luma.com/<calendar>, luma.com/calendar/cal-..., luma.com/<event>, lu.ma/evt-...). Spaces, semicolons or a comma between links also separate them.",
            "items": {
              "type": "string"
            }
          },
          "dateFrom": {
            "title": "Events from (optional)",
            "type": "string",
            "description": "Only events starting on or after this day: YYYY-MM-DD, \"today\", \"tomorrow\" or relative such as \"+7 days\"."
          },
          "dateTo": {
            "title": "Events until (optional)",
            "type": "string",
            "description": "Only events starting on or before this day: YYYY-MM-DD or relative such as \"+30 days\", \"2 weeks\", \"1 month\"."
          },
          "priceFilter": {
            "title": "Price",
            "enum": [
              "any",
              "free",
              "paid"
            ],
            "type": "string",
            "description": "Keep only free or only paid events. Events whose price is unknown are kept.",
            "default": "any"
          },
          "eventType": {
            "title": "In person or online",
            "enum": [
              "any",
              "in_person",
              "online"
            ],
            "type": "string",
            "description": "Keep only in-person or only online events. Events whose format is unknown are kept; hybrid events count as in person.",
            "default": "any"
          },
          "maxEventsPerSearch": {
            "title": "Max events per search",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Per keyword, location and platform. Eventbrite lists up to about 980 events per search.",
            "default": 100
          },
          "maxEvents": {
            "title": "Max events per run",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "The run stops after this many events (each one is charged). With the maximum charge per run, this caps the cost.",
            "default": 500
          },
          "eventDetails": {
            "title": "Read each event page (price, organizer, end time)",
            "type": "boolean",
            "description": "On: price range, currency, sold out, organizer with event count and attendees hosted, category, exact start and end time. Off: faster, fewer fields (Eventbrite search lists have no price or organizer name). Same price either way.",
            "default": true
          },
          "organizerProfiles": {
            "title": "Organizer website and social links",
            "type": "boolean",
            "description": "Add each organizer's website and public social profiles (Eventbrite organizer page, Luma calendar). Charged once per organizer and run, only when a website or social link is found. Individuals' personal calendars give no links.",
            "default": false
          },
          "includeDescription": {
            "title": "Include the full description",
            "type": "boolean",
            "description": "Add the event description as plain text (up to 10,000 characters; needs \"Read each event page\"). The short summary is always included.",
            "default": false
          },
          "includeHostNames": {
            "title": "Include host names (Luma)",
            "type": "boolean",
            "description": "Luma lists the people who host an event; their names are returned in hostNames (names only, no profiles). Turn off to leave hostNames out and keep organization-level data only.",
            "default": true
          },
          "onlyNewEvents": {
            "title": "Only new events",
            "type": "boolean",
            "description": "Return only events not returned by earlier runs of the same monitor (schedule this Actor daily or weekly for new-event alerts). Events seen before are free.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Name of the saved list of seen events (letters, digits, dashes). Empty = derived from the first keyword and location.",
            "default": ""
          },
          "httpVia": {
            "title": "Plain HTTP requests from",
            "enum": [
              "auto",
              "backend",
              "direct"
            ],
            "type": "string",
            "description": "Requests always use our honest TidyTools user agent and respect robots.txt.",
            "default": "auto"
          },
          "proxyConfiguration": {
            "title": "Proxy (optional)",
            "type": "object",
            "description": "Only used for requests sent from Apify's network. Apify proxy usage is billed to your Apify account."
          },
          "maxConcurrency": {
            "title": "Searches in parallel",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many searches run at the same time (each reads up to 4 event pages at once).",
            "default": 5
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}