Skip to main content

Overview

The API Scanner tests REST and GraphQL APIs for security vulnerabilities. It understands API specifications (OpenAPI/Swagger, Postman collections) and uses GraphQL introspection to test your API endpoints for security issues. The API Scanner is a vulnerability scanner: it actively tests APIs for security weaknesses. It does not add data to your Attack Surface. Identified vulnerabilities are reported as findings.

Supported targets

Scan types

Parameters comparison

Tests comparison

Initial tests Passive checks Active checks
The Deep scan performs active vulnerability testing and generates significant network traffic. Most correctly configured security monitoring systems will detect this scan. Do not use it if you don’t have proper authorization from the target API owner.

Custom scan

Allows you to select the API type to scan:
When GraphQL is selected, the Specification toggle is disabled. The scanner uses GraphQL introspection to automatically discover available queries, mutations, input types, and schema structure.

API specification

The Specification toggle controls whether you provide an API specification file. When enabled, you can provide a specification to ensure full endpoint coverage.
Providing an API specification significantly improves scan coverage by ensuring all endpoints are tested, especially for REST APIs where auto-discovery may miss undocumented endpoints.

OpenAPI URL

Provide a publicly available URL to your OpenAPI 2.0/3.0 specification file (JSON or YAML format).
Before running the scan, validate your OpenAPI specification at editor.swagger.io to ensure it’s correctly formatted.

Upload OpenAPI specification

Upload your OpenAPI specification file directly. Supported formats:
  • JSON (.json)
  • YAML (.yaml, .yml)
Maximum file size: 10 MB

Upload Postman collection

Upload your Postman Collection file (v2.1). Supported format:
  • JSON (.json)
Maximum file size: 10 MB
Specification options are only available for REST APIs. When GraphQL is selected as the API type in Custom mode, the specification toggle is disabled and the scanner uses GraphQL introspection instead.

Initial tests

Initial tests identify the API framework, discover endpoints, and check for basic security issues. All initial tests run in both Light and Deep scans.

Passive checks

Passive checks analyze API responses without sending attack payloads. See the tests comparison table for Light vs Deep availability.

Active checks

Active checks send payloads to identify exploitable vulnerabilities. See the tests comparison table for Light vs Deep availability.

Authentication

Configure authentication to test protected API endpoints. Authentication is available in Deep and Custom scan modes only. The API Scanner supports header-based authentication for APIs using JWT tokens, Bearer tokens, API keys, or custom authorization schemes. How to configure:
1

Enable authentication

Enable Authentication in the scan configuration.
2

Enter headers

Enter your authentication headers (one per line).
Example:
If your API uses multiple authentication mechanisms (e.g., both a Bearer token and an API key), include all required headers on separate lines.
For more details, see Authenticated scanning > API Scanner.

How it works

The API Scanner works in these steps:
  1. Discovery: Identifies API type (REST or GraphQL) and parses specifications
  2. Fingerprinting: Identifies API framework and technology stack
  3. Endpoint mapping: Extracts all endpoints from specification or introspection
  4. Passive analysis: Analyzes all responses for security issues without sending payloads
  5. Active testing: Injects payloads into parameters to test for vulnerabilities (Deep scan only)
  6. Reporting: Generates findings with evidence and remediation guidance
For REST APIs, the scanner parses OpenAPI or Postman collection files to identify all available endpoints and their parameters. For GraphQL APIs, the scanner parses the introspection schema to discover available queries, mutations, and types.

Follow-up actions

After identifying vulnerabilities:
  • Prioritize by severity: Address Critical and High findings first
  • Test web application: Run Website Scanner for the frontend
  • Review authentication: Strengthen API authentication mechanisms
  • Implement rate limiting: Add rate limiting to prevent abuse
  • Schedule regular scans: Set up Scheduled scans for continuous monitoring