{"observation":{"id":"e41889fa-4519-4c96-9183-067dad4dbeb5","tool":"firecrawl","tool_name":"Firecrawl","criterion":"interaction-stability","criterion_name":"Interaction Stability","criterion_definition":"How reliably the tool executes through dynamic loading and interaction steps without losing sync or failing at runtime.","criterion_evidence_type":"capability","criterion_rank_role":"decisive","criterion_rank_role_reason":"Reliably completing dynamic loading and interaction steps is part of successfully scraping pages, not just convenience. (3 of 3 judges)","scenario":"nike-air-force-1-07-size-options-extraction","scenario_name":"Nike Air Force 1 '07 size options extraction","group_tag":null,"scenario_description":"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.","modality":"mixed","input_text":"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.","input_artifact_refs":[],"stresses":[],"verdict":"worked","score":null,"score_total":null,"note":"Reliably waited for client-side hydration and captured the complete size set, from M 5 / W 6.5 through M 18 / W 19.5.","evidence_state":"verified","source":"first-party","artifacts":[{"url":"https://d3epheqghktydj.cloudfront.net/firecrawl-firecrawl-nike-scrape-markdown-output.png","role":"output","alt":"Firecrawl scrape result for a Nike product page in Markdown format."}],"run_id":"06e1dbd6-5518-4af8-aa1a-735259a75b4f","study_title":"Scrape Web Pages Into Clean Markdown or Structured Data Using AI","study_kind":"backfill","research_task":"86b9jm3a3","tested_at":"2026-06-23T04:32:57.304000+00:00","completeness":"input-and-output","input":{"state":"text","text":"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.","files":[],"modality":"mixed","stresses":[]},"tool_page_slug":"firecrawl","tool_url":"https://aidemos.com/tools/firecrawl","permalink":"https://aidemos.com/evidence/e41889fa-4519-4c96-9183-067dad4dbeb5","api_url":"https://ai.aidemos.com/v1/observations/e41889fa-4519-4c96-9183-067dad4dbeb5"},"peers":[{"id":"813f348c-4de5-462c-b815-5c06a67402cc","tool":"jina-ai-reader","tool_name":"Jina AI Reader","verdict":"failed","score":null,"score_total":null,"note":"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.","artifact_count":1,"thumbnail":"https://d3epheqghktydj.cloudfront.net/jina-ai-reader-jina-reader-nike-product-extraction.png","evidence_url":"https://aidemos.com/evidence/813f348c-4de5-462c-b815-5c06a67402cc"},{"id":"94f367b2-9659-4081-bbe0-e887a50559e8","tool":"skyvern","tool_name":"Skyvern","verdict":"struggled","score":null,"score_total":null,"note":"Handles the page extraction itself, but the run’s live recording pipeline can fall out of sync during hydration: the report states the screen capture froze on the initial page view, making the recording unwatchable and hard to debug.","artifact_count":1,"thumbnail":"https://d3epheqghktydj.cloudfront.net/skyvern-skyvern-extract-nike-af1-product-data.png","evidence_url":"https://aidemos.com/evidence/94f367b2-9659-4081-bbe0-e887a50559e8"}],"other_criteria":[{"id":"21e8e376-de63-47cd-827a-89a5a96abeec","criterion":"input-handling","criterion_name":"Input Handling","rank_role":"context","verdict":"worked","score":null,"score_total":null,"note":"Accepted the dynamic Nike product URL through the standard scrape path and started extraction without routing or access errors.","artifact_count":1,"evidence_url":"https://aidemos.com/evidence/21e8e376-de63-47cd-827a-89a5a96abeec"},{"id":"540e026a-8aca-4892-9faf-792026b353a3","criterion":"js-dom-hydration","criterion_name":"JS DOM Hydration","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Waits for client-side hydration and captures the complete size-selection grid, spanning M 5 / W 6.5 through M 18 / W 19.5.","artifact_count":0,"evidence_url":"https://aidemos.com/evidence/540e026a-8aca-4892-9faf-792026b353a3"},{"id":"539003d1-a873-4167-8a3e-5427f4a36e74","criterion":"js-dom-hydration","criterion_name":"JS DOM Hydration","rank_role":"decisive","verdict":"mixed","score":null,"score_total":null,"note":"Captures hydrated product content but leaves substantial non-content noise in the output, including raw backend code artifacts and raw media-attachment matrices.","artifact_count":1,"evidence_url":"https://aidemos.com/evidence/539003d1-a873-4167-8a3e-5427f4a36e74"},{"id":"68b46705-a3f5-48fb-807c-b5ce0de53ccb","criterion":"js-dom-hydration","criterion_name":"JS DOM Hydration","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Waits through client-side hydration and captures the dynamically loaded size inventory, spanning the full visible range from M 5 / W 6.5 through M 18 / W 19.5.","artifact_count":0,"evidence_url":"https://aidemos.com/evidence/68b46705-a3f5-48fb-807c-b5ce0de53ccb"},{"id":"eb1e2302-fa59-4589-9f78-db736c2d5f77","criterion":"output-quality","criterion_name":"Output Quality","rank_role":"decisive","verdict":"mixed","score":null,"score_total":null,"note":"Captures the title, pricing, and inventory layout, but the output still includes raw backend code artifacts, media-matrix noise, and uncleaned global link trees.","artifact_count":1,"evidence_url":"https://aidemos.com/evidence/eb1e2302-fa59-4589-9f78-db736c2d5f77"},{"id":"b54b7daf-85c7-404e-951e-ec5595932d41","criterion":"visual-spatial-awareness","criterion_name":"Visual Spatial Awareness","rank_role":"decisive","verdict":"struggled","score":null,"score_total":null,"note":"The output kept the target product data but failed to clean surrounding page chrome, packing in global localization links, background asset tags, and raw image URL trees.","artifact_count":0,"evidence_url":"https://aidemos.com/evidence/b54b7daf-85c7-404e-951e-ec5595932d41"},{"id":"4ba47174-542a-4fdc-97a7-75628aa25ed2","criterion":"visual-spatial-awareness","criterion_name":"Visual Spatial Awareness","rank_role":"decisive","verdict":"mixed","score":null,"score_total":null,"note":"Can surface the hydrated inventory information, but does not clean surrounding layout noise such as localization links, background asset tags, and raw image URL trees.","artifact_count":1,"evidence_url":"https://aidemos.com/evidence/4ba47174-542a-4fdc-97a7-75628aa25ed2"}],"appears_in":[{"page_type":"ranking","slug":"ai-web-scraping-tools","title":"Best AI Tools to Scrape Web Pages Into Clean Markdown or Structured Data","url":"https://aidemos.com/best/ai-web-scraping-tools","binding":"run"}],"same_scenario":[{"id":"813f348c-4de5-462c-b815-5c06a67402cc","tool":"jina-ai-reader","tool_name":"Jina AI Reader","verdict":"failed","score":null,"score_total":null,"note":"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."},{"id":"94f367b2-9659-4081-bbe0-e887a50559e8","tool":"skyvern","tool_name":"Skyvern","verdict":"struggled","score":null,"score_total":null,"note":"Handles the page extraction itself, but the run’s live recording pipeline can fall out of sync during hydration: the report states the screen capture froze on the initial page view, making the recording unwatchable and hard to debug."}]}