{
  "openapi": "3.0.1",
  "info": {
    "title": "Ticombo Scraper - Event Tickets, Seller Listings, EUR Prices",
    "description": "Extract event tickets from ticombo.com with venue, dates, EUR prices, availability, and seat-level seller listings. 33+ fields per event: section/row inventory, ticket types, geo, image, sales status. Search by keyword, paste URLs, or browse by category (sports, music, theatre). Export JSON or CSV.",
    "version": "0.0",
    "x-build-id": "ywViRR99jyLpeh072"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/zen-studio~ticombo-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-zen-studio-ticombo-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/zen-studio~ticombo-scraper/runs": {
      "post": {
        "operationId": "runs-sync-zen-studio-ticombo-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/zen-studio~ticombo-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-zen-studio-ticombo-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": {
          "searchTerms": {
            "title": "🔍 Search terms",
            "type": "array",
            "description": "Add one or more keywords. Each term is searched independently and results are merged and de-duplicated.<br><br>Examples:<br>• <code>champions league final</code><br>• <code>roland garros</code><br>• <code>coldplay</code>",
            "items": {
              "type": "string"
            }
          },
          "eventUrls": {
            "title": "🔗 Ticombo URLs",
            "type": "array",
            "description": "Paste any Ticombo URL — event detail pages, competition pages, venue pages, or full search-result URLs all work.<br><br>Examples:<br>• <code>https://www.ticombo.com/en/sports-tickets/football-tickets/final-champions-league-2606022100/...</code><br>• <code>https://www.ticombo.com/en/venues/stade-roland-garros-outside-courts</code><br>• <code>https://www.ticombo.com/en/discover/search?q=french%20open</code>",
            "items": {
              "type": "string"
            }
          },
          "category": {
            "title": "📂 Browse by category",
            "enum": [
              "",
              "sports",
              "music",
              "theatre"
            ],
            "type": "string",
            "description": "Browse every upcoming event in a category instead of searching.<br><br>Combine with <b>Subcategory</b> to narrow further (e.g. Sports + <code>football</code>).",
            "default": ""
          },
          "subcategory": {
            "title": "Subcategory",
            "type": "string",
            "description": "Narrow the category browse to one subcategory.<br><br>Examples by category:<br>• Sports: <code>football</code>, <code>tennis</code>, <code>basketball</code>, <code>formula-1</code><br>• Music: <code>rock</code>, <code>pop</code>, <code>electronic</code>, <code>classical</code><br>• Theatre: <code>musicals</code>, <code>opera</code>, <code>ballet</code>"
          },
          "dateFrom": {
            "title": "Date from",
            "type": "string",
            "description": "Only events on or after this date (inclusive). Leave empty for no lower bound."
          },
          "dateTo": {
            "title": "Date to",
            "type": "string",
            "description": "Only events on or before this date (inclusive — includes every event during the selected day)."
          },
          "priceMin": {
            "title": "Minimum price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Only events whose lowest listing is at or above this price."
          },
          "priceMax": {
            "title": "Maximum price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Only events whose lowest listing is at or below this price."
          },
          "language": {
            "title": "🌐 Output language",
            "enum": [
              "en",
              "de",
              "fr",
              "es",
              "it"
            ],
            "type": "string",
            "description": "Language for event names and descriptions. English is the default; other languages fall back to English when no translation exists.",
            "default": "en"
          },
          "currency": {
            "title": "💱 Output currency",
            "enum": [
              "EUR",
              "USD",
              "GBP",
              "CHF",
              "CAD",
              "AUD",
              "JPY",
              "CNY",
              "AED",
              "ARS",
              "BRL",
              "CLP",
              "DKK",
              "HUF",
              "ISK",
              "KRW",
              "MKD",
              "MXN",
              "MYR",
              "NOK",
              "PEN",
              "QAR",
              "RSD",
              "RUB",
              "SAR",
              "SEK",
              "SGD",
              "UYU"
            ],
            "type": "string",
            "description": "Currency for every price field in the output. EUR is the source-of-truth (Ticombo prices everything in EUR internally). Other currencies are converted using the live EUR-based rate Ticombo's own frontend uses.",
            "default": "EUR"
          },
          "maxResults": {
            "title": "📦 Maximum events",
            "minimum": 1,
            "type": "integer",
            "description": "Total number of unique events to return across every input mode combined.<br><br>Each event row is billed once. Keep low for a cheap first run.",
            "default": 50
          },
          "includeListings": {
            "title": "Include ticket listings",
            "type": "boolean",
            "description": "Fetch individual seller listings for every event (section, row, quantity, price, seller, delivery method).<br><br><b>Cost note:</b> each listing is billed as a separate event. A single event can return up to 200 listings.",
            "default": false
          },
          "maxListingsPerEvent": {
            "title": "Maximum listings per event",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Per-event cap on collected listings when <b>Include ticket listings</b> is on. The Ticombo public catalogue caps at ~200 listings per event.",
            "default": 200
          },
          "dayPassPurchase": {
            "title": "Purchase 24-hour day pass — $4.99",
            "type": "boolean",
            "description": "<b>⚠️ This is a real-money purchase.</b> Setting <code>true</code> immediately charges <b>$4.99</b> to your Apify plan for a 24-hour day pass.<br><br>While active, every event and listing in every run is free — no per-event or per-listing fees. Ideal when you're actively hunting tickets for a specific event and want to poll aggressively — every minute if you want, the actor can handle it.<br><br><b>No auto-renew.</b> When the 24-hour window ends, billing returns to pay-per-event. You're never silently charged for another pass.<br><br>Run with this flag alone — no search terms or URLs needed. Subsequent runs within the window detect the pass automatically.",
            "default": false
          },
          "monthlyPassPurchase": {
            "title": "Purchase 30-day monthly pass — $49.00",
            "type": "boolean",
            "description": "<b>⚠️ This is a real-money purchase.</b> Setting <code>true</code> immediately charges <b>$49.00</b> to your Apify plan for a 30-day monthly pass.<br><br>While active, every event and listing in every run is free for 30 days. Cheaper than the day pass if you'll run this actor on more than 10 distinct days in a month — typical for resellers, aggregators, and always-on monitoring.<br><br><b>No auto-renew.</b> When the 30-day window ends, billing returns to pay-per-event. No recurring subscription, no silent monthly charge — buy the next pass only when you want one.<br><br>Run with this flag alone to purchase. The pass attaches to your Apify account and applies to all subsequent runs within the window.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}