Although the anti-bot wall is bypassed, the recovered Glassdoor output is still a raw DOM dump with sign-in notices, framework noise, and header redirects interleaved, so the target listings require heavy downstream cleanup.

⚠ Struggledinput onlyTested Jun 23, 2026Jina AI Reader
What was measured
Proxy Evasion

How well the tool gets past anti-bot protections and modal or firewall barriers to reach the page content.

decisive for this rankingtransformation

Bypassing anti-bot and modal barriers is often required to reach the page content at all, so it directly affects scraping success. (3 of 3 judges)

What was given, what came back

Test input: Glassdoor software engineer jobs behind sign-in modal · mixed · group: web-scraping-benchmark
Input — what we sent
Input, verbatim
https://www.glassdoor.com/Job/software-engineer-jobs-SRCH_KO0,17.htm — Dismiss any immediate sign-in or signup modal overlays that block the view. Once cleared, extract the top 5 job listings, including job title, company name, location, and the short summary snippet.

A Glassdoor jobs listing page protected by Cloudflare and a sign-in/interstitial overlay, used to test proxy evasion, anti-bot handling, and the ability to dismiss blocking modal UI before extracting listings.

Output — unretouched
No output artifact
The verdict rests on the tester's written observation alone — no file was captured for this cell.
Also checked on this input — same tool, 11 other criteria
Interaction Stability✓ WorkedCan process a protected page through edge security without being dropped, successfully bypassing the firewall and recovering plain-text markers from the page flow.JS DOM Hydration✗ FailedIt fails to wait for client-side hydration on a dynamic product page: the size selector grid comes back as empty layout nodes while the extractor instead pulls the site's international menu and regional index.Noise Filtering◐ MixedIt can recover the page text layer, but the extraction still leaves job data interleaved with French and German translation strings and header redirect text, so heavy post-processing cleanup is still required.Output Quality◐ MixedIts output quality is partial on the hydrated ecommerce page: it preserves the SEO header and static price markers, but replaces the transactional product data with a giant global link directory.Output Quality✗ FailedWhen blocked, it emits an anti-bot 'Humans only' text wall in multiple languages rather than job listings, so the returned text is not usable as a listing extract.Output Quality✗ FailedWhen this run collapses, the extractor returns only a standard HTTP 404 text string wrapped inside a global website layout frame, leaving the primary output unusable for data compilation.Schema Extraction Integrity✗ FailedCan break entirely when URL handling loops or duplicates the target path: the report says the primary output became completely useless for data compilation after an address-resolution bug.Visual Spatial Awareness⚠ StruggledProduces poor structural filtering on guarded pages: the recovered job text is heavily interleaved with framework noise, sign-in alerts, and header redirects, requiring substantial post-processing to clean.Visual Spatial Awareness✓ WorkedCan isolate basic boilerplate elements from a broken page render: it still extracted header navigation and privacy-disclosure text into markdown even when the target resolved into a 404 layout.Visual Spatial Awareness✗ FailedIt fails to isolate the content region and instead emits the sign-in overlay text in at least 5 languages (English, French, German, Dutch, Spanish).Visual Spatial Awareness✗ FailedFails to structurally filter interstitial noise, leaving raw framework and security-page text instead of isolating meaningful job content.
Provenance
Observation
cc9693d1-db28-4dc3-9db7-5bcf20dd9ebd
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
observed
Proof shown
input only
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",
  scenario: "web-scraping-benchmark"
})
MCP · mcp.aidemos.com/api/mcp
Free with attribution.
Same input, same check — 3 other tools
measured on Proxy Evasion
Real inputs and real outputs, no retouching · every cell queryable via API & MCP · aidemos.com