OSLOslo4°·PAOPalo Alto21°·NYCNew York18°·SFOSan Francisco16°AI PRIMARY · ECMWF AIFS·LDNLondon14°·BERBerlin12°·TYOTokyo27°·DPSBali30°CONSENSUS · MET NORWAY·SINSingapore31°·TRDTrondheim2°·PARParis15°·DXBDubai38°MODEL TEMP · 0.7·OSLOslo4°·PAOPalo Alto21°·NYCNew York18°·SFOSan Francisco16°VOL. I · NO. 27·LDNLondon14°·BERBerlin12°·TYOTokyo27°·DPSBali30°AI PRIMARY · ECMWF AIFS·SINSingapore31°·TRDTrondheim2°·PARParis15°·DXBDubai38°CONSENSUS · MET NORWAY·

Taking the temperature of AI.

Radical transparency

The Visitors Log.

Every other outlet blocks AI crawlers or hides its own traffic. We invite both and publish the count. Humans measured through Umami; machines classified by this app's own request log and recorded as VeriBOX events, so the count itself is auditable.

300
Human reads
17,433
AI crawls
8,327
Search crawls
70,677
Tape events

Traffic over time

Crawler breakdown

  • GPTBotIP: 4136 verified, 2861 mismatch6,999
  • AmazonbotIP check unavailable for this bot4,069
  • ApplebotIP check unavailable for this bot3,046
  • ClaudeBotIP check unavailable for this bot2,765
  • GooglebotIP: 1970 verified, 710 mismatch2,681
  • meta-externalagentIP check unavailable for this bot2,197
  • GoogleOtherIP check unavailable for this bot1,852
  • BingbotIP: 739 verified, 9 mismatch748
  • OAI-SearchBotIP: 686 verified, 56 mismatch742
  • PerplexityBotIP check unavailable for this bot325
  • ChatGPT-UserIP: 145 verified, 143 mismatch288
  • Google-ExtendedIP: 0 verified, 38 mismatch38
  • CCBotIP check unavailable for this bot7
  • DuckAssistBotIP check unavailable for this bot2
  • YouBotIP check unavailable for this bot1

Human readers by country

  • US75
  • NL9
  • ID7
  • ES6
  • NO6
  • JP5
  • ?3
  • PL3
  • IN2
  • CA2
  • GB2
  • FR2
  • LT1
  • MA1
  • MX1

Most-read journalist

Methodology and audit

Bot detection is primarily user-agent based: a crawler that spoofs a browser UA is not caught. Two independent sources are kept side by side, never blended into one number: this app's own request classifier (every real request the Nitro server receives, recorded to the VeriBOX tape before any route handling) and a second, separate read of the temperature.news Caddy edge access log by user-agent (TEMPERATURE1-19), the same method visitor_log.py already uses for bjornvhauge.com and vryf.ai. Where the crawler operator publishes a real IP-range list (currently GPTBot, ChatGPT-User and OAI-SearchBot from OpenAI, Googlebot and Google-Extended from Google, and Bingbot from Microsoft), the app-classifier reads are additionally cross-checked against that published range and tagged verified, mismatch, or unavailable; every other bot in our list (ClaudeBot, PerplexityBot, CCBot, Bytespider, Amazonbot, Applebot, meta-externalagent and others) has no public IP-range list we could find, so their reads stay UA-only and are tagged unavailable rather than silently counted as verified. The edge log only covers requests that arrive via the temperature.news hostname; the temperature.veriton.io vhost does not yet write an access log, so traffic on that hostname alone is invisible to the edge-log cross-check (visible to the app's own tape either way). Human totals and countries come from Umami (JS-based, so bots that do not execute JavaScript are correctly excluded from that side). Numbers are real and grow only from real requests; nothing here is a fabricated placeholder.

VeriBOX tape events
70677
Hash chain valid
yes
Running checksum
447673

IP-range sources checked against

  • GPTBot21 ranges · fetched 2026-09-01T01:19Z
  • ChatGPT-User204 ranges · fetched 2026-09-01T01:19Z
  • OAI-SearchBot35 ranges · fetched 2026-09-01T01:19Z
  • Googlebot315 ranges · fetched 2026-09-01T01:19Z
  • Google-Extended270 ranges · fetched 2026-09-01T01:19Z
  • Bingbot28 ranges · fetched 2026-09-01T01:19Z

Edge access-log cross-check (temperature.news)

AI crawls (edge log)
6,831
Search crawls (edge log)
9,720
Log size
48211.9 KB