Whitelist us
in 30 seconds.
Monitoring crawler reference for WAF, firewall, and bot-management rules. UA string, behavior, source IPs, and ready-to-paste rules for Cloudflare, AWS WAF, and Nginx.
1. User-Agent string
Our HTTP checks and uptime probes identify themselves with:
VisualSentinelBot/2.0 (+https://visualsentinel.com/bot)Visual and performance checks use a headless Chrome User-Agent so the rendered page matches what real visitors see. If you need to whitelist headless rendering separately, contact us and we will publish a dedicated UA marker for those checks.
2. Behavior and rate
- Respects a per-customer configurable interval (1, 5, 10, 30 minutes).
- Never runs more than one in-flight check per (monitor, region) tuple.
- Honors
robots.txtonly for visual and content checks, not for customer-initiated uptime checks (an uptime monitor must probe blocked paths to detect outages). - Does not follow off-origin links. Each check visits exactly the configured URL.
- Does not execute form submissions or transactional actions.
3. Source IP addresses
All check traffic egresses from the following dedicated IPs. Adding these to your firewall or WAF allowlist is the most reliable way to let visual (screenshot) checks through bot protection, because visual checks run a real Chrome User-Agent and cannot be identified by UA string alone.
- EU region (Helsinki):
157.180.59.176 - US region:
5.78.139.24
The User-Agent string and reverse-DNS hostname remain reliable identification signals for HTTP uptime checks.
4. Two checks, two identities (read this first)
VisualSentinel runs two kinds of check, and they look different to your firewall:
- HTTP uptime checks send the
VisualSentinelBot/2.0User-Agent. These reach your origin and you will see them in your server logs. - Visual (screenshot) checks drive a real headless Chrome browser, so they present a normal Chrome User-Agent, not
VisualSentinelBot. A User-Agent allow rule therefore does nothing for them. Cloudflare challenges these at its edge, so a blocked visual check often never appears in your origin logs as a normal request.
Because the visual check cannot be matched by User-Agent, an IP allow rule is the dependable route (it also exempts our IPs from Bot Fight Mode and Super Bot Fight Mode, which a User-Agent rule does not).
5. Whitelisting examples
Cloudflare: one paste covers both checks
In Cloudflare go to Security → WAF → Custom rules, create a rule with action Skip (skip Bot Fight Mode and managed rules), and paste this expression. It matches our IP set (for the browser-based visual check) and the uptime User-Agent in a single rule:
(ip.src in {157.180.59.176 5.78.139.24}) or (http.user_agent contains "VisualSentinel") or (http.user_agent contains "Visual Sentinel")Prefer the menu? Security → WAF → Tools → IP Access Rules, add each IP above with action Allow, scoped to the site.
Verify it worked
A Cloudflare challenge is handled at the edge, so it will not show as a clean request in your origin logs. To confirm what is happening to our checks, open Security → Events and filter to our IPs above. Once the Skip rule is live, visual captures should start succeeding within a few minutes.
AWS WAF byte-match statement
{
"FieldToMatch": { "SingleHeader": { "Name": "user-agent" } },
"PositionalConstraint": "CONTAINS",
"SearchString": "VisualSentinelBot",
"TextTransformations": [{ "Priority": 0, "Type": "NONE" }]
}Nginx conditional bypass
if ($http_user_agent ~* "VisualSentinelBot") {
set $skip_rate_limit 1;
}6. Report abuse
If you believe VisualSentinelBot is hitting your infrastructure without a customer having asked us to, email abuse@visualsentinel.com with the domain name, sample requests, and the approximate rate. We will investigate within one business day.