If you track events on public, unauthenticated websites, bot web traffic from crawlers, scrapers, and similar tools can affect your metrics. Amplitude Data lets you use a **block filter** to prevent that data from being ingested.

## How bot blocking works

Amplitude blocks bot traffic based on User-Agent, as identified by the [IAB/ABC International Spiders and Bots List](https://www.iab.com/guidelines/iab-abc-international-spiders-bots-list/). Blocking applies by default to data sent through the [legacy JavaScript SDK](https://github.com/amplitude/Amplitude-JavaScript) or the [TypeScript Browser SDK](https://github.com/amplitude/Amplitude-TypeScript/tree/main/packages/analytics-browser) (version 1.10.0 and later). You can also provide the `user_agent` field directly on events sent through the HTTP API or Batch API. Be careful when doing this, because the value **must represent a valid browser** or Amplitude drops the event.

You can't recover data that a block filter removes, because Amplitude never ingests it.

## Create a block filter for bot web traffic

To create a block filter for bot web traffic, follow these steps:

1. Make sure you're on `main`. Filters aren't accessible from any other branch.
2. In the left-hand sidebar, click *Filters*, then select the *Block Filters* tab.
3. Click *+ Create Block Filter* to open the Filter Configuration fly-out panel.
4. Select *Bot Traffic* from the *Block* drop-down.

5. When you're ready, click *Block Data* to start the block filter.

## Related resources

- [Block and filter internal users](/docs/data/troubleshooting/instrumentation-issues#block-and-filter-internal-users): Learn how to exclude internal user data from your metrics.
- [Winsorization in Experiment](/docs/feature-experiment/advanced-techniques/winsorization-in-experiment): Find and resolve outliers that may skew your experiment results.
