{
  "openapi": "3.0.1",
  "info": {
    "title": "Immunefi Bug Bounty & Audit Competition Scraper",
    "description": "Scrape every Immunefi bug bounty program and audit competition: max bounty, rewards pool, vault balance, KYC / proof-of-concept / pay-to-submit friction, ecosystems and languages. Friction and opportunity scores rank 240+ programs by what is worth hunting. HTTP-only, no login.",
    "version": "0.0",
    "x-build-id": "AN9EV5udm01lf1Nka"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tactful_anvil~immunefi-bug-bounty-audit-competition-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tactful_anvil-immunefi-bug-bounty-audit-competition-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/tactful_anvil~immunefi-bug-bounty-audit-competition-scraper/runs": {
      "post": {
        "operationId": "runs-sync-tactful_anvil-immunefi-bug-bounty-audit-competition-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/tactful_anvil~immunefi-bug-bounty-audit-competition-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-tactful_anvil-immunefi-bug-bounty-audit-competition-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": {
          "board": {
            "title": "Which board",
            "enum": [
              "both",
              "bounties",
              "competitions"
            ],
            "type": "string",
            "description": "<b>both</b> = bug bounty programs + audit competitions (default). <b>bounties</b> = always-open bug bounty programs only. <b>competitions</b> = time-boxed audit competitions only.",
            "default": "both"
          },
          "excludeKyc": {
            "title": "Exclude programs requiring KYC",
            "type": "boolean",
            "description": "Hide programs that require identity verification before paying out. Essential if you research pseudonymously.",
            "default": false
          },
          "excludePayToSubmit": {
            "title": "Exclude pay-to-submit programs",
            "type": "boolean",
            "description": "Hide programs that charge a fee (typically 50-100 USDC) just to file a report.",
            "default": false
          },
          "excludeInviteOnly": {
            "title": "Exclude invite-only programs",
            "type": "boolean",
            "description": "Hide programs you cannot join without an invitation. On by default - they are not actionable.",
            "default": true
          },
          "liveCompetitionsOnly": {
            "title": "Live audit competitions only",
            "type": "boolean",
            "description": "Drop finished and evaluating audit competitions, keeping only those still accepting submissions.",
            "default": false
          },
          "minMaxBountyUsd": {
            "title": "Min max-bounty (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only programs whose top payout is at least this much. Example: <code>100000</code>."
          },
          "maxFrictionScore": {
            "title": "Max friction score (0-100)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Friction combines KYC (35%), submission fee (25%), proof-of-concept requirement (25%) and invite-only (15%). Example: <code>25</code> returns only low-hassle programs."
          },
          "minOpportunityScore": {
            "title": "Min opportunity score (0-100)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Composite of bounty size (45%), low friction (25%), program upkeep (15%) and payout assurance (15%). Example: <code>60</code>."
          },
          "maxDaysSinceUpdate": {
            "title": "Max days since program was updated",
            "minimum": 0,
            "type": "integer",
            "description": "Skip abandoned programs. Example: <code>90</code> keeps only programs whose scope has been touched in the last quarter."
          },
          "ecosystems": {
            "title": "Ecosystems",
            "type": "array",
            "description": "Filter by chain/ecosystem tag, e.g. <code>ETH</code>, <code>Solana</code>, <code>Base</code>, <code>Arbitrum</code>. Leave empty for all. Case-insensitive.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "languages": {
            "title": "Languages",
            "type": "array",
            "description": "Filter by the code you can actually audit, e.g. <code>Solidity</code>, <code>Rust</code>, <code>Go</code>, <code>Move</code>. Leave empty for all.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "projectTypes": {
            "title": "Project types",
            "type": "array",
            "description": "Filter by project type tag, e.g. <code>Infrastructure</code>, <code>DeFi</code>. Leave empty for all.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "searchText": {
            "title": "Search text",
            "type": "string",
            "description": "Substring match against project name, slug, ecosystems, languages and project types (case-insensitive)."
          },
          "sortBy": {
            "title": "Sort results by",
            "enum": [
              "opportunity",
              "maxBounty",
              "lowestFriction",
              "recentlyUpdated",
              "newest",
              "endingSoon",
              "vaultBalance"
            ],
            "type": "string",
            "description": "Order of the dataset.",
            "default": "opportunity"
          },
          "maxItems": {
            "title": "Max programs",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Upper limit of programs to return (you are only charged for returned results).",
            "default": 1000
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Proxy settings. The default datacenter proxy works - the boards are public and HTTP-only. Switch to the RESIDENTIAL group only if runs start returning zero programs.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}