UptimeRobot: Monitoring Bot User Agent and IP List
UptimeRobot checks URLs that its users monitor. Its user agent, published IP lists, HEAD requests and how to allow or block the checks.
UptimeRobot is an uptime monitoring service, not a search or AI crawler. Its checks request only the URLs that its users add to monitors. If you monitor your own site with UptimeRobot, allow its IP addresses in your firewall. If someone else monitors your site and you do not want that, block its IP addresses or its user agent.
What the checks do
An UptimeRobot user creates a monitor for a URL or an IP address (UptimeRobot FAQ). Monitor types include HTTP(s), keyword, ping, port and heartbeat. UptimeRobot then sends a request at each monitoring interval and reports downtime to the user.
UptimeRobot’s help article about Cloudflare gives these details:
- HTTP monitors send a HEAD request by default. A HEAD request asks for the headers of a page without its body.
- If the HEAD request does not get a successful response, UptimeRobot tries the check again with GET.
- Checks come from North America, Europe, Asia and Oceania.
UptimeRobot says that its checks do not change JavaScript analytics such as Google Analytics, because the checks do not run JavaScript. If your analytics reads server logs, exclude the UptimeRobot IP addresses.
User-agent string
A user agent is the client name in the User-Agent HTTP header. UptimeRobot documents this user agent:
Mozilla/5.0+(compatible; UptimeRobot/2.0; http://www.uptimerobot.com/)
The + after Mozilla/5.0 is part of the string. If you match the full string, keep the +.
IP addresses
UptimeRobot keeps its current monitoring IP addresses on its Locations and IPs page. It also publishes them as files:
- JSON: api.uptimerobot.com/meta/ips
- IPv4 text file: IPv4.txt
- IPv4 and IPv6 text file: IPv4andIPv6.txt
UptimeRobot adds new locations from time to time. If you keep an allow list, update it from these sources when you change firewall rules. A partial list causes alerts that come and go: checks from allowed IP addresses pass, and the others fail.
Allow UptimeRobot
If your firewall, CDN or bot protection blocks the checks, your monitor reports false downtime. UptimeRobot recommends an allow list by IP address, because any client can send its user-agent string. For Cloudflare, its help article gives these steps:
- In Cloudflare, go to Security, then WAF, then Custom rules, and create a rule.
- Match the UptimeRobot IP addresses from a Cloudflare IP list.
- Set the action to Skip, not Allow.
- Skip the other custom rules, rate limiting rules, managed rules and Super Bot Fight Mode.
- Put the rule first in the rule order.
Block UptimeRobot
UptimeRobot does not say that its checks read robots.txt. A check requests the exact URL that the monitor owner entered. If you want to stop checks that you did not set up, block them on your firewall with the IP lists above. You can also block the user agent on your web server. This nginx example returns HTTP 403 for any user agent that contains UptimeRobot:
if ($http_user_agent ~* "UptimeRobot") {
return 403;
}
UptimeRobot marks a monitor as down when its checks are blocked. So after a block, the owner of that monitor sees your site as down.