Agent Ready HTML

The Plain Fetch viewer

In short

The viewer requests a URL the way a plain-fetch agent does: no JavaScript, one request for HTML, one for markdown, one for llms.txt and one for a path that should not exist. It shows the initial HTML on the left, the readable text on the right, and seven flags underneath.

Pre-loaded with www.wikipedia.org, read 4 November 2026. Type any public URL to run your own.

GET https://shazam.com/ answered 200 with text/html, 898 KB, 1 redirect, read 9 November 2026, 15:08 UTC. Final URL: https://www.shazam.com/.

Permalink: /viewer/?url=https://shazam.com/

The page answers a plain fetch: 3 of 6 checks found.

Initial HTML what a plain fetch receives

<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charSet="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
[... 64 more head elements folded ...]
<title>Shazam - Music Discovery, Charts &amp; Song Lyrics
</title>
<meta name="description" content="Identify the music playing around you. Explore the music you love. Discover songs, lyrics, and artists on Shazam."/>
<link rel="canonical" href="https://www.shazam.com"/>
<link rel="alternate" hrefLang="x-default" href="https://www.shazam.com"/>
<link rel="alternate" hrefLang="cs-cz" href="https://www.shazam.com/cs-cz/"/>
<link rel="alternate" hrefLang="de-de" href="https://www.shazam.com/de-de/"/>
<link rel="alternate" hrefLang="el-gr" href="https://www.shazam.com/el-gr/"/>
<link rel="alternate" hrefLang="en-us" href="https://www.shazam.com/en-us/"/>
<link rel="alternate" hrefLang="en-gb" href="https://www.shazam.com/en-gb/"/>
<link rel="alternate" hrefLang="es-es" href="https://www.shazam.com/es-es/"/>
<link rel="alternate" hrefLang="es-mx" href="https://www.shazam.com/es-mx/"/>
<link rel="alternate" hrefLang="fr-fr" href="https://www.shazam.com/fr-fr/"/>
<link rel="alternate" hrefLang="hi-in" href="https://www.shazam.com/hi-in/"/>
<link rel="alternate" hrefLang="id-id" href="https://www.shazam.com/id-id/"/>
<link rel="alternate" hrefLang="it-it" href="https://www.shazam.com/it-it/"/>
<link rel="alternate" hrefLang="ja-jp" href="https://www.shazam.com/ja-jp/"/>
<link rel="alternate" hrefLang="ko-kr" href="https://www.shazam.com/ko-kr/"/>
<link rel="alternate" hrefLang="nl-nl" href="https://www.shazam.com/nl-nl/"/>
<link rel="alternate" hrefLang="pl-pl" href="https://www.shazam.com/pl-pl/"/>
<link rel="alternate" hrefLang="pt-pt" href="https://www.shazam.com/pt-pt/"/>
<link rel="alternate" hrefLang="pt-br" href="https://www.shazam.com/pt-br/"/>
<link rel="alternate" hrefLang="ru-ru" href="https://www.shazam.com/ru-ru/"/>
<link rel="alternate" hrefLang="tr-tr" href="https://www.shazam.com/tr-tr/"/>
<link rel="alternate" hrefLang="zh-cn" href="https://www.shazam.com/zh-cn/"/>
<link rel="alternate" hrefLang="zh-tw" href="https://www.shazam.com/zh-tw/"/>
[... 7 more head elements folded ...]
</head>
<body class="layout_fullBleedOnRails__wux2C layout_vars__110l5">
<div hidden=""><!--$--><!--/$-->
</div>
<div class="InformationBar_informationBar__pEvp8">
<div class="InformationBar_pill__gslAm" style="background-color:var(--color-blue-300)">
</div>
</div>
<div class="">
<div class="DeceptiveBanner_content__inKd5">
<div>
<div class="transparentLightCenterAnimated_navContainer__3Zh9Q" data-deceptive-visible="true">
<div class="transparentLightCenterAnimated_navPromoWrapper__xejZ4">
<div>
</div>
<div class="transparentLightCenterAnimated_contentWrapper__qPowu">
<div class="transparentLightCenterAnimated_content__HHTYr">
<nav class="transparentLightCenterAnimated_navWrapper__N2W0k" itemScope="" itemType="http://www.schema.org/SiteNavigationElement">
<div class="transparentLightCenterAnimated_logoWrapper__aV_W0"><span class="transparentLightCenterAnimated_headerLogoSplit__HCxAZ"><span class="transparentLightCenterAnimated_logoBadgeAnchor__OOahJ" data-test-id="navigation_headerLogo_shazam"><button type="button" class="transparentLightCenterAnimated_headerLogo__n4NA0 transparentLightCenterAnimated_logoBadgeButton__7H9My" aria-label="shazam recognition button"><span class="transparentLightCenterAnimated_logoClip__vCHAM transparentLightCenterAnimated_logoBadgeClip__Qhu_C">
<svg class="transparentLightCenterAnimated_headerLogoSvg__E6RLe" style="width:undefinedpx;height:NaNpx" xmlns="http://www.w3.org/2000/svg"><use href="/_next/static/media/sprite.512c1599.svg#ShazamTitleLogo"></use>
</svg></span></button></span><span class="LinkPassthru_container__izrcF"><a class="transparentLightCenterAnimated_headerLogo__n4NA0 transparentLightCenterAnimated_logoTextLink__K2Kzk LinkPassthru_link___RNLB" data-test-id="home_userevent_headerElement_homeLogo" aria-label="Navigate to Shazam Homepage" href="/"><span class="transparentLightCenterAnimated_logoClip__vCHAM transparentLightCenterAnimated_logoTextClip__U_qb_">
<svg class="transparentLightCenterAnimated_headerLogoSvg__E6RLe" style="width:undefinedpx;height:NaNpx" data-test-id="navigation_headerLogo" xmlns="http://www.w3.org/2000/svg"><use href="/_next/static/media/sprite.512c1599.svg#ShazamTitleLogo"></use>
</svg></span></a></span></span>
</div>
<ul role="menu" class="transparentLightCenterAnimated_navList__ZpvCR">
<div class="transparentLightCenterAnimated_defaultNavItemsWrapper__XOB7U">
<li class="transparentLightCenterAnimated_navItem__yALnA" role="menuitem" aria-label="Get the app"><span class="LinkPassthru_container__izrcF"><a class="LinkPassthru_link___RNLB" data-test-id="home_userevent_headerElement_appsMenu" href="/apps">Get the app</a></span>
</li>
<li class="transparentLightCenterAnimated_navItem__yALnA" role="menuitem" aria-label="Concerts"><span class="LinkPassthru_container__izrcF"><a class="LinkPassthru_link___RNLB" data-test-id="home_userevent_headerElement_concertsMenu" href="/events/united-states">Concerts</a></span>
</li>
<li class="transparentLightCenterAnimated_navItem__yALnA" role="menuitem" aria-label="Charts"><span class="LinkPassthru_container__izrcF"><a class="LinkPassthru_link___RNLB" data-test-id="home_userevent_headerElement_chartsMenu" href="/charts/top-200/united-states">Charts</a></span>
</li>
<li class="transparentLightCenterAnimated_navItem__yALnA" role="menuitem" aria-label="Radio Spins"><span class="LinkPassthru_container__izrcF"><a class="LinkPassthru_link___RNLB" data-test-id="home_userevent_headerElement_radiospinsMenu" href="/radiospins">Radio Spins</a></span>
</li>
<li class="transparentLightCenterAnimated_navItem__yALnA" role="menuitem" aria-label="Fast Forward &#x27;26"><span class="LinkPassthru_container__izrcF"><a class="LinkPassthru_link___RNLB" data-test-id="home_userevent_headerElement_fastforward" href="/fastforward">Fast Forward &#x27;26</a></span>
</li>
</div>
</ul>
<div class="transparentLightCenterAnimated_searchWrapper__uHota" data-test-id="navigation_searchWrapper">
<div class="transparentLightCenterAnimated_searchContainer__Jq9OI">
<div>
<div class="searchInputWrapper"><input type="text" class="searchInput" placeholder="Search for music" data-search-input="true" autoComplete="off" aria-autocomplete="list" aria-expanded="false" aria-owns="" role="combobox"/>
<div class="searchMagnifyingGlassWrapper"><span class="searchMagnifyingGlass">
<svg class="searchIcon" style="width:18px;height:18px" xmlns="http://www.w3.org/2000/svg"><use href="/_next/static/media/sprite.512c1599.svg#Search"></use>
</svg></span>
</div>
</div>
<div class="Popup_container__Rkh49 Popup_fixedToPage__Ew4wM">
<div class="Popup_popup__H50OP">
<div aria-hidden="true" style="display:none">
<div>
</div>
</div>
<div aria-hidden="false" style="display:block">
</div>
</div>
</div>
</div>
</div>
<div class="transparentLightCenterAnimated_connectContainer__Bl3YF"><button class="Button_container__0el2X transparentLightCenterAnimated_amConnectButton__Y26F8 Button_variantPrimary__gS6mT Button_iconPositionLeft__XXYnq Button_shapePill__H9mQb Button_textSizeLarge__SFz9Y undefined Butto [... 110 characters folded ...]><span class="Button_label__ViwpZ">Connect </span>
<svg class="svg" style="width:4.27887323943662em;height:0.7985915492957747em;fill:white;margin-bottom:-0.019126760563380283em" xmlns="http://www.w3.org/2000/svg"><use href="/_next/static/media/sprite.512c1599.svg#AppleMusic"></use>
</svg></button>
</div>
</div>
</nav>
</div>
<div class="transparentLightCenterAnimated_dropmenu__H6O8b" aria-haspopup="true" aria-expanded="false" aria-label="Expand Menu" role="button" tabindex="0">
<svg class="transparentLightCenterAnimated_dropmMenuIcon__r97ae" style="width:18px;height:18px" xmlns="http://www.w3.org/2000/svg"><use href="/_next/static/media/sprite.512c1599.svg#Hamburger"></use>
</svg>
</div>
<div class="transparentLightCenterAnimated_pageMenu__BL_As" aria-hidden="true">
<div class="transparentLightCenterAnimated_logoAndCloseButtonWrapper__cxGIp"><span class="LinkPassthru_container__izrcF"><a class="transparentLightCenterAnimated_logoWrapper__aV_W0 LinkPassthru_link___RNLB" data-test-id="home_userevent_headerElement_homeLogo" tabindex="-1" aria-label="Navigate to Shazam Homepage" href="/">
<svg class="transparentLightCenterAnimated_logo__Vfey8" style="width:undefinedpx;height:NaNpx" xmlns="http://www.w3.org/2000/svg"><use href="/_next/static/media/sprite.512c1599.svg#ShazamTitleLogo"></use>
</svg></a></span>
<div class="transparentLightCenterAnimated_close__amWbi" aria-label="Close" role="button" tabindex="-1">
<svg class="transparentLightCenterAnimated_closeMenuIcon__xuJeS" style="width:18px;height:18px" xmlns="http://www.w3.org/2000/svg"><use href="/_next/static/media/sprite.512c1599.svg#Cross"></use>
</svg>
</div>
</div>
<ul role="menu" class="transparentLightCenterAnimated_menuList__DxIGG">
<li class="transparentLightCenterAnimated_menuItem__kSjrd" autofocus="" role="menuitem" aria-label="Download Shazam"><a class="transparentLightCenterAnimated_menuLink__RP_0_" data-test-id="home_userevent_headerElement_downloadMenu" href="/apps/download">Download Shazam</a>
</li>
<div class="transparentLightCenterAnimated_defaultNavItemsWrapper__XOB7U">
<li class="transparentLightCenterAnimated_menuItem__kSjrd" role="menuitem" aria-label="Get the app"><span class="LinkPassthru_container__izrcF"><a class="transparentLightCenterAnimated_menuLink__RP_0_ LinkPassthru_link___RNLB" data-test-id="home_userevent_headerElement_appsMenu" tabindex="-1" href="/apps">Get the app</a></span>
</li>
<li class="transparentLightCenterAnimated_menuItem__kSjrd" role="menuitem" aria-label="Concerts"><span class="LinkPassthru_container__izrcF"><a class="transparentLightCenterAnimated_menuLink__RP_0_ LinkPassthru_link___RNLB" data-test-id="home_userevent_headerElement_concertsMenu" tabindex="-1" href="/events/united-states">Concerts</a></span>
</li>
<li class="transparentLightCenterAnimated_menuItem__kSjrd" role="menuitem" aria-label="Charts"><span class="LinkPassthru_container__izrcF"><a class="transparentLightCenterAnimated_menuLink__RP_0_ LinkPassthru_link___RNLB" data-test-id="home_userevent_headerElement_chartsMenu" tabindex="-1" href="/charts/top-200/united-states">Charts</a></span>
</li>
<li class="transparentLightCenterAnimated_menuItem__kSjrd" role="menuitem" aria-label="Radio Spins"><span class="LinkPassthru_container__izrcF"><a class="transparentLightCenterAnimated_menuLink__RP_0_ LinkPassthru_link___RNLB" data-test-id="home_userevent_headerElement_radiospinsMenu" tabindex="-1" href="/radiospins">Radio Spins</a></span>
</li>
<li class="transparentLightCenterAnimated_menuItem__kSjrd" role="menuitem" aria-label="Fast Forward &#x27;26"><span class="LinkPassthru_container__izrcF"><a class="transparentLightCenterAnimated_menuLink__RP_0_ LinkPassthru_link___RNLB" data-test-id="home_userevent_headerElement_fastforward" tabindex="-1" href="/fastforward">Fast Forward &#x27;26</a></span>
</li>
</div>
<li class="transparentLightCenterAnimated_menuItem__kSjrd" role="menuitem" aria-label="Help"><span class="LinkPassthru_container__izrcF"><a class="transparentLightCenterAnimated_menuLink__RP_0_ LinkPassthru_link___RNLB" data-test-id="home_userevent_headerElement_helpMenu" target="_blank" rel="noopener" tabindex="-1" href="https://support.apple.com/HT210331">Help</a></span>
</li>
</ul>
<div class="DrawerConnectCard_dropdownConnectContainer__3wQXW">
</div>
</div>
</div>
</div>
</div>
<main class="PageGrid_container__aNzTR PageGrid_containerFullViewportHeight__dx1Cl">
<div class="PageGrid_header__h6hhY">
</div>
<div class="PageGrid_grid__oDAbg PageGrid_right__TkxZo PageGrid_fullWidth__dKkWY">

