{
  "openapi": "3.0.1",
  "info": {
    "title": "Conference Events Scout",
    "description": "Discovers conferences and returns opportunityScore, icpMatch, recommendedEngagement, audienceFit, dates, locations, and websites. Export data, run via API, schedule runs, or integrate with tools.",
    "version": "0.1",
    "x-build-id": "Vu5uMJ7TjLAeLE0ch"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/trovevault~conference-events-scout/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-trovevault-conference-events-scout",
        "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/trovevault~conference-events-scout/runs": {
      "post": {
        "operationId": "runs-sync-trovevault-conference-events-scout",
        "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/trovevault~conference-events-scout/run-sync": {
      "post": {
        "operationId": "run-sync-trovevault-conference-events-scout",
        "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": [
          "categories",
          "region"
        ],
        "properties": {
          "categories": {
            "title": "Conference Categories",
            "minItems": 1,
            "type": "array",
            "description": "One or more conference markets to search. The actor uses maintained public directories for each category, deduplicates events, then ranks them against your company description. Choose focused categories for cleaner recommendations, or several categories when building a broader event pipeline.",
            "items": {
              "type": "string",
              "enum": [
                "AI & Machine Learning",
                "E-commerce & Retail",
                "Digital Marketing",
                "SEO & Content Marketing",
                "SaaS & Developer Tools",
                "Cybersecurity",
                "Cloud & DevOps",
                "Data & Analytics",
                "Fintech",
                "Product & Design",
                "Sales & Growth",
                "Startup & Venture",
                "Healthcare Technology",
                "Education Technology"
              ],
              "enumTitles": [
                "AI & Machine Learning",
                "E-commerce & Retail",
                "Digital Marketing",
                "SEO & Content Marketing",
                "SaaS & Developer Tools",
                "Cybersecurity",
                "Cloud & DevOps",
                "Data & Analytics",
                "Fintech",
                "Product & Design",
                "Sales & Growth",
                "Startup & Venture",
                "Healthcare Technology",
                "Education Technology"
              ]
            },
            "default": [
              "AI & Machine Learning"
            ]
          },
          "region": {
            "title": "Region",
            "enum": [
              "Worldwide",
              "Europe",
              "North America",
              "Asia Pacific",
              "Middle East & Africa",
              "Latin America"
            ],
            "type": "string",
            "description": "Geographic region to keep in the final results. The actor filters by detected country, city, and directory region text. Use Worldwide for discovery, or choose Europe, North America, Asia Pacific, Middle East & Africa, or Latin America when your team can only act in specific markets.",
            "default": "Worldwide"
          },
          "dateFrom": {
            "title": "Date From",
            "type": "string",
            "description": "Start of the event date range in YYYY-MM-DD format. Leave blank to use today's date. The actor keeps conferences that start on or after this date."
          },
          "dateTo": {
            "title": "Date To",
            "type": "string",
            "description": "End of the event date range in YYYY-MM-DD format. Leave blank to use one year from today. A 6 to 12 month window usually gives enough lead time for speaking submissions, sponsorship planning, and travel decisions."
          },
          "maxResults": {
            "title": "Maximum Results",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Maximum number of ranked conference opportunities to save. Lower values keep runs cheaper and focus on the strongest matches. Use 5 to 20 for review runs, or 50 to 100 when building a larger event database.",
            "default": 5
          },
          "companyDescription": {
            "title": "Company or Product Description",
            "type": "string",
            "description": "Short description of the company, product, audience, and commercial goal used for AI scoring. Example: A B2B SaaS company selling web data and automation workflows to developers, agencies, and e-commerce teams. Better context produces more useful ICP match scores, engagement recommendations, and talk ideas."
          },
          "aiProvider": {
            "title": "AI Provider",
            "enum": [
              "openrouter-apify",
              "openrouter",
              "openai",
              "anthropic",
              "google",
              "openai-compatible",
              "none"
            ],
            "type": "string",
            "description": "AI service used for opportunity scoring. The default uses Apify's OpenRouter integration and does not require your own LLM token on Apify Cloud. Choose another provider only when you want the actor to use your own API key instead.",
            "default": "openrouter-apify"
          },
          "aiApiKey": {
            "title": "AI API Key",
            "type": "string",
            "description": "API key for your selected AI provider. Leave blank when using OpenRouter via Apify or No AI scoring. The key is used only for the scoring request, is stored encrypted by Apify, and is never written to the dataset or logs."
          },
          "aiModel": {
            "title": "AI Model",
            "type": "string",
            "description": "Optional model name for AI scoring. Leave blank to use the actor default for the selected provider. Examples: openai/gpt-4o-mini for OpenRouter, gpt-4o-mini for OpenAI, claude-3-5-haiku-latest for Anthropic, or gemini-1.5-flash for Google."
          },
          "aiBaseUrl": {
            "title": "AI Base URL",
            "type": "string",
            "description": "Base URL for an OpenAI-compatible provider, such as https://api.your-provider.com/v1. Use this only when AI Provider is OpenAI-compatible endpoint. Leave blank for OpenRouter, OpenAI, Anthropic, Google, or No AI scoring."
          },
          "datasetId": {
            "title": "Dataset ID (optional)",
            "type": "string",
            "description": "ID of an existing Apify dataset to append the same conference opportunity rows to, in addition to the default run dataset. Use this for pipeline chaining or shared dashboards. Leave blank to use only the default run dataset."
          },
          "runId": {
            "title": "Run ID (optional)",
            "type": "string",
            "description": "Optional run identifier copied to output rows for downstream tracing. Use this when another actor, scheduler, or workflow needs to link these opportunities back to a larger campaign run. Leave blank for standalone runs."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}