{
  "openapi": "3.0.1",
  "info": {
    "title": "Meetup Events Scraper",
    "description": "Collect public Meetup events matching your keywords and locations. Each record can include its title, schedule, description, event type, RSVP count, venue, fee, hosts and hosting group details. Search by date range and radius, and choose physical, online or any event type.",
    "version": "0.1",
    "x-build-id": "X1a0e77c78hK5FbKV"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/axiomworks~meetup-events-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-axiomworks-meetup-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/axiomworks~meetup-events-scraper/runs": {
      "post": {
        "operationId": "runs-sync-axiomworks-meetup-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/axiomworks~meetup-events-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-axiomworks-meetup-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",
        "required": [
          "searchQueries",
          "locations"
        ],
        "properties": {
          "searchQueries": {
            "title": "Event keyword strings (e.g. networking)",
            "type": "array",
            "description": "Required keyword strings, e.g. [\"networking\", \"python\"]. Each keyword is searched in every locations city. With strictKeywordMatch true, every keyword token must occur in the title, description or group text. Keep this nonempty even when supplying eventUrls.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "City strings (e.g. New York)",
            "type": "array",
            "description": "Required city strings, e.g. [\"New York\", \"Berlin, DE\"]. Each is resolved to coordinates for every searchQueries keyword. An optional comma-separated state or country code helps disambiguate. Unknown cities are skipped; use another city. Required even with eventUrls.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Total event limit (e.g. 20)",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum unique events across eventUrls and all keyword/city searches combined, integer 1-5000, default 50, e.g. 20. Direct events use the budget first. Fewer results are returned when targets have no more matches.",
            "default": 50
          },
          "radiusMiles": {
            "title": "City radius in miles (e.g. 25)",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Integer search radius in miles around each locations city, 1-500, default 25, e.g. 10. Applies to keyword searches, not direct eventUrls. Increase it to include events farther from the city.",
            "default": 25
          },
          "dateFrom": {
            "title": "Earliest ISO date (e.g. 2026-11-01)",
            "type": "string",
            "description": "Earliest start for keyword search results, e.g. \"2026-11-01\" or \"2026-11-01T12:00:00Z\". A date-only value starts at midnight UTC. Empty or omitted starts from now. Does not filter direct eventUrls."
          },
          "dateTo": {
            "title": "Latest ISO date (e.g. 2026-12-31)",
            "type": "string",
            "description": "Latest start for keyword search results, e.g. \"2026-12-31\" or \"2026-12-31T18:00:00Z\". A date-only value includes the full UTC day. Empty or omitted sets no end date. Does not filter direct eventUrls."
          },
          "eventType": {
            "title": "Search event type (e.g. ONLINE)",
            "enum": [
              "ANY",
              "PHYSICAL",
              "ONLINE"
            ],
            "type": "string",
            "description": "Choose ANY (default) for all search event types, PHYSICAL for in-person events, or ONLINE for online events, e.g. \"ONLINE\". Applies to keyword searches, not direct eventUrls. Use ANY if a search is too narrow.",
            "default": "ANY"
          },
          "groupUrls": {
            "title": "Group URLs or slugs (e.g. rust-nyc)",
            "type": "array",
            "description": "Optional group URL or slug strings, e.g. [\"rust-nyc\", \"https://www.meetup.com/pyladies-nyc/\"]. Keep only matching groups in both direct events and keyword search results; this does not discover group events independently. Empty or omitted keeps all groups.",
            "items": {
              "type": "string"
            }
          },
          "eventUrls": {
            "title": "Event URLs or numeric ID strings",
            "type": "array",
            "description": "Optional Meetup event URL or numeric ID strings, e.g. [\"https://www.meetup.com/rust-nyc/events/316698929/\", \"316698929\"]. Fetched before keyword searches and shares maxItems. searchQueries and locations remain required. groupUrls still applies; keyword, date and eventType search filters do not.",
            "items": {
              "type": "string"
            }
          },
          "includeGroupDetails": {
            "title": "Fetch extra group details (e.g. false)",
            "type": "boolean",
            "description": "Boolean, default true, e.g. false for a faster run. Fetch each unique group once to add groupFoundedDate, groupTopic and organizer details. Basic groupName and groupMemberCount are already in event data. The daily prefill uses false.",
            "default": true
          },
          "includeDescription": {
            "title": "Include description text (e.g. true)",
            "type": "boolean",
            "description": "Boolean, default true, e.g. false to return description as null for smaller output. Keyword matching still uses the source description when this is false.",
            "default": true
          },
          "strictKeywordMatch": {
            "title": "Require keyword tokens (e.g. false)",
            "type": "boolean",
            "description": "Boolean, default true. Require every token of each search keyword in the event title, description or group text; tokens shorter than two characters are ignored. Set false, e.g. false, to keep Meetup fuzzy matches. Direct eventUrls are not keyword-filtered.",
            "default": true
          },
          "enrichWithAI": {
            "title": "Add AI classifications (e.g. true)",
            "type": "boolean",
            "description": "Boolean, e.g. true to request eventCategory and leadRelevance from a third-party AI processor. The input editor defaults to true; API calls omitting this field use false. Set it explicitly for consistent results. Processor errors leave enrichment null; successful enrichment uses the enriched-result event.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy settings (e.g. useApifyProxy)",
            "type": "object",
            "description": "Proxy object, e.g. {\"useApifyProxy\": true}. Default {\"useApifyProxy\": false} requests Meetup directly; cloud runs retry blocked requests through Apify datacenter proxy. For persistent blocks, enable proxyConfiguration or try another target. Local runs use no proxy.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}