{
  "openapi": "3.0.1",
  "info": {
    "title": "Luma Event Scraper",
    "description": "$2 / 1K events · Every upcoming Luma event on the map, ~20,000 in ~140 countries · any city, radius or box, 12 categories, calendars with past events · hosts' LinkedIn and X, ticket tiers, new-events monitor · no login, no proxy",
    "version": "0.0",
    "x-build-id": "0IhNXl7TF0ciE7cWK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sleepmodesystems~luma/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sleepmodesystems-luma",
        "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/sleepmodesystems~luma/runs": {
      "post": {
        "operationId": "runs-sync-sleepmodesystems-luma",
        "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/sleepmodesystems~luma/run-sync": {
      "post": {
        "operationId": "run-sync-sleepmodesystems-luma",
        "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": {
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Cities, as you would write them: sf, San Francisco, New York City, Bangalore, Berlin, Germany... (Luma's 87 cities; a near miss gets a \"did you mean\"). Every event in Luma's area around each, about 50 to 70 km: San Francisco has ~1,100 where Luma's city page shows 80. Anywhere else: latitude,longitude (52.37,4.89), or a box south,west,north,east (47.2,5.8,55.1,15.1). everywhere for Luma's whole map.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 0,
            "maximum": 2000,
            "type": "integer",
            "description": "With a city or a point: only events within this distance. 0 uses Luma's own area around the city or point (about 50 to 70 km).",
            "default": 0
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Luma's categories. With locations: these categories there. Alone: these categories on Luma's whole map (under 30 minutes).",
            "items": {
              "type": "string",
              "enum": [
                "ai",
                "tech",
                "crypto",
                "climate",
                "food",
                "arts",
                "fitness",
                "wellness",
                "running",
                "books",
                "games",
                "family"
              ],
              "enumTitles": [
                "AI",
                "Tech",
                "Crypto",
                "Climate",
                "Food & Drink",
                "Arts & Culture",
                "Fitness",
                "Wellness",
                "Running",
                "Books",
                "Games",
                "Family"
              ]
            },
            "default": []
          },
          "startUrls": {
            "title": "Luma links",
            "type": "array",
            "description": "Paste any public Luma page, luma.com or lu.ma: an event, a calendar or community (luma.com/superteam), a host (luma.com/user/name), a city (luma.com/sf), a category (luma.com/ai), a city and category (luma.com/discover/sf/ai), or luma.com/discover for the whole map. Ids work too: evt-..., cal-..., usr-...",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "searchQueries": {
            "title": "Search words",
            "type": "array",
            "description": "Luma's own search, its 50 best matches per word, in each location and category above, else Luma-wide. Example: hackathon, AI agents.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "pastEvents": {
            "title": "Past events of calendars and hosts",
            "type": "boolean",
            "description": "For calendar and host profile links, also read their past events, newest first. Cities, categories and searches only list upcoming events.",
            "default": false
          },
          "dateFrom": {
            "title": "From date",
            "type": "string",
            "description": "Only events starting on or after this day (YYYY-MM-DD), in the event's own time zone. Relative values such as 7 days work too."
          },
          "dateTo": {
            "title": "To date",
            "type": "string",
            "description": "Only events starting on or before this day. Luma's feeds are sorted by start time, so the run stops reading a feed as soon as it passes this day."
          },
          "locationType": {
            "title": "In person or online",
            "enum": [
              "any",
              "inPerson",
              "online"
            ],
            "type": "string",
            "description": "Luma's map lists in-person events only; online events come from calendar, host and event links and from searches.",
            "default": "any"
          },
          "price": {
            "title": "Free or paid",
            "enum": [
              "any",
              "free",
              "paid"
            ],
            "type": "string",
            "description": "Keep free events, paid events, or both.",
            "default": "any"
          },
          "withDetails": {
            "title": "Event details",
            "type": "boolean",
            "description": "Adds each event's description, categories, every ticket tier with its price, capacity and spots left, and the questions of the registration form. 1,000 events with details take under 2 minutes. Event links always come with details.",
            "default": false
          },
          "featuredGuests": {
            "title": "Featured guests",
            "type": "boolean",
            "description": "Adds the guests Luma features publicly on the event page (name, short bio, social links; up to 10 with details, else about 6). Hosts are always included. Luma's full guest list needs a login and is never read.",
            "default": false
          },
          "maxItems": {
            "title": "Maximum events",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many events in total. Luma's whole map holds ~20,000 upcoming in-person events.",
            "default": 100000
          },
          "maxItemsPerSource": {
            "title": "Maximum events per source",
            "minimum": 0,
            "type": "integer",
            "description": "Stop each city, category, link or search after this many events. 0 for no limit per source.",
            "default": 0
          },
          "onlyNewEvents": {
            "title": "Only new events",
            "type": "boolean",
            "description": "Return only events that an earlier run with the same monitor did not deliver. Events delivered before are skipped before their details are read and are never charged. The first run delivers everything it finds. Ids are kept for 180 days after an event was last seen.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Name of the list of delivered events. Leave empty to tie it to this input (sources and filters): a changed input starts a new list. Give a name to share one list between inputs or tasks."
          },
          "minItems": {
            "title": "Minimum events",
            "minimum": 0,
            "type": "integer",
            "description": "Fail the run if fewer events were found.",
            "default": 1
          },
          "freshMap": {
            "title": "Fresh map",
            "type": "boolean",
            "description": "Maintenance only: read Luma's whole map without the actor's saved list of busy areas.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}