Shown with 327 long blocks (scripts, styles, long tags) folded into a marker that says how many characters they hide; line breaks added before block tags because the source is minified; the pane stops after the first 200 words; the page is 898 KB.

Reading view the text a plain-fetch client can extract

title: Shazam - Music Discovery, Charts & Song Lyrics

What people are finding with Shazam right now

Get the app Concerts Charts Radio Spins Fast Forward '26 Connect Download Shazam Get the app Concerts Charts Radio Spins Fast Forward '26 Help Updated Weekly What people are finding with Shazam right now INFERNO Peruzzi, Zlatan & Shoday 179,218 Link Copied Somebody's Watching Me Rockwell 11,035,012 Link Copied Zed Hip-Hop/Rap FR Link Copied Dog Dribble Getdown Services 211,053 Link Copied Lies (feat. Lana Del Rey) Zach Bryan & Lana Del Rey 99,991 Link Copied Big Michael Michael Looze Cannon 113,576 Link Copied Discover More See the songs and artists trending this week, all around the world New and Rising Fresh music, growing fast Rediscovered Older songs reaching new fans Artist on the Move Rising Fast on Shazam As Heard on Screen TV, Film, and Cultural Moments Radio Reaction Shazam discovery, driven by radio Going Viral The songs taking over your feed New and Rising Fresh music, growing fast INFERNO Peruzzi, Zlatan & Shoday October 2026 Press Space or Enter to play Use left and right arrow keys to navigate between cards. Shazam Footer Select language : ČeštinaDeutschEλληνικάEnglish (US)English (UK)Español (ES)Español (MX)Françaisहिन्दीBahasa IndonesiaItaliano日本語한국어NederlandsPolskiPortuguêsPortuguês (BR)РусскийTürkçe中文繁體中文 Company About Us Apps Careers Help ShazamKit for Developers Legal Terms Privacy Policy Manage Your Data

