The website and the API share one daily scan: using it on either uses it up on both. Polling a scan every 2 seconds for its full minute takes about 30 requests.
A scan request rejected for another reason, like a bad URL or a full queue, doesn’t use up your scan.
Headers
GET responses, and scan requests that are accepted or rate-limited, include:
When you hit a limit
You get429, with a Retry-After header in seconds:
503 instead, also with Retry-After. Check GET /api/v1/quota before starting a scan to avoid a wasted request.
From a browser
TheGET endpoints accept requests from any origin. Starting a scan doesn’t: call POST /api/v1/scan from a server or script.