It did not wait for the client-side size selector to hydrate; the response shows the product title and $115 price but no concrete size inventory values.

✗ Failed🧾 artifact-verifiedinput + output shownTested Jun 23, 2026Jina AI Reader
What was measured
Interaction Stability

How reliably the tool executes through dynamic loading and interaction steps without losing sync or failing at runtime.

decisive for this rankingcapability

Reliably completing dynamic loading and interaction steps is part of successfully scraping pages, not just convenience. (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
813f348c-4de5-462c-b815-5c06a67402cc
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 — 2 other tools
measured on Interaction Stability
Real inputs and real outputs, no retouching · every cell queryable via API & MCP · aidemos.com