605 more words follow in the initial HTML.

3 found, 2 missing, 2 notes, from 7 checks run

  • H1Found
  • 200 wordsFound
  • llms.txtNote
  • MarkdownMissing
  • Missing pathFound
  • JSON-LDMissing
  • OpenAPINote
What a plain fetch found on shazam.com
CheckResultDetail
H1 in the initial HTMLFound one H1First H1: What people are finding with Shazam right now
First 200 words in the initial HTMLFound 200 of 200 wordsThe initial HTML carries 805 words of visible text; the first 200 are marked in the left pane.
llms.txt present and linkedNote present, not linked6237 bytes, 33 links. Structure grade A (6 of 6). Nothing on the home page points to it. Ora's lab found 86 percent of llms.txt fetches arrived through a link.
Markdown on requestMissing 200 text/htmlAccept: text/markdown returned 200 with text/html; charset=utf-8. The server ignores the header.
Status of a made-up pathFound 404/agent-ready-html-missing-path-check returned 404: a real status code for a missing page.
JSON-LD typesMissing noneNo JSON-LD block on the home page. Ora's lab found it made no difference when the answer was already in the HTML; Google says it is not needed for AI features.
OpenAPI linkNote none on the home pageNo OpenAPI link on the home page. It matters only for a site that ships an API.

