{
  "openapi": "3.0.1",
  "info": {
    "title": "Bug Bounty Program Finder",
    "description": "Find public bug bounty programs, vulnerability disclosure programs, security.txt contacts, rewards, scope, safe harbor notes, and disclosure policy URLs, then output normalized security program records for research, lead generation, and monitoring.",
    "version": "1.0",
    "x-build-id": "M3KaGFTXmM5Tw3lvP"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/thescrapelab~bug-bounty-program-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-thescrapelab-bug-bounty-program-finder",
        "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/thescrapelab~bug-bounty-program-finder/runs": {
      "post": {
        "operationId": "runs-sync-thescrapelab-bug-bounty-program-finder",
        "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/thescrapelab~bug-bounty-program-finder/run-sync": {
      "post": {
        "operationId": "run-sync-thescrapelab-bug-bounty-program-finder",
        "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": {
          "query": {
            "title": "Keyword, company, or industry",
            "type": "string",
            "description": "Optional search term for finding public bug bounty programs and vulnerability disclosure programs. Use a company name, domain, industry, or topic such as fintech, cloud, crypto, SaaS, or API.",
            "default": ""
          },
          "domainOrUrl": {
            "title": "Domains or URLs",
            "enum": [
              "",
              "https://github.com/security",
              "https://stripe.com/security",
              "https://hackerone.com/directory/programs",
              "https://bugcrowd.com/programs",
              "https://yandex.com/bugbounty/"
            ],
            "type": "string",
            "description": "Optional preset domain or security page to check directly. Leave blank to search by keyword only.",
            "default": ""
          },
          "startDomains": {
            "title": "Domains to check (legacy)",
            "description": "Legacy field for direct domain checks. You can use this or the Domains or URLs field above."
          },
          "sources": {
            "title": "Sources to search",
            "type": "array",
            "description": "Choose where to search for bug bounty programs, VDPs, security.txt contacts, and policy pages. The default uses one reliable source for a fast first run; API users can select all for broad discovery.",
            "items": {
              "type": "string"
            },
            "default": [
              "bugcrowd"
            ]
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum number of program records to collect. Use a small limit for testing and a larger limit for full exports.",
            "default": 10
          },
          "includeDetails": {
            "title": "Include detail pages",
            "type": "boolean",
            "description": "Visit individual program pages to extract richer scope, reward, submission, and safe harbor details. Turn off for cheaper directory-only runs.",
            "default": false
          },
          "programType": {
            "title": "Program type filter",
            "type": "string",
            "description": "Optionally keep only one type of result.",
            "default": "all"
          },
          "minBounty": {
            "title": "Minimum visible reward (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include programs with a known maximum reward at or above this amount. Set 0 for no reward filter.",
            "default": 0
          },
          "includeNoRewardPrograms": {
            "title": "Include no-reward VDPs",
            "type": "boolean",
            "description": "Include vulnerability disclosure programs and policy pages that do not publish a monetary reward.",
            "default": true
          },
          "safeHarborOnly": {
            "title": "Safe harbor only",
            "type": "boolean",
            "description": "Only return programs where safe harbor language was detected.",
            "default": false
          },
          "enrichAssets": {
            "title": "Enrich in-scope assets with DNS",
            "type": "boolean",
            "description": "Passively resolve IPs, CNAMEs, and TXT records for in-scope domains. This can make runs slower and should only be enabled when you need DNS context.",
            "default": false
          },
          "changedSince": {
            "title": "Changed since",
            "type": "string",
            "description": "Optional ISO date. When combined with a previous run, only return programs first seen or updated since this date."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}