Skip to main content

Bot Allowlisting Guide

PingZen identifies itself via User-Agent header and X-PingZen-Check header. Use this guide to allowlist PingZen monitoring requests in your firewall or WAF.

How PingZen Identifies Itself

  1. User-Agent: PingZen/1.0 (+https://pingzen.dev/docs/bot)
  2. X-PingZen-Check: monitor_id=<ID>
  3. Documentation: https://pingzen.dev/docs/bot

User-Agent:

PingZen/1.0 (+https://pingzen.dev/docs/bot) Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
User-AgentX-PingZen-Check203.0.113.10WAF

Probe IP Addresses

All checks from PingZen-operated locations originate from these IP addresses — the central server and our own probes. Add them to your firewall allowlist. Checks from partner-operated community probes are not listed here.

Loading current addresses…

API endpoint for current IPs:

GET /api/v1/probe/ips

Machine-readable list (one address per line, for bot-verification programs and automation): https://pingzen.dev/api/v1/probe/ips.txt

Cloudflare WAF

  1. Go to Security → WAF → Custom Rules

  2. Create a rule: if http.user_agent contains “PingZen” then Allow

    any(http.request.headers["x-pingzen-check"][*] contains "monitor_id") or (http.user_agent contains "PingZen/")
  3. Or allowlist by IP address using the IPs above

Tip: IP-based rules are more reliable than User-Agent rules since headers can be spoofed.

203.0.113.10PingZen/1.0198.51.100.7PingZen/1.0

AWS WAF

  1. Create an IP set with PingZen probe IPs
  2. Add a rule to your Web ACL: if source IP is in the IP set, then Allow

Other WAFs / Firewalls

General approach for any firewall or WAF:

  • Allow requests with X-PingZen-Check header
  • Allow requests with User-Agent containing “PingZen”
  • Allow requests from PingZen probe IP addresses (most reliable)

Verify Configuration

After allowlisting, run an on-demand check from your PingZen dashboard to confirm your monitor receives successful responses.