Run the full check

The viewer read one page with four requests. The full check we recommend next is Ora's scan. Its Access layer runs 42 checks worth 30 of its 100 points, among them content without JavaScript, bot detection, llms.txt, markdown on request, JSON-LD and the sitemap (Ora's check catalogue, contract 1.38.0, read 5 November 2026). Open Ora's report for shazam.com.

Limits: Ora reads public URLs only, says two runs of one scan land within a couple of points without publishing repeat-scan data, and keeps the product that fixes what it finds behind a waitlist. Cloudflare's scanner at isitagentready.com is a quick free alternative, and Mintlify's score covers documentation.

What the viewer does

It sends four plain GET requests with the user agent Mozilla/5.0 (compatible; agent-readiness-crawl/1.0): the URL itself, the same URL with Accept: text/markdown, /llms.txt on the same host, and a made-up path at the root. It runs no JavaScript. The left pane is the first bytes of the HTML as text, with long scripts and styles folded into a marker that says how many characters they hide. The H1 and the first 200 words of visible text are marked in both panes. The flags under the panes say what the four responses added up to.

Limits

  • Ten seconds for all four requests together, 1.5 MB read from the home page, at most five redirects, each one checked again.
  • http and https only, default ports only. Private, local and internal addresses and names are refused.
  • Ten runs per address per minute. The counter lives in memory on the edge function, so it is per instance rather than global. Past ten you get a 429 with a Retry-After header.
  • Results are cached for 24 hours by the response headers. Nothing is written to a database: the viewer keeps the first 200 words and the extracted fields for the length of the request and keeps no page body beyond that.

