# Start scanning

You can use Snyk to scan your code manually and automatically using the [Snyk CLI](#scan-using-the-cli), the [Snyk web UI](#scan-using-the-web-ui), the [Snyk API](#scan-using-the-api), and by running [PR Checks](#using-pr-checks).

{% hint style="info" %}
Scans (tests) may be limited on your account, depending on your [pricing plan](/implementation-and-setup/enterprise-implementation-guide/trial-limitations.md). For more information, see [What counts as a test?](/snyk-data-and-governance/what-counts-as-a-test.md)
{% endhint %}

<table><thead><tr><th width="220">Features</th><th width="126">Snyk Web UI</th><th width="111">Snyk CLI</th><th width="135">Snyk API</th><th>PR Checks</th></tr></thead><tbody><tr><td>Auto scanning</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td></tr><tr><td>Manual scanning</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2796">➖</span></td></tr><tr><td>Local scans</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2796">➖</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2796">➖</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2796">➖</span></td></tr><tr><td>Incorporate into the CI/CD pipelines</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2796">➖</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2796">➖</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2796">➖</span></td></tr><tr><td>Obtain results precisely reflecting the Project vulnerabilities and configurations</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td></tr></tbody></table>

## Scan using the CLI

{% hint style="info" %}
See [Getting started with the CLI](/developer-tools/snyk-cli/getting-started-with-the-snyk-cli.md) for more details.
{% endhint %}

Use the following Snyk [CLI commands](/developer-tools/snyk-cli/cli-commands-and-options-summary.md) for specific scanning methods:

<table><thead><tr><th width="190">Command</th><th width="236">Function</th><th>More details</th></tr></thead><tbody><tr><td><a href="/pages/TyHEqPvReKQ9u4LnFQVQ">snyk test</a></td><td>Scan open-source code</td><td><a href="/pages/-MgqjtNZhEMXpsqlrZ3Z">Use Snyk Open Source from the CLI</a></td></tr><tr><td><a href="/pages/QC0V6QX8rOGLrQFDmxAT">snyk code test</a></td><td>Scan application code</td><td><a href="/pages/-Mjcqn2r7T27TNmd2uM0">Use Snyk Code from the CLI</a></td></tr><tr><td><a href="/pages/NPf3z2b1X5C41nZgH8m2">snyk container test</a></td><td>Scan container images</td><td><a href="/pages/-Mgkwj1wmQETpJRvpURO">Use Snyk Container from the CLI</a></td></tr><tr><td><a href="/pages/nFiB0PZYeWHazzuZd5Dm">snyk iac test</a></td><td>Scan infrastructure as code (IaC) files</td><td><a href="/pages/-MgqDGy92Mmr16y87Sp_">Snyk CLI for IaC</a></td></tr><tr><td><a href="/pages/BJX8yTgl8ibW7mGT31yP">snyk monitor</a> and <a href="/pages/PjpBLaQE99iY4m9qCI6A">snyk container monitor</a></td><td>Continually monitor a Project for new vulnerabilities.</td><td><a href="/pages/-Mgug2CJYdfbkmY6DssB">Monitor your projects at regular intervals</a></td></tr></tbody></table>

## Scan using the Web UI

A scan runs when you import a Snyk Project (see [Import a Project to scan and identify issues ](/discover-snyk/getting-started.md#import-a-project-to-scan-and-identify-issues)or click **Retest now** on a Project. Snyk then automatically runs periodic scans on that imported Project, to see if your code is affected by newly disclosed vulnerabilities.

The default scanning frequency and available frequencies vary depending on the type of Project. For more information, see [Usage settings](/snyk-platform-administration/groups-and-organizations/usage-settings.md).

You can also set the frequency in the Project **Settings** (see [View and edit Project settings](/snyk-platform-administration/snyk-projects/view-and-edit-project-settings.md)) or use the API Endpont [Updates project by project ID](/snyk-api/reference/projects.md#orgs-org_id-projects-project_id).

## Scan using the API

The Snyk API offers a set of endpoints to test your code. Scans are counted when calls are made to the test endpoint.

For more information, see the API [Test](/snyk-api/reference/test-v1.md) endpoint documentation.

## Using PR Checks

Snyk can scan every new Pull Request (PR) submitted on your monitored repositories to help prevent new vulnerabilities from being added to your codebase.

For more information, see [Pull Request Checks](/scan-with-snyk/pull-requests/pull-request-checks.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.snyk.io/scan-with-snyk/start-scanning.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
