# Monitoring IPs and user agents

VitalSentinel sends requests to your site from the IP addresses on this page. If a firewall, a CDN, a WAF (web application firewall) or a security plugin blocks these requests, some modules cannot check your site. Use this page to allow VitalSentinel through.

## Which modules send requests to your site [#which-modules-send-requests-to-your-site]

All requests that VitalSentinel sends to your site come from the IP addresses on this page. These modules send requests:

- The VitalSentinel crawler, which [Site Health Monitoring](/site-health/overview), [Page Monitoring](/page-monitoring/overview) and [domain verification](/getting-started/domain-setup/verify-ownership) use.
- [Sitemap Monitoring](/sitemap-monitoring/overview), which reads your sitemap files.
- [Robots.txt Monitoring](/robots-txt-monitoring/overview), which reads your robots.txt file.
- [Uptime Monitoring](/uptime-monitoring/overview), which checks that your site answers.
- [Synthetic Monitoring](/synthetic-monitoring/overview), which tests your pages from the VitalSentinel locations.

Synthetic Monitoring tests from the **Google's Servers** location run on Google's PageSpeed Insights service, not from these addresses.

## Current IP addresses [#current-ip-addresses]

```
194.163.166.126
157.173.116.60
```

**Last updated:** October 6, 2026

The VitalSentinel crawler also publishes its IP addresses, its user agent, its crawl rate and allowlist steps as JSON. Use this address to keep your allowlist up to date:

```
GET https://app.vitalsentinel.com/api/public/v1/crawler
```

## User agents [#user-agents]

### Crawler user agent [#crawler-user-agent]

The VitalSentinel crawler, Sitemap Monitoring and Robots.txt Monitoring send this user agent:

```
VitalSentinel Bot/1.2 (+https://www.vitalsentinel.com/bot)
```

In a firewall rule, match requests whose user agent contains `VitalSentinel Bot`, without the version number. The app shows this value as **User agent contains**. A rule without the version continues to work when the version changes.

### Uptime Monitoring user agent [#uptime-monitoring-user-agent]

Uptime Monitoring checks send this user agent:

```
VitalSentinel Uptime Bot/1.2 (+https://www.vitalsentinel.com/bot)
```

A "contains" rule for `VitalSentinel` matches both user agents.

### The robots.txt name [#the-robotstxt-name]

In robots.txt, the VitalSentinel crawler uses the name `VitalSentinel-Bot`. The app shows this value as **Robots.txt name**. A robots.txt name cannot contain a space or a slash, so it is different from the user agent.

## robots.txt and the crawler [#robotstxt-and-the-crawler]

The crawler of Site Health Monitoring and Page Monitoring obeys your robots.txt. It follows the `VitalSentinel-Bot` group, or the `*` group if there is no `VitalSentinel-Bot` group.

Robots.txt Monitoring and Sitemap Monitoring send the same user agent, but they do not read robots.txt rules. They fetch your robots.txt and sitemap files directly.

If your robots.txt disallows the crawler for the homepage or the sitemap, the app shows the banner "Your robots.txt keeps our crawler out". To fix it, remove the `Disallow` rule that matches `VitalSentinel-Bot` (or `User-agent: *`) for these addresses.

## Crawl rate [#crawl-rate]

The typical load of the crawler is about one page a minute for each site. The exact pace depends on your plan. For the plan details, see [Plans and limits](/workspace/plans-and-limits). The crawler can also do short bursts of extra checks.

Pages that you watch in Page Monitoring add load. This load can be up to 60 page loads a minute for each site, but it is usually much lower. Each page load also fetches the scripts, styles and API calls of the page.

<Callout type="warn">
  Do not rate-limit these IP addresses below 60 page loads a minute for each site. Each page load sends more than one request, so the safest choice is to exempt the addresses from rate limits.
</Callout>

## When to allow VitalSentinel [#when-to-allow-vitalsentinel]

Allow the VitalSentinel addresses and user agents if one of these is true:

- The app shows a red banner such as "Your site is turning our crawler away" or "A bot challenge is stopping our crawler".
- A module shows "Not measured because your server refuses our checks".
- Your site is behind a firewall that blocks unknown traffic.
- You use bot protection or a WAF with strict rules.
- Your hosting provider limits access by IP address.
- You use rate limits that can block monitoring requests.

## How to allow VitalSentinel [#how-to-allow-vitalsentinel]

Allow both IP addresses. Also allow requests whose user agent contains `VitalSentinel Bot`. Do not use the user agent as your only rule, because anyone can copy a user agent. The steps depend on your firewall or CDN.

### Cloudflare [#cloudflare]

