What user-agent strings and IP addresses does Prerender.io use?
Identify Prerender.io's crawlers by their user-agent strings and verify requests using reverse DNS or IP whitelisting.
TL;DR
Prerender.io uses custom user-agent strings containing Prerender (+https://github.com/prerender/prerender) when crawling your site. There are separate user-agent strings for desktop, mobile, and sitemap requests. Because user-agent strings can be spoofed, use reverse DNS lookups or IP whitelisting to verify that a request genuinely comes from Prerender.io.
Why this matters
When Prerender.io crawls your site to render and cache pages for AI crawlers and search engines, it identifies itself through its user-agent string. Your server or CDN may use this string to decide how to respond to the request.
Recognizing Prerender.io's user-agent strings ensures your site serves the correct content to Prerender.io's rendering service. Verifying requests by IP or reverse DNS prevents spoofed bots from receiving pre-rendered content they should not have access to.
Prerender.io user-agent strings
All Prerender.io crawlers include the following identifier in their user-agent string:
Prerender (+https://github.com/prerender/prerender)
| Crawler | Full user agent string |
|---|---|
| Prerender.io desktop | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/W.X.Y.Z Safari/537.36 |
| Prerender.io mobile | Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 Prerender |
| Prerender.io sitemap worker | Prerender |
ℹ️ W.X.Y.Z is a placeholder for the Chrome browser version used by the crawler (e.g., 124.0.6367.201-1). This version changes when Prerender.io updates its headless browser. If you serve device-specific content, make sure your logic accounts for both the desktop and mobile user-agent strings.
How to verify a request is from Prerender.io
User-agent strings can be spoofed. Do not rely on the user-agent string alone to authenticate requests or switch content. Use one of the following methods to verify that a request genuinely comes from Prerender.io.
Option 1: reverse DNS lookup
This confirms that the requesting IP resolves to a Prerender.io domain and back.
1. Get the IP address from your server logs for the request you want to verify.
2. Run a reverse DNS lookup:
host 142.54.167.130
Expected output:
130.167.54.142.in-addr.arpa domain name pointer us-mci1-38.renders.prerender.io.
3. Run a forward DNS lookup to confirm the pointer resolves back to the same IP:host us-mci1-38.renders.prerender.io
Expected output:us-mci1-38.renders.prerender.io has address 142.54.167.130
4. If the IP matches in both directions and the domain ends in .renders.prerender.io, the request is verified.
Option 2: IP whitelisting
Prerender.io publishes its full list of crawler IP ranges. You can use this list to whitelist Prerender.io in your firewall or CDN edge logic.
➡️ View Prerender.io's current IP ranges
For instructions on configuring IP whitelisting, see how to whitelist Prerender.io's IP addresses and user agents.
Current headless Chrome version
The Chrome version in Prerender.io's user-agent string changes when Prerender.io updates its rendering infrastructure. Check your server logs or your Prerender.io dashboard for the current value.
ℹ️ If your server-side logic depends on a specific Chrome version number, do not hard-code it. Parse the version dynamically from the user-agent string instead.
Related articles
- Prerender.io IP addresses
- How do I add AI crawlers and bots to my integration?
- How to control crawling and indexing
💬 Still need help? If you need help verifying Prerender.io requests or configuring your firewall rules, our support team can help. → Contact us at support@prerender.io