The engine can recover static product metadata from a JavaScript-heavy product page, including the title "Nike Air Force 1 '07 Men's Shoes" and the $115 price, but it does not needlessly enrich the dynamic state beyond those static markers.

◐ Mixed🧾 artifact-verifiedinput + output shownTested Jun 23, 2026Jina AI Reader
What was measured
JS DOM Hydration

How well the tool waits for and captures content rendered by client-side JavaScript on dynamic pages.

decisive for this rankingtransformation

Capturing JavaScript-rendered content is a core scraping capability for modern web pages. (3 of 3 judges)

What was given, what came back

Test input: Nike Air Force 1 '07 size options extraction · mixed
Input — what we sent
Input, verbatim
https://www.nike.com/t/air-force-1-07-mens-shoes-jBrhbr/CW2288-111 — Wait for the size selection options to fully render. Extract the product name, price, and a list of all available shoe sizes.

A Nike product page with client-side JavaScript hydration used to test whether a headless scraper waits for dynamic DOM content before extracting product details and all available shoe sizes.

Output — unretouched
Jina Reader extracting a Nike product page
Jina Reader extracting a Nike product page
Provenance
Observation
4c7cd93d-06c7-4f02-86b8-14711013fddf
Evidence run
06e1dbd6-5518-4af8-aa1a-735259a75b4f
Study
Scrape Web Pages Into Clean Markdown or Structured Data Using AI
Research task
86b9jm3a3
Tested at
Jun 23, 2026
Source
first-party
Evidence state
verified
Proof shown
input + output shown
Cost / latency
not captured
Repeat run
not captured
Tester
not captured

The last three rows are honest blanks, not placeholders — our capture has no field for them yet.

Query this
get_evidence({
  tool: "jina-ai-reader"
})
MCP · mcp.aidemos.com/api/mcp
Free with attribution.
Same input, same check — 3 other tools
measured on JS DOM Hydration
Real inputs and real outputs, no retouching · every cell queryable via API & MCP · aidemos.com