1. In **Security > WAF**, add a custom rule.
2. Match the user agent `VitalSentinel Bot` and the IP addresses in the list above.
3. Set the action to **Skip**.
4. Select every security feature that the rule can skip.
5. Add a separate exception for Bot Fight Mode and Super Bot Fight Mode.
6. Move the rule to the top of the list, so that no other rule runs before it.

### AWS WAF [#aws-waf]

1. Create an IP set with the VitalSentinel IP addresses.
2. Create a rule that allows this IP set.
3. Give the rule a higher priority than all block rules and bot rules.
4. Apply the web ACL.

### Akamai [#akamai]

1. In Bot Manager, add the VitalSentinel user agent and IP addresses to an allowed known bot category.
2. Make sure that no Kona rule denies the same requests first.
3. Activate the change.

### Imperva [#imperva]

1. In **Security > Rules**, add an allowlist rule for the VitalSentinel user agent and IP addresses.
2. Apply the rule to the site.

### Sucuri [#sucuri]

1. In **Firewall > Access Control**, allowlist the VitalSentinel IP addresses.
2. Save the change.

### Wordfence [#wordfence]

1. In **Wordfence > Firewall**, add the VitalSentinel IP addresses under **Allowlisted IPs**.
2. Add the user agent `VitalSentinel Bot` to the allowlisted services in **Blocking** or **Rate Limiting**.
3. Save the change.

### Vercel [#vercel]

1. In **Firewall**, add a custom rule with the action **Bypass** for the VitalSentinel user agent and IP addresses.
2. Publish the rule.

### Other firewalls and hosts [#other-firewalls-and-hosts]

- **DataDome:** add an allowlist rule for the VitalSentinel user agent and IP addresses.
- **HUMAN (PerimeterX):** add the IP addresses to the allowed IPs and the user agent to the allowed user agents.
- **F5 BIG-IP:** add the IP addresses to the IP Address Exceptions of the security policy.
- **Imunify360:** add the IP addresses to the White List, or ask your host to do this.
- **ModSecurity:** ask your host to allowlist the VitalSentinel user agent and IP addresses for the rule that blocks it.

### Nginx [#nginx]

If your Nginx configuration blocks addresses with `deny` lines, add these lines before the first `deny` line. Nginx uses the first line that matches the address.

```nginx
allow 194.163.166.126;
allow 157.173.116.60;
```

### Apache [#apache]

<Callout type="warn">
  Do not add these lines alone to an `.htaccess` file. Then only these two addresses can open your site.
</Callout>

If your Apache configuration allows only some IP addresses, add these lines next to your other `Require ip` lines:

```apache
Require ip 194.163.166.126
Require ip 157.173.116.60
```

## Check that VitalSentinel can reach your site [#check-that-vitalsentinel-can-reach-your-site]

After you change your firewall, the next check of each module picks up the change. To check it sooner, do these steps:

1. If the red crawler banner shows, click **Check again** in the banner.
2. In Site Health Monitoring, open **Settings** and find the **Crawler access** card. This card shows if the crawler can reach your site now.
3. In Uptime Monitoring, make sure that the newest checks succeed.

The red crawler banner clears itself after the next good fetch.

<Callout type="info">
  These IP addresses can change in the future. VitalSentinel updates this page and the JSON list above when they change.
</Callout>

## Troubleshooting [#troubleshooting]

### Why does VitalSentinel show "Your site is turning our crawler away"? [#why-does-vitalsentinel-show-your-site-is-turning-our-crawler-away]

Your site answers the VitalSentinel crawler with an access error instead of the page. If you use a firewall, a CDN or a security plugin, allow the user agent and the IP addresses on this page. Then click **Check again**.

### Why does VitalSentinel show "A bot challenge is stopping our crawler"? [#why-does-vitalsentinel-show-a-bot-challenge-is-stopping-our-crawler]

Your bot protection shows the crawler a challenge page instead of the page. If you use Cloudflare, add the exception for Bot Fight Mode and Super Bot Fight Mode. For other tools, add a "contains" rule for `VitalSentinel Bot` in your bot protection.

### Why does Uptime Monitoring show "Not measured because your server refuses our checks"? [#why-does-uptime-monitoring-show-not-measured-because-your-server-refuses-our-checks]

Your server answers the uptime checks with an error, usually 403. Allow the IP addresses and the user agent on this page in your firewall or CDN. If your site refuses the checks on purpose, you can turn on **Accept as up** in the notice.

## Related [#related]

- [Troubleshooting](/help/troubleshooting) - other problems that affect more than one module
- [Site Health Monitoring settings](/site-health/settings) - the **Crawler access** card
- [Verify ownership](/getting-started/domain-setup/verify-ownership) - verification methods that need crawler access
- [Uptime Monitoring](/uptime-monitoring/overview) - availability checks
- [Robots.txt Monitoring](/robots-txt-monitoring/overview) - which crawlers your robots.txt allows
