HeadlessChrome
Headless Chrome web crawler for testing
About this crawler
HeadlessChrome is a web crawler identified by the regular-expression pattern HeadlessChrome in the User-Agent request header. It is categorised as browser-automation. Use the regex above to detect, log, allow, or block HeadlessChrome traffic in your web server, CDN edge rules, or robots.txt.
Block-rate · top 25k sites
0.065%
Technical details
- Name
- HeadlessChrome
- Pattern
HeadlessChrome- Tags
- browser-automation
- Reference
- https://developer.chrome.com/blog/headless-chrome/
- Added
- 2019/06/17
- rDNS suffixes
.pptr.dev,.puppeteer.dev- Instances
- 3 known sample(s)
rDNS verification (FCrDNS)
Verify a request is genuinely HeadlessChrome with forward-confirmed reverse DNS: the client IP's PTR record must end in one of the suffixes below and a forward A/AAAA lookup of that hostname must return the same IP. UA strings alone are spoofable; FCrDNS is not.
.pptr.dev.puppeteer.dev
Sample User-Agent strings
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/74.0.3729.169 Safari/537.36
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/69.0.3494.0 Safari/537.36
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/76.0.3803.0 Safari/537.36
Block this crawler
robots.txt — disallow HeadlessChrome:
User-agent: HeadlessChrome
Disallow: /
Apache .htaccess — return 403:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} HeadlessChrome [NC]
RewriteRule .* - [F,L]
Nginx — return 403 inside a server block:
if ($http_user_agent ~* "HeadlessChrome") {
return 403;
}
← back to all crawlers