{
  "openapi": "3.0.1",
  "info": {
    "title": "NVD CVE Scraper — Vulnerabilities by Product, Severity & KEV",
    "description": "CVE vulnerabilities from the official NIST NVD API 2.0: description, CVSS v3.1 / v4 score, CWE, affected vendor and product, CISA KEV fields. Filter by product, keyword, severity or KEV, and flag CVEs that are new or changed since your last run.",
    "version": "0.1",
    "x-build-id": "UrManj0c620VhNsBE"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/northbell~nvd-cve-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-northbell-nvd-cve-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/northbell~nvd-cve-scraper/runs": {
      "post": {
        "operationId": "runs-sync-northbell-nvd-cve-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/northbell~nvd-cve-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-northbell-nvd-cve-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": {
          "products": {
            "title": "Vendor / product (optional)",
            "type": "array",
            "description": "Only CVEs that affect these products, one per line. Write vendor:product as NVD spells it in CPE names (lower case, underscores for spaces), for example apache:http_server, microsoft:windows_11_24h2 or jetbrains:youtrack, or just a vendor such as jetbrains. A full CPE 2.3 name also works, for example cpe:2.3:a:apache:http_server:2.4.58. Several lines are searched one after the other and combined.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keywords (optional)",
            "type": "array",
            "description": "Words to find in the CVE description, one search per line. Several words on one line must all appear (not necessarily together). Leave empty to skip.",
            "items": {
              "type": "string"
            }
          },
          "keywordExactMatch": {
            "title": "Match each keyword line as an exact phrase",
            "type": "boolean",
            "description": "Tick this to require the whole line, for example \"Microsoft Outlook\", to appear as a phrase in the description.",
            "default": false
          },
          "cveIds": {
            "title": "CVE ids (optional)",
            "type": "array",
            "description": "Look up these CVE ids directly, one per line, for example CVE-2024-3094. Up to 100. Other filters are still applied.",
            "items": {
              "type": "string"
            }
          },
          "cweId": {
            "title": "Weakness (CWE id, optional)",
            "type": "string",
            "description": "Only CVEs with this weakness type, for example CWE-79 (cross-site scripting) or CWE-89 (SQL injection). Leave empty for all."
          },
          "severity": {
            "title": "Severity",
            "enum": [
              "ANY",
              "LOW",
              "MEDIUM",
              "HIGH",
              "CRITICAL"
            ],
            "type": "string",
            "description": "Only CVEs with this CVSS severity. With CVSS v3, the filter needs a CVSS v3 score, so a CVE that has none yet is not returned.",
            "default": "ANY"
          },
          "severityVersion": {
            "title": "CVSS version for the severity filter",
            "enum": [
              "v3",
              "v4"
            ],
            "type": "string",
            "description": "Which CVSS version the severity above refers to. Almost all CVEs have a v3 score; v4 is rarer. Ignored when severity is Any severity.",
            "default": "v3"
          },
          "minScore": {
            "title": "Minimum CVSS score (optional)",
            "minimum": 0,
            "maximum": 10,
            "type": "number",
            "description": "Only CVEs whose highest CVSS base score (v3.x or v4.0) is at least this, from 0 to 10, for example 7 for High and above. CVEs with no score are left out when this is above 0. Applied after reading, so CVEs that miss it are not charged."
          },
          "kevOnly": {
            "title": "Only CVEs on the CISA KEV list",
            "type": "boolean",
            "description": "Only CVEs that appear in CISA's Known Exploited Vulnerabilities catalog (exploitation in the wild). The KEV date, due date, required action and name are returned for them.",
            "default": false
          },
          "publishedSince": {
            "title": "Published since (optional)",
            "type": "string",
            "description": "Only CVEs published on or after this. Use a date such as 2026-10-01, a date and time in UTC such as 2026-10-01T08:00:00, or a relative value such as 7 days. If you set no filter at all, the Actor uses the last 7 days."
          },
          "publishedUntil": {
            "title": "Published until (optional)",
            "type": "string",
            "description": "Only CVEs published on or before this. Same formats as above. Empty means now."
          },
          "modifiedSince": {
            "title": "Modified since (optional)",
            "type": "string",
            "description": "Only CVEs whose record was last changed on or after this, same formats as above. Useful to catch re-scored or updated CVEs, for example 2 days."
          },
          "modifiedUntil": {
            "title": "Modified until (optional)",
            "type": "string",
            "description": "Only CVEs last changed on or before this. Same formats as above. Empty means now."
          },
          "noRejected": {
            "title": "Leave out rejected CVEs",
            "type": "boolean",
            "description": "Skip CVE records that were rejected (withdrawn, duplicates). Untick to include them.",
            "default": true
          },
          "maxResults": {
            "title": "Maximum CVEs",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "How many CVEs to return, newest first. You pay per CVE returned. With the minimum score, v4 severity or the new-only output, the Actor reads past CVEs that do not qualify until it has found this many.",
            "default": 100
          },
          "output": {
            "title": "What to return",
            "enum": [
              "all",
              "new",
              "new-or-changed"
            ],
            "type": "string",
            "description": "With the last two, CVEs you already got in an earlier run of the same search (and that have not changed) are skipped and not charged. The first run returns everything, because there is nothing to compare with yet.",
            "default": "all"
          },
          "apiKey": {
            "title": "Your NVD API key (optional)",
            "type": "string",
            "description": "Optional. Your own free key from nvd.nist.gov/developers/request-an-api-key. Without a key NVD allows 5 requests per 30 seconds per IP address and the Actor waits 6.5 seconds between requests; with a key it waits 0.7 seconds. Use only your own key; it is sent to NVD in a request header only; the Actor never logs it or writes it to the dataset."
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}