# Scanning These APIs allow URLs to be scanned and the results of the scans to be retrieved. ## Scan - [POST /api/v1/scan](https://docs.urlscan.io/apis/urlscan-openapi/scanning/submitscan.md): Submit a URL to be scanned and control options for how the scan should be performed. ## Result - [GET /api/v1/result/{scanId}/](https://docs.urlscan.io/apis/urlscan-openapi/scanning/resultapi.md): Using the Scan ID received from the Submission API, you can use the Result API to poll for the scan. The most efficient approach would be to wait at least 10 seconds before starting to poll, and then only polling 2-second intervals with an eventual upper timeout in case the scan does not return. ## Screenshot - [GET /screenshots/{scanId}.png](https://docs.urlscan.io/apis/urlscan-openapi/scanning/screenshot.md): Use the scan UUID to retrieve the screenshot for a scan once the scan has finished. ## DOM - [GET /dom/{scanId}/](https://docs.urlscan.io/apis/urlscan-openapi/scanning/dom.md): Use the scan UUID to retrieve the DOM snapshot for a scan once the scan has finished. ## Response - [GET /responses/{fileHash}/](https://docs.urlscan.io/apis/urlscan-openapi/scanning/response.md): Get a (Script|Document|Fetch|XHR) response in plain text format by SHA256 hash. Note that this endpoint returns the content as text/plain. If you need to download a binary file (like a ZIP file, etc.), use the Download a file endpoint instead. ## Available Countries - [GET /api/v1/availableCountries](https://docs.urlscan.io/apis/urlscan-openapi/scanning/availablecountries.md): Retrieve countries available for scanning using the Scan API ## Available User Agents - [GET /api/v1/userAgents](https://docs.urlscan.io/apis/urlscan-openapi/scanning/useragents.md): Get grouped user agents to use with the Scan API.