Skip to content
createwithlogic

Original data · October 15, 2026

Do AI crawlers
render JavaScript?

Every page on this site sends one small ping when its JavaScript runs. For 27 hours we matched those pings against the crawlers in our server logs. OpenAI’s search crawler ran the JavaScript on 4 of the 7 pages it fetched, minutes after fetching them. In December 2024, Vercel and MERJ had found that none of the major AI crawlers did. Bing’s crawler ran it once. ChatGPT-User, PerplexityBot and GPTBot showed no sign of it, so text in the HTML is still the only version every crawler reads.

Can ChatGPT read your website?

For US accounting firms, CPA firms and real estate agents. Leave your email, and I will ask for your firm or brokerage name, city and website, then send back the free AI visibility check: what AI crawlers get from your site and what ChatGPT, Gemini and Perplexity say about you.

One reply to ask for your details, then the check. No newsletter.

Tim Muenzel

Tim Muenzel

builds and runs the systems himself

How we measured

Every page on createwithlogic.com carries a small script that sends one ping to our server when the page runs in a browser. A crawler that only reads the HTML never sends it. We collected our host’s request logs every 20 minutes from October 14, 2026, 01:09 UTC to October 15, 04:00 UTC, left out our own test requests, and matched each ping to the crawler that sent it by its user agent and the page named in its referer. A page counts as fetched when the crawler got it with status 200.

OpenAI’s search crawler ran the JavaScript on 4 of 7 pages

OAI-SearchBot, which OpenAI uses to surface websites in ChatGPT search, fetched 7 different pages 11 times. At 14:10 UTC on October 14 it fetched six of them within ten seconds, four seconds after ChatGPT-User, which opens pages while ChatGPT answers a user, had opened four of the same pages. Between 1 minute 47 seconds and 29 minutes later, requests with the same user agent from the same network sent the ping for four of those pages: our pages on AI visibility for accounting firms and for real estate agents, our guide to getting recommended by ChatGPT and our webinar page. The crawler did not fetch the HTML again before it ran them, and it reported window widths from 808 to 1,994 pixels. For our home page, fetched five times, our German home page and our CPA study, no ping came.

The user agent that ran it

The requests that fetched the pages and sent the pings carried the same user agent: a desktop Chrome 131 string that ends in “compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot”. They came from Microsoft’s network, like every other OpenAI request in our logs. To look for this in your own logs, search for requests that your page scripts send, such as analytics pings, and that carry a crawler’s user agent: a crawler that only reads the HTML cannot send them.

Bing ran it once, the others showed no sign

bingbot fetched 11 different pages 12 times and sent the ping once, for our home page, 16 minutes after fetching it. ChatGPT-User fetched pages 11 times, PerplexityBot 11, GPTBot 6, Exa’s crawler 14 and Amazonbot 8, and none of them sent a ping. Anthropic’s crawlers did not visit in this period. No ping does not prove that a crawler never runs JavaScript: Google says every page that answers with status 200 goes into its rendering queue, where a headless Chromium executes the JavaScript, yet Googlebot fetched pages 7 times and sent no ping either. A crawler can render after our window closed, or run a page and hold back requests like ours.

What changed since 2024

On December 17, 2024, Vercel and MERJ published an analysis of AI crawler traffic: none of the major AI crawlers rendered JavaScript. ChatGPT’s and Claude’s crawlers fetched JavaScript files, 11.50% and 23.84% of their requests, without executing them, while Gemini, which uses Google’s crawler, and AppleBot did render. On September 30, 2026, Hisashi Space, who runs a Japanese freelance marketplace, reported that OpenAI’s OAI-SearchBot and GPTBot had started rendering pages with JavaScript on their sites on September 25, checked against OpenAI’s published IP ranges and seen in link prefetches that only a rendered page sends. Our logs show the same for OpenAI’s search crawler from another angle, a ping from our own script, minutes after the fetch and not on every page. GPTBot fetched 6 pages from us and sent no ping.

What it means for your website

