{
  "openapi": "3.0.1",
  "info": {
    "title": "Meetup.com City Events Scraper",
    "description": "A fast and reliable scraper for meetup.com that extracts Event Name, Venue details, Price and much more. Provides clean, structured data with support for Markdown, pagination, and easy API integration for your applications.",
    "version": "0.1",
    "x-build-id": "ECMcR3zRwX3avYSnY"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/techforce.global~meetup-city-events-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-techforce.global-meetup-city-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/techforce.global~meetup-city-events-scraper/runs": {
      "post": {
        "operationId": "runs-sync-techforce.global-meetup-city-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/techforce.global~meetup-city-events-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-techforce.global-meetup-city-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": [
          "city"
        ],
        "properties": {
          "city": {
            "title": "City",
            "type": "string",
            "description": "City name to search events in (e.g. Ahmedabad, Mumbai, Delhi)",
            "default": "Chicago"
          },
          "country_code": {
            "title": "Country",
            "enum": [
              "in",
              "us",
              "gb",
              "ca",
              "au",
              "de",
              "fr",
              "it",
              "es",
              "nl",
              "sg",
              "ae",
              "br",
              "za",
              "jp",
              "cn",
              "ru",
              "mx",
              "id",
              "tr",
              "sa",
              "kr",
              "se",
              "ch",
              "ar",
              "be",
              "dk",
              "fi",
              "no",
              "pl",
              "pt",
              "nz",
              "ie",
              "th",
              "my",
              "ph",
              "eg",
              "ng",
              "pk",
              "bd",
              "vn",
              "cz",
              "hu",
              "gr",
              "il",
              "at",
              "ro",
              "sk",
              "ua",
              "cl",
              "co",
              "pe",
              "hk",
              "tw"
            ],
            "type": "string",
            "description": "Select country",
            "default": "us"
          },
          "eventType": {
            "title": "Event Type",
            "uniqueItems": true,
            "type": "array",
            "description": "Select event format(s)",
            "items": {
              "type": "string",
              "enum": [
                "inPerson",
                "online"
              ],
              "enumTitles": [
                "In-Person",
                "Online"
              ]
            },
            "default": [
              "inPerson"
            ]
          },
          "limit": {
            "title": "Max Events",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum number of events to scrape (1–100)",
            "default": 20
          },
          "mcpConnector": {
            "title": "Deliver to (MCP connector)",
            "type": "string",
            "description": "Optionally deliver the scraped events into a connector you have authorized — Notion, Slack, Airtable, Google Sheets, or any MCP-compatible connector. Leave empty to only save results to the dataset."
          },
          "deliveryMode": {
            "title": "Delivery mode",
            "enum": [
              "summary",
              "chunked",
              "perEvent",
              "none"
            ],
            "type": "string",
            "description": "How to deliver to the connector: 'summary' (one call with all events as a single text block), 'chunked' (split a long event list across a few calls so services like Notion never time out), 'perEvent' (one call per scraped event), or 'none' (save to dataset only).",
            "default": "summary"
          },
          "mcpTool": {
            "title": "Connector tool name",
            "type": "string",
            "description": "Name of the tool to call on the connector (e.g. 'create_page' for Notion, 'send_message' for Slack). If unsure, run once with a connector selected — the log lists the connector's available tools.",
            "default": ""
          },
          "mcpArguments": {
            "title": "Connector tool arguments",
            "type": "object",
            "description": "Arguments passed to the connector tool. String values support {placeholders}. In 'summary' mode: {city}, {country_code}, {totalEvents}, {events} (all events as text) and {message} (the rendered template below). In 'chunked' mode: same as summary but {events} holds one part of the list and {part}/{partCount} give the 1-based part number and total. In 'perEvent' mode: {title}, {url}, {city}, {venue}, {venue_address}, {date}, {price}, {source} and {message}. Example for Slack: {\"channel\": \"#events\", \"text\": \"{message}\"}.",
            "default": {}
          },
          "mcpMessageTemplate": {
            "title": "Message template",
            "type": "string",
            "description": "Optional template rendered and exposed as the {message} placeholder in the tool arguments. Summary example: 'Found {totalEvents} events in {city}:\\n\\n{events}'. Per-event example: '{title} — {date} @ {venue} ({url})'.",
            "default": ""
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}