What it does not tell you

A plain fetch from this server is not a real agent. Bot protection weighs the source address more than the user agent, so a page that answers 200 here can still refuse an agent, and the reverse. Ora's lab found (2026-10-19) that returning 403 to agent user agents and hiding the answer in JavaScript were the only two of 19 configurations that stopped retrieval; the viewer can see the second, and can only hint at the first. The initial HTML reference covers both. The server logs and the published crawler address ranges settle the first.

The seven flags

H1 in the initial HTML
Whether the HTML the server sends already contains an H1. It is the cheapest sign that the page does not depend on scripts to say what it is.
First 200 words in the initial HTML
Whether at least 200 words of visible text arrive in the initial HTML. Under 40 words with an app root element is flagged as a JavaScript shell.
llms.txt present and linked
Whether /llms.txt answers with a plain-text file, whether the home page links it (an anchor, a link element or a Link header), and the structure grade the index uses.
Markdown on request
Whether a request with Accept: text/markdown comes back as text/markdown. Cloudflare Radar found 3.9 percent of scanned top sites passing this at its April 2026 launch.
Status of a made-up path
Whether a path that should not exist returns 404 or 410. A 200 is a soft 404 and reads as a live page.
JSON-LD types
The schema.org types found in JSON-LD blocks on the page. Ora's lab found JSON-LD made no difference when the answer was already in the HTML.
OpenAPI link
Whether the page links an OpenAPI file, by an anchor or a service-desc link relation. It matters only for a site that ships an API.

Sources

  1. Ora: AgentReady launch post (Ora's lab findings) https://ora.ai/blog/agentready-launch, read 4 November 2026
  2. Ora check catalogue, contract 1.38.0 (132 checks, 42 in the Access layer) https://ora.ai/api/checks, read 5 November 2026
  3. Ora home page (the fixing product is behind a waitlist) https://ora.ai/, read 5 November 2026
  4. Ora: Introducing Deep Scan (repeat scans) https://ora.ai/blog/introducing-deep-scan, read 5 November 2026
  5. Ora llms.txt (public URLs only) https://ora.ai/llms.txt, read 5 November 2026
  6. Vercel: Make your site readable by AI agents https://vercel.com/kb/guide/make-your-site-readable-by-ai-agents, read 4 November 2026
  7. llms.txt proposal (llmstxt.org) https://llmstxt.org/, read 4 November 2026

Last reviewed 5 November 2026