Keep the text in the HTML. In our logs, only OpenAI’s and Bing’s crawlers ran the JavaScript, on some pages and minutes after the fetch. Text in the HTML reaches every crawler on its first visit. Open your home page with JavaScript switched off in the browser settings: what is left is what an AI crawler gets on its first visit. In our studies, 3 of 184 CPA firm websites and 6 of 163 real estate agent websites showed their text only through JavaScript.

What this does not show

This is one website over 27 hours, with 11 visits from OpenAI’s search crawler, so read it as an observation, not a rate. In that window our host’s logs held no IP addresses, so we could not check these requests against the IP ranges OpenAI publishes, and a user agent can be faked. The pattern looks like a crawler at work rather than a person testing: the visit followed links between our pages, and the pings came minutes later without a new fetch, which fits the earlier report’s reading that OpenAI renders HTML it stored before. Since October 15, 2026, 04:29 UTC, our site logs the IP address of every request that claims to be a crawler, so later visits can be checked. We do not know why the crawler ran some pages and not others, or how often it does this on other sites.

The numbers at a glance

Our server logs, October 14, 2026, 01:09 UTC to October 15, 04:00 UTC, without our own test requests. A ping means the crawler ran the page’s JavaScript.

OAI-SearchBot (ChatGPT search) 11 fetches of 7 pages, ping from 4 pages
bingbot (Bing and Copilot) 12 fetches of 11 pages, ping from 1 page
ChatGPT-User (opens pages for ChatGPT users) 11 fetches, no ping
PerplexityBot (Perplexity search) 11 fetches, no ping
GPTBot (OpenAI model training) 6 fetches, no ping
Googlebot (Google says it renders JavaScript) 7 fetches, no ping
ExaSearchBot (Exa search) 14 fetches, no ping
Amazonbot 8 fetches, no ping
Time from fetch to ping 1 min 47 s to 29 min (OpenAI), 16 min (Bing)

One website and 27 hours, so read the counts as an observation, not a rate. No ping does not prove that a crawler never runs JavaScript. The raw rows are linked under the sources.

Test it yourself: a line that only JavaScript writes

The box below reads differently depending on who reads it. The HTML of this page holds one marker word; when the page runs in a browser, a small script replaces the line with a second marker word. Ask an AI assistant to quote the marker from this page, or search for either word: the word it gives back shows which version of the page it stored, the HTML or the one after JavaScript ran.

Without JavaScript this line reads: cwlhtml1015

Common questions, answered straight

Does ChatGPT render JavaScript?

Its search crawler sometimes does, since late September 2026 according to an earlier report. On October 14, 2026, OAI-SearchBot ran the JavaScript on 4 of the 7 pages it fetched from our site, minutes after fetching them. ChatGPT-User, which opens pages while ChatGPT answers a user, fetched pages 11 times and showed no sign of it. Text in the HTML reaches both.

Does Perplexity render JavaScript?

We saw no sign of it. PerplexityBot fetched pages from our site 11 times and never sent the ping. That does not prove it never runs JavaScript, but a page whose text needs JavaScript cannot count on it.

Does Claude render JavaScript?

Our logs cannot say: Anthropic’s crawlers did not visit in this period. Vercel and MERJ reported in December 2024 that Claude’s crawler fetched JavaScript files without executing them.

Do I still need server-side rendering for AI search?

Yes, if the text matters. Server-side rendering or static HTML puts the text into the first response, which every crawler reads. In our logs, only OpenAI’s and Bing’s crawlers ran the JavaScript, on some pages and minutes after the fetch.

How can I see what an AI crawler gets from my site?

Open the page with JavaScript switched off in your browser settings: what is left is what a crawler gets on its first visit. Our free AI crawler checker shows whether your robots.txt lets the crawlers in, and the check script from our studies, free on GitHub, loads a page the way a crawler first fetches it.

How can I check this on my own site?

Look in your server or CDN logs for requests that your page scripts send, such as analytics pings, and that carry a crawler’s user agent. A page view sent with OAI-SearchBot’s user agent can only come from a client that ran the page.

Want to know what AI crawlers get from your website?

The free AI visibility check reads your site the way AI crawlers fetch it and shows what ChatGPT, Gemini and Perplexity say about your firm, by email. For US accounting firms, CPA firms and real estate agents.