{
  "openapi": "3.0.1",
  "info": {
    "title": "Luma Events Scraper: lu.ma Cities, Calendars, Hosts",
    "description": "Scrape Luma (lu.ma) events from city pages, categories around a city, keywords, calendars and event links. Each row: start and end with time zone, venue or online, hosts, guest count, ticket prices, calendar with its links. Full description and ticket types on request. No login.",
    "version": "0.1",
    "x-build-id": "rGbYgkOV3ynGtE3oA"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/themineworks~luma-events-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-themineworks-luma-events-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/themineworks~luma-events-scraper/runs": {
      "post": {
        "operationId": "runs-sync-themineworks-luma-events-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/themineworks~luma-events-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-themineworks-luma-events-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": "One Luma city per line, by name (San Francisco, London, Bengaluru), slug (sf, nyc) or link (https://luma.com/sf). Luma has city pages for 87 cities: Toronto, Waterloo, Pittsburgh, Detroit, Philadelphia, Washington, DC, New York, Montréal, Cincinnati, Boston, Chicago, Raleigh, Atlanta, Minneapolis, Miami, Dallas, Houston, Austin, Denver, Salt Lake City, Edmonton, Calgary, Phoenix, Las Vegas, Mexico City, Seattle, Vancouver, Portland, San Diego, Los Angeles, Sacramento, San Francisco, Medellín, Bogotá, Dublin, Lisbon, London, Oslo, Amsterdam, Paris, Madrid, Brussels, Hamburg, Copenhagen, Frankfurt, Stockholm, Barcelona, Geneva, Lausanne, Zurich, Berlin, Helsinki, Munich, Milan, Prague, Vienna, Warsaw, Rome, Budapest, Honolulu, São Paulo, Rio de Janeiro, Istanbul, Buenos Aires, Lagos, Tel Aviv-Yafo, Tokyo, Seoul, Osaka, Dubai, New Delhi, Nairobi, Taipei, Mumbai, Hong Kong, Cape Town, Manila, Bengaluru, Bangkok, Auckland, Ho Chi Minh City, Kuala Lumpur, Brisbane, Singapore, Sydney, Jakarta, Melbourne. A city alone returns its Luma city page; with categories or keywords it is searched for them. When Cities and Luma links are both left out, the run reads Luma's San Francisco page as an example.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Optional. Luma's own categories. Each category is read around each city (Luma lists category events by place). Leave empty for the city pages themselves.",
            "items": {
              "type": "string",
              "enum": [
                "family",
                "books",
                "games",
                "tech",
                "food",
                "ai",
                "running",
                "arts",
                "climate",
                "fitness",
                "wellness",
                "crypto"
              ],
              "enumTitles": [
                "Family",
                "Books",
                "Games",
                "Tech",
                "Food & Drink",
                "AI",
                "Running",
                "Arts & Culture",
                "Climate",
                "Fitness",
                "Wellness",
                "Crypto"
              ]
            },
            "default": []
          },
          "searchTerms": {
            "title": "Keywords",
            "type": "array",
            "description": "Optional. One keyword per line (founders, hackathon, design). Each keyword is searched in each city, or in each category around each city. Luma returns up to 50 events per keyword search.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Luma links",
            "type": "array",
            "description": "Optional. Calendar pages (https://luma.com/happytown or https://lu.ma/calendar/cal-...), event pages (https://lu.ma/wbqgr661), city pages (https://luma.com/london) and category pages (https://luma.com/ai, read around the cities above). Both lu.ma and luma.com links work.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "calendarPeriod": {
            "title": "Calendar events",
            "enum": [
              "upcoming",
              "past",
              "both"
            ],
            "type": "string",
            "description": "For calendar links: which of the calendar's events to return.",
            "default": "upcoming"
          },
          "maxEventsPerSource": {
            "title": "Max events per source",
            "minimum": 20,
            "maximum": 5000,
            "type": "integer",
            "description": "How many events to collect from each city, city and category, keyword search or calendar, 20 to 5,000. Luma lists 50 events a page; the run stops here or at the end of Luma's list.",
            "default": 100
          },
          "includeDetails": {
            "title": "Add event details",
            "type": "boolean",
            "description": "Reads each event's own record and adds the full description, every ticket type with its price, Luma categories and refund policy. Same price per event; one extra request per event. Event links always come with details.",
            "default": false
          },
          "onlyNewEvents": {
            "title": "Only events not delivered before",
            "type": "boolean",
            "description": "For schedules: skip, and do not charge for, events an earlier run of yours already delivered.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}