{
  "openapi": "3.0.1",
  "info": {
    "title": "Apify Opportunity Scout",
    "description": "Decide whether to build a new Apify Actor for a niche. Pulls demand from Apify Ideas + HN/Reddit/GitHub/Stack Exchange and supply from the Apify Store + ProductHunt/G2/Capterra, then returns a PURSUE/CONSIDER/SKIP verdict with rationale, top-5 competitor table, and pricing recommendation.",
    "version": "0.0",
    "x-build-id": "iCak5PjS2TR7UHgaZ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/shelvick~apify-opportunity-scout/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-shelvick-apify-opportunity-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/shelvick~apify-opportunity-scout/runs": {
      "post": {
        "operationId": "runs-sync-shelvick-apify-opportunity-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/shelvick~apify-opportunity-scout/run-sync": {
      "post": {
        "operationId": "run-sync-shelvick-apify-opportunity-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": [
          "niche"
        ],
        "properties": {
          "niche": {
            "title": "Niche",
            "minLength": 3,
            "maxLength": 500,
            "type": "string",
            "description": "Plain-language description of the Actor idea you're evaluating. Examples: 'BringATrailer auction monitoring', 'international Amazon marketplaces', 'GitHub repo health scoring'. The system auto-expands this into 3-12 search variants based on depth. Override with the `keywords` field only if auto-expansion would miss critical domain terms -- specific platform names, brand abbreviations, or niche-specific vocabulary the system wouldn't produce. 3-500 characters."
          },
          "depth": {
            "title": "Depth",
            "enum": [
              "quick",
              "standard",
              "deep"
            ],
            "type": "string",
            "description": "Which depth of analysis to run. Quick (5-15s) analyzes the Apify Store + Ideas Board only. Standard (30-60s) adds off-platform community demand (HN, GitHub, Stack Exchange, ProductHunt). Deep (1-3 min) adds Reddit discussion + commercial catalogs (G2, Capterra, Crunchbase) and more thorough analytical reasoning. Pick quick for fast triage, standard for most evaluations, deep for niches needing full competitive landscape review.",
            "default": "quick"
          },
          "keywords": {
            "title": "Keyword overrides (optional)",
            "maxItems": 20,
            "type": "array",
            "description": "Optional override for keyword expansion (e.g. ['BringATrailer', 'bat-auctions', 'classic-car-auction']). Leave empty for first-pass triage -- the system auto-expands the niche into 3-12 search variants based on depth. Provide explicit keywords only if you know auto-expansion misses critical domain terms (platform names, brand abbreviations, niche-specific vocabulary the system wouldn't produce). Up to 20 strings, each 1-100 characters.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            }
          },
          "categories": {
            "title": "Apify Store category constraint (optional)",
            "type": "array",
            "description": "Constrain the Apify Store supply search to specific categories (e.g. ['AI', 'AUTOMATION', 'DEVELOPER_TOOLS']). Leave empty to search all categories -- recommended for first pass. Valid values: AI, AGENTS, AUTOMATION, BUSINESS, COVID_19, DEVELOPER_EXAMPLES, DEVELOPER_TOOLS, ECOMMERCE, EDUCATION, FOR_CREATORS, GAMES, INTEGRATIONS, JOBS, LEAD_GENERATION, MARKETING, MCP_SERVERS, NEWS, OPEN_SOURCE, OTHER, REAL_ESTATE, SEO_TOOLS, SOCIAL_MEDIA, SPORTS, TRAVEL, VIDEOS.",
            "items": {
              "type": "string"
            }
          },
          "includeCommercial": {
            "title": "Include paid SaaS catalogs (deep mode)",
            "type": "boolean",
            "description": "Whether to scrape paid SaaS catalogs (G2, Capterra, Crunchbase) in deep mode. These signal buyer-routing risk: if competitors are already reviewed/funded there, the buyer may have routed away from Apify. Turn off if you already know there's no SaaS competition in this niche. No effect when depth is quick or standard.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}