{
  "openapi": "3.0.1",
  "info": {
    "title": "Luma Event Scraper: Hosts, Tickets, New Events",
    "description": "Scrape public Luma (lu.ma) events by city, category, keyword, calendar, host or link: dates, venue and coordinates, ticket prices, sold out and approval flags, guest counts, hosts with LinkedIn and X links. Monitor new events and guest count changes. Export to JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "uezlrz2ba9le6z46Z"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation_craft~luma-event-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation_craft-luma-event-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/automation_craft~luma-event-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automation_craft-luma-event-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/automation_craft~luma-event-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automation_craft-luma-event-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": {
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "Luma cities (87 in the list, slug or name, for example sf, nyc, london). By default every public event near the city, in all categories, upcoming or under way (see \"City feed\"). Combine with categories to read only those categories near each city.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "amsterdam",
                "atlanta",
                "auckland",
                "austin",
                "bangkok",
                "barcelona",
                "bengaluru",
                "berlin",
                "bogota",
                "boston",
                "brisbane",
                "brussels",
                "budapest",
                "buenos-aires",
                "calgary",
                "capetown",
                "chicago",
                "cincinnati",
                "copenhagen",
                "dallas",
                "denver",
                "detroit",
                "dubai",
                "dublin",
                "edmonton",
                "frankfurt",
                "geneva",
                "hamburg",
                "helsinki",
                "ho-chi-minh-city",
                "hongkong",
                "honolulu",
                "houston",
                "istanbul",
                "jakarta",
                "kuala-lumpur",
                "lagos",
                "las-vegas",
                "lausanne",
                "lisbon",
                "london",
                "la",
                "madrid",
                "manila",
                "medellin",
                "melbourne",
                "mexico-city",
                "miami",
                "milan",
                "minneapolis",
                "montreal",
                "mumbai",
                "munich",
                "nairobi",
                "new-delhi",
                "nyc",
                "osaka",
                "oslo",
                "paris",
                "philadelphia",
                "phoenix",
                "pittsburgh",
                "portland",
                "prague",
                "raleigh",
                "rio",
                "rome",
                "saopaulo",
                "sacramento",
                "salt-lake-city",
                "sd",
                "sf",
                "seattle",
                "seoul",
                "singapore",
                "stockholm",
                "sydney",
                "taipei",
                "tel-aviv",
                "tokyo",
                "toronto",
                "vancouver",
                "vienna",
                "warsaw",
                "dc",
                "waterloo_ca",
                "zurich"
              ],
              "enumTitles": [
                "Amsterdam",
                "Atlanta",
                "Auckland",
                "Austin",
                "Bangkok",
                "Barcelona",
                "Bengaluru",
                "Berlin",
                "Bogot\\u00e1",
                "Boston",
                "Brisbane",
                "Brussels",
                "Budapest",
                "Buenos Aires",
                "Calgary",
                "Cape Town",
                "Chicago",
                "Cincinnati",
                "Copenhagen",
                "Dallas",
                "Denver",
                "Detroit",
                "Dubai",
                "Dublin",
                "Edmonton",
                "Frankfurt",
                "Geneva",
                "Hamburg",
                "Helsinki",
                "Ho Chi Minh City",
                "Hong Kong",
                "Honolulu",
                "Houston",
                "Istanbul",
                "Jakarta",
                "Kuala Lumpur",
                "Lagos",
                "Las Vegas",
                "Lausanne",
                "Lisbon",
                "London",
                "Los Angeles",
                "Madrid",
                "Manila",
                "Medell\\u00edn",
                "Melbourne",
                "Mexico City",
                "Miami",
                "Milan",
                "Minneapolis",
                "Montr\\u00e9al",
                "Mumbai",
                "Munich",
                "Nairobi",
                "New Delhi",
                "New York",
                "Osaka",
                "Oslo",
                "Paris",
                "Philadelphia",
                "Phoenix",
                "Pittsburgh",
                "Portland",
                "Prague",
                "Raleigh",
                "Rio de Janeiro",
                "Rome",
                "S\\u00e3o Paulo",
                "Sacramento",
                "Salt Lake City",
                "San Diego",
                "San Francisco",
                "Seattle",
                "Seoul",
                "Singapore",
                "Stockholm",
                "Sydney",
                "Taipei",
                "Tel Aviv-Yafo",
                "Tokyo",
                "Toronto",
                "Vancouver",
                "Vienna",
                "Warsaw",
                "Washington, DC",
                "Waterloo",
                "Zurich"
              ]
            }
          },
          "coordinates": {
            "title": "Points (latitude,longitude)",
            "type": "array",
            "description": "Any other place as \"latitude,longitude\" in decimal degrees, for example \"30.2672,-97.7431\" for Austin. Luma answers with the events around the point (measured up to about 70 km away).",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Luma categories. With cities or points: that category near each of them. Alone: the category over every continent, one walk per continent.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "ai",
                "arts",
                "books",
                "climate",
                "crypto",
                "family",
                "fitness",
                "food",
                "games",
                "running",
                "tech",
                "wellness"
              ],
              "enumTitles": [
                "AI",
                "Arts & Culture",
                "Books",
                "Climate",
                "Crypto",
                "Family",
                "Fitness",
                "Food & Drink",
                "Games",
                "Running",
                "Tech",
                "Wellness"
              ]
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Words or phrases. An event is kept when its name or description holds one of them as a whole word (case does not matter; the description counts when the event is read in full: event links always, other sources with full details on). With cities, points, categories or links they filter those events. Alone, each keyword is one Luma search, which answers at most 50 events per keyword.",
            "items": {
              "type": "string"
            }
          },
          "cityFeed": {
            "title": "City feed",
            "enum": [
              "nearby",
              "featured"
            ],
            "type": "string",
            "description": "nearby: every public event near the city, walked to the end. featured: only the events on Luma's own city page (a shorter list Luma picks; no category choice)."
          },
          "urls": {
            "title": "Luma links",
            "type": "array",
            "description": "Links such as https://luma.com/<event>, https://lu.ma/<calendar>, https://luma.com/user/<name>, luma.com/sf or luma.com/ai, or ids evt-..., cal-..., usr-.... An event link gives that event; a calendar or host link gives its events (see \"Calendar and host events\"). A link Luma does not know is a free status row.",
            "items": {
              "type": "string"
            }
          },
          "period": {
            "title": "Calendar and host events",
            "enum": [
              "upcoming",
              "past",
              "all"
            ],
            "type": "string",
            "description": "Which events a calendar or host link gives: upcoming (default), past or all."
          },
          "startDateFrom": {
            "title": "Starts on or after",
            "type": "string",
            "description": "YYYY-MM-DD. Compared with the event's own local start date."
          },
          "startDateTo": {
            "title": "Starts on or before",
            "type": "string",
            "description": "YYYY-MM-DD. Compared with the event's own local start date. A walk sorted by date ends at the first page past this date."
          },
          "startWithinDays": {
            "title": "Starts within days",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Events starting from the run's day (UTC) up to this many days later; 0 is today only. Instead of the two dates above."
          },
          "minGuests": {
            "title": "Minimum guests",
            "minimum": 1,
            "type": "integer",
            "description": "Only events whose host shows the guest count and at least this many guests are registered. Events with a hidden guest list never pass."
          },
          "price": {
            "title": "Price",
            "enum": [
              "any",
              "free",
              "paid"
            ],
            "type": "string",
            "description": "Free or paid events, as Luma marks them."
          },
          "availability": {
            "title": "Availability",
            "enum": [
              "any",
              "open",
              "soldOut"
            ],
            "type": "string",
            "description": "Sold out or still open, as Luma marks them."
          },
          "approval": {
            "title": "Approval",
            "enum": [
              "any",
              "required",
              "notRequired"
            ],
            "type": "string",
            "description": "Events where the host approves every registration, or where anyone can register."
          },
          "format": {
            "title": "Format",
            "enum": [
              "any",
              "inPerson",
              "online"
            ],
            "type": "string",
            "description": "In person or online. Events whose location Luma does not give pass only \"Any\"."
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Two letter codes (US, GB, DE) or English names. Events without a country (online events) never pass.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maximum events",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "The most event rows (new events and change reports) one run delivers. 100 when left empty."
          },
          "includeDetails": {
            "title": "Full event details",
            "type": "boolean",
            "description": "Read every delivered event in full: description, categories, every ticket type, registration questions, where Luma features it. On when left empty. Off: searches, calendars and hosts skip the full read (faster, the same price, those fields stay empty there); an event link is always read in full."
          },
          "includeFeaturedGuests": {
            "title": "Featured guests",
            "type": "boolean",
            "description": "Add the up to 10 attendees Luma shows on the event page (name and their public links). Off when left empty. Same price."
          },
          "includeHostProfiles": {
            "title": "Host profiles",
            "type": "boolean",
            "description": "Add one row per host of the delivered events: bio, events hosted and attended, join date and links (the Host profile event, once per host per run). Off when left empty. A person who asked Luma to keep their profile away from search engines gets no row."
          },
          "includeExternalEvents": {
            "title": "Calendar entries from other sites",
            "type": "boolean",
            "description": "Calendars can list events hosted on other websites. On: they are delivered as rows (name, start, place, link) and charged as events. Off when left empty."
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "A name of your choice (letters, digits, spaces, . _ , - : # ( )). The monitor remembers every event it delivered and never delivers or charges it again as a new event. In a monitor run every list page and every link read is one Results page event. One name belongs to one set of settings; a name is per listing."
          },
          "reportChanges": {
            "title": "Report changes",
            "type": "boolean",
            "description": "With a monitor: deliver a change report (the Event update event) when a known event's guest count moved, the host showed or hid it, it sold out or reopened, or its start time moved. Off when left empty."
          },
          "minGuestChange": {
            "title": "Minimum guest count change",
            "minimum": 1,
            "type": "integer",
            "description": "With \"Report changes\": a guest count change is reported when it moved by at least this many guests. 1 when left empty."
          },
          "stopAfterMisses": {
            "title": "Stop after missing links",
            "minimum": 20,
            "maximum": 20000,
            "type": "integer",
            "description": "A run stops after this many links in a row that Luma does not know (200 when left empty); 20,000 switches it off."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}