{
  "openapi": "3.0.1",
  "info": {
    "title": "Tixel Event Scraper",
    "description": "Scrape Tixel event listings, ticket prices & availability across 72 cities in AU, UK, US, NZ, NL & JP. Export concerts, festivals, sports & more as structured JSON, CSV, or Excel.",
    "version": "1.0",
    "x-build-id": "TPVCVzYFiCmuichdg"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/techforce.global~tixel-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-techforce.global-tixel-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~tixel-scraper/runs": {
      "post": {
        "operationId": "runs-sync-techforce.global-tixel-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~tixel-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-techforce.global-tixel-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": [
          "cities",
          "categories"
        ],
        "properties": {
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "Select one or more cities to scrape events from.",
            "items": {
              "type": "string",
              "enum": [
                "Adelaide",
                "Ballarat",
                "Brisbane",
                "Cairns",
                "Canberra",
                "Darwin",
                "Geelong",
                "Gold Coast",
                "Hobart",
                "Ipswich",
                "Melbourne",
                "Newcastle",
                "Perth",
                "Sydney",
                "Toowoomba",
                "Townsville",
                "Wollongong",
                "Amsterdam",
                "Rotterdam",
                "Atlanta",
                "Austin",
                "Baltimore",
                "Boston",
                "Charlotte",
                "Chicago",
                "Columbus",
                "Dallas",
                "Denver",
                "Detroit",
                "El Paso",
                "Fort Worth",
                "Houston",
                "Indianapolis",
                "Jacksonville",
                "Las Vegas",
                "Los Angeles",
                "Louisville",
                "Memphis",
                "Miami",
                "Nashville",
                "New York",
                "Oklahoma City",
                "Philadelphia",
                "Phoenix",
                "Portland",
                "San Antonio",
                "San Diego",
                "San Francisco",
                "San Jose",
                "Seattle",
                "Washington",
                "Auckland",
                "Christchurch",
                "Wellington",
                "Birmingham",
                "Bournemouth",
                "Brighton",
                "Bristol",
                "Cardiff",
                "Coventry",
                "Edinburgh",
                "Glasgow",
                "Leeds",
                "Leicester",
                "Liverpool",
                "London",
                "Manchester",
                "Newcastle Upon Tyne",
                "Nottingham",
                "Sheffield",
                "Wolverhampton",
                "Nagano"
              ],
              "enumTitles": [
                "🇦🇺 Adelaide",
                "🇦🇺 Ballarat",
                "🇦🇺 Brisbane",
                "🇦🇺 Cairns",
                "🇦🇺 Canberra",
                "🇦🇺 Darwin",
                "🇦🇺 Geelong",
                "🇦🇺 Gold Coast",
                "🇦🇺 Hobart",
                "🇦🇺 Ipswich",
                "🇦🇺 Melbourne",
                "🇦🇺 Newcastle",
                "🇦🇺 Perth",
                "🇦🇺 Sydney",
                "🇦🇺 Toowoomba",
                "🇦🇺 Townsville",
                "🇦🇺 Wollongong",
                "🇳🇱 Amsterdam",
                "🇳🇱 Rotterdam",
                "🇺🇸 Atlanta",
                "🇺🇸 Austin",
                "🇺🇸 Baltimore",
                "🇺🇸 Boston",
                "🇺🇸 Charlotte",
                "🇺🇸 Chicago",
                "🇺🇸 Columbus",
                "🇺🇸 Dallas",
                "🇺🇸 Denver",
                "🇺🇸 Detroit",
                "🇺🇸 El Paso",
                "🇺🇸 Fort Worth",
                "🇺🇸 Houston",
                "🇺🇸 Indianapolis",
                "🇺🇸 Jacksonville",
                "🇺🇸 Las Vegas",
                "🇺🇸 Los Angeles",
                "🇺🇸 Louisville",
                "🇺🇸 Memphis",
                "🇺🇸 Miami",
                "🇺🇸 Nashville",
                "🇺🇸 New York",
                "🇺🇸 Oklahoma City",
                "🇺🇸 Philadelphia",
                "🇺🇸 Phoenix",
                "🇺🇸 Portland",
                "🇺🇸 San Antonio",
                "🇺🇸 San Diego",
                "🇺🇸 San Francisco",
                "🇺🇸 San Jose",
                "🇺🇸 Seattle",
                "🇺🇸 Washington",
                "🇳🇿 Auckland",
                "🇳🇿 Christchurch",
                "🇳🇿 Wellington",
                "🇬🇧 Birmingham",
                "🇬🇧 Bournemouth",
                "🇬🇧 Brighton",
                "🇬🇧 Bristol",
                "🇬🇧 Cardiff",
                "🇬🇧 Coventry",
                "🇬🇧 Edinburgh",
                "🇬🇧 Glasgow",
                "🇬🇧 Leeds",
                "🇬🇧 Leicester",
                "🇬🇧 Liverpool",
                "🇬🇧 London",
                "🇬🇧 Manchester",
                "🇬🇧 Newcastle Upon Tyne",
                "🇬🇧 Nottingham",
                "🇬🇧 Sheffield",
                "🇬🇧 Wolverhampton",
                "🇯🇵 Nagano"
              ]
            },
            "default": [
              "Melbourne"
            ]
          },
          "categories": {
            "title": "Event Categories",
            "type": "array",
            "description": "Select which event categories to scrape.",
            "items": {
              "type": "string",
              "enum": [
                "all",
                "music",
                "festival",
                "sports",
                "theatre",
                "comedy",
                "food"
              ],
              "enumTitles": [
                "🎟️ All Categories",
                "🎵 Concerts / Music",
                "🎪 Festival",
                "🏆 Sports",
                "🎭 Theatre",
                "😂 Comedy",
                "🍔 Food & Drink"
              ]
            },
            "default": [
              "all"
            ]
          },
          "maxPages": {
            "title": "Max Pages Per City / Category",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Maximum pages to scrape per city + category combo. Each page has ~15–20 events. Maximum: 10.",
            "default": 5
          },
          "onlyWithTickets": {
            "title": "Only Events With Available Tickets",
            "type": "boolean",
            "description": "When enabled, skips events that have no tickets currently listed on Tixel.",
            "default": false
          },
          "mcpConnector": {
            "title": "Deliver to (MCP connector)",
            "type": "string",
            "description": "Optionally deliver 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 an aggregate summary and the full event list), 'chunked' (split a large event list across multiple 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, 'append_row' for Google Sheets/Airtable). 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' and 'chunked' modes: {totalEvents}, {cities}, {categories}, {eventList} (formatted list of events — in 'chunked' mode this holds one part), {part}/{partCount} (chunked mode only), and {message} (the rendered template below). In 'perEvent' mode: {name}, {venue}, {date}, {city}, {category}, {url}, {imageUrl}, {ticketsAvailable}, {hasTickets}, {priceFrom}, {currency}, {scrapedAt}, {sourcePage}, and {message}. Example for Slack: {\"channel\": \"#tixel-events\", \"text\": \"{message}\"}. Example for Notion (perEvent): {\"parent\": {\"database_id\": \"YOUR_DB_ID\"}, \"properties\": {\"Name\": {\"title\": [{\"text\": {\"content\": \"{name}\"}}]}}}.",
            "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 across {cities} ({categories}):\\n\\n{eventList}'. Per-event example: '{name} at {venue}, {city} on {date} — from {currency} {priceFrom} ({ticketsAvailable} tickets) — {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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}