{
  "version": "riddle-proof.profile-result.v1",
  "profile_name": "riddle-site-v359-playground-batch-async-curl",
  "runner": "riddle",
  "status": "product_regression",
  "baseline_policy": "invariant_only",
  "route": {
    "requested": "https://riddledc.com/playground/",
    "observed": "/playground/",
    "expected_path": "/playground/",
    "matched": true,
    "http_status": 200
  },
  "artifacts": {
    "screenshots": [
      "riddle-site-v359-playground-batch-async-curl-desktop",
      "riddle-site-v359-playground-batch-async-curl-desktop-batch-async-curl-ready",
      "riddle-site-v359-playground-batch-async-curl-phone",
      "riddle-site-v359-playground-batch-async-curl-phone-batch-async-curl-ready",
      "riddle-site-v359-playground-batch-async-curl-ipad-mini",
      "riddle-site-v359-playground-batch-async-curl-ipad-mini-batch-async-curl-ready",
      "riddle-site-v359-playground-batch-async-curl-ipad",
      "riddle-site-v359-playground-batch-async-curl-ipad-batch-async-curl-ready"
    ],
    "console": "console.json",
    "proof_json": "proof.json",
    "dom_summary": "dom-summary.json"
  },
  "checks": [
    {
      "type": "network_mocks_succeeded",
      "label": "network mocks succeeded",
      "status": "passed",
      "evidence": {
        "mock_count": 2,
        "required_count": 2,
        "hit_count": 8,
        "hits_by_label": {
          "playground-v359-submit-batch": 4,
          "playground-v359-batch-artifacts": 4
        },
        "required_hits_by_label": {
          "playground-v359-submit-batch": 4,
          "playground-v359-batch-artifacts": 4
        },
        "max_hits_by_label": {
          "playground-v359-submit-batch": 4
        },
        "response_hits_by_label": {},
        "failed": []
      }
    },
    {
      "type": "setup_actions_succeeded",
      "label": "setup actions succeeded",
      "status": "failed",
      "evidence": {
        "action_count": 22,
        "viewports": [
          {
            "name": "desktop",
            "expected_action_count": 22,
            "ok": false,
            "result_count": 21
          },
          {
            "name": "phone",
            "expected_action_count": 22,
            "ok": false,
            "result_count": 21
          },
          {
            "name": "ipad-mini",
            "expected_action_count": 22,
            "ok": false,
            "result_count": 21
          },
          {
            "name": "ipad",
            "expected_action_count": 22,
            "ok": false,
            "result_count": 21
          }
        ],
        "setup_summary": {
          "viewport_count": 4,
          "action_count": 22,
          "viewports": [
            {
              "name": "desktop",
              "expected_action_count": 22,
              "ok": false,
              "result_count": 21,
              "observed_path": "/playground/",
              "final_url": "https://riddledc.com/playground/",
              "action_counts": {
                "clear_storage": 1,
                "local_storage": 5,
                "wait_for_selector": 2,
                "wait_for_text": 2,
                "clear_console": 1,
                "click": 2,
                "fill": 1,
                "assert_text_visible": 6,
                "screenshot": 1
              },
              "frame_action_count": 0,
              "frame_urls": [],
              "setup_screenshots": [
                "riddle-site-v359-playground-batch-async-curl-desktop-batch-async-curl-ready"
              ],
              "clicked_total": 2,
              "clicked_truncated": false,
              "click_count_action_total": 0,
              "click_count_value_total": 0,
              "clicked": [
                {
                  "ordinal": 10,
                  "selector": ".mode-tabs .mode-tab:nth-of-type(2)",
                  "frame_selector": null,
                  "text": "Batch"
                },
                {
                  "ordinal": 15,
                  "selector": ".test-button",
                  "frame_selector": null,
                  "text": "Run Batch"
                }
              ],
              "text_samples": [
                {
                  "ordinal": 11,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                },
                {
                  "ordinal": 13,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                },
                {
                  "ordinal": 16,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "ResultTime: 1.1sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://ap... (496 chars)"
                },
                {
                  "ordinal": 17,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "ResultTime: 1.1sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://ap... (496 chars)"
                },
                {
                  "ordinal": 18,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "ResultTime: 1.1sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://ap... (496 chars)"
                },
                {
                  "ordinal": 19,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "ResultTime: 1.1sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://ap... (496 chars)"
                }
              ],
              "failed": [
                {
                  "ordinal": 20,
                  "action": "assert_text_visible",
                  "selector": ".result-state",
                  "frame_selector": null,
                  "reason": "text_not_found"
                }
              ],
              "optional_failed": []
            },
            {
              "name": "phone",
              "expected_action_count": 22,
              "ok": false,
              "result_count": 21,
              "observed_path": "/playground/",
              "final_url": "https://riddledc.com/playground/",
              "action_counts": {
                "clear_storage": 1,
                "local_storage": 5,
                "wait_for_selector": 2,
                "wait_for_text": 2,
                "clear_console": 1,
                "click": 2,
                "fill": 1,
                "assert_text_visible": 6,
                "screenshot": 1
              },
              "frame_action_count": 0,
              "frame_urls": [],
              "setup_screenshots": [
                "riddle-site-v359-playground-batch-async-curl-phone-batch-async-curl-ready"
              ],
              "clicked_total": 2,
              "clicked_truncated": false,
              "click_count_action_total": 0,
              "click_count_value_total": 0,
              "clicked": [
                {
                  "ordinal": 10,
                  "selector": ".mode-tabs .mode-tab:nth-of-type(2)",
                  "frame_selector": null,
                  "text": "Batch"
                },
                {
                  "ordinal": 15,
                  "selector": ".test-button",
                  "frame_selector": null,
                  "text": "Run Batch"
                }
              ],
              "text_samples": [
                {
                  "ordinal": 11,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                },
                {
                  "ordinal": 13,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                },
                {
                  "ordinal": 16,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://ap... (496 chars)"
                },
                {
                  "ordinal": 17,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://ap... (496 chars)"
                },
                {
                  "ordinal": 18,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://ap... (496 chars)"
                },
                {
                  "ordinal": 19,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://ap... (496 chars)"
                }
              ],
              "failed": [
                {
                  "ordinal": 20,
                  "action": "assert_text_visible",
                  "selector": ".result-state",
                  "frame_selector": null,
                  "reason": "text_not_found"
                }
              ],
              "optional_failed": []
            },
            {
              "name": "ipad-mini",
              "expected_action_count": 22,
              "ok": false,
              "result_count": 21,
              "observed_path": "/playground/",
              "final_url": "https://riddledc.com/playground/",
              "action_counts": {
                "clear_storage": 1,
                "local_storage": 5,
                "wait_for_selector": 2,
                "wait_for_text": 2,
                "clear_console": 1,
                "click": 2,
                "fill": 1,
                "assert_text_visible": 6,
                "screenshot": 1
              },
              "frame_action_count": 0,
              "frame_urls": [],
              "setup_screenshots": [
                "riddle-site-v359-playground-batch-async-curl-ipad-mini-batch-async-curl-ready"
              ],
              "clicked_total": 2,
              "clicked_truncated": false,
              "click_count_action_total": 0,
              "click_count_value_total": 0,
              "clicked": [
                {
                  "ordinal": 10,
                  "selector": ".mode-tabs .mode-tab:nth-of-type(2)",
                  "frame_selector": null,
                  "text": "Batch"
                },
                {
                  "ordinal": 15,
                  "selector": ".test-button",
                  "frame_selector": null,
                  "text": "Run Batch"
                }
              ],
              "text_samples": [
                {
                  "ordinal": 11,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                },
                {
                  "ordinal": 13,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                },
                {
                  "ordinal": 16,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://ap... (496 chars)"
                },
                {
                  "ordinal": 17,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://ap... (496 chars)"
                },
                {
                  "ordinal": 18,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://ap... (496 chars)"
                },
                {
                  "ordinal": 19,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://ap... (496 chars)"
                }
              ],
              "failed": [
                {
                  "ordinal": 20,
                  "action": "assert_text_visible",
                  "selector": ".result-state",
                  "frame_selector": null,
                  "reason": "text_not_found"
                }
              ],
              "optional_failed": []
            },
            {
              "name": "ipad",
              "expected_action_count": 22,
              "ok": false,
              "result_count": 21,
              "observed_path": "/playground/",
              "final_url": "https://riddledc.com/playground/",
              "action_counts": {
                "clear_storage": 1,
                "local_storage": 5,
                "wait_for_selector": 2,
                "wait_for_text": 2,
                "clear_console": 1,
                "click": 2,
                "fill": 1,
                "assert_text_visible": 6,
                "screenshot": 1
              },
              "frame_action_count": 0,
              "frame_urls": [],
              "setup_screenshots": [
                "riddle-site-v359-playground-batch-async-curl-ipad-batch-async-curl-ready"
              ],
              "clicked_total": 2,
              "clicked_truncated": false,
              "click_count_action_total": 0,
              "click_count_value_total": 0,
              "clicked": [
                {
                  "ordinal": 10,
                  "selector": ".mode-tabs .mode-tab:nth-of-type(2)",
                  "frame_selector": null,
                  "text": "Batch"
                },
                {
                  "ordinal": 15,
                  "selector": ".test-button",
                  "frame_selector": null,
                  "text": "Run Batch"
                }
              ],
              "text_samples": [
                {
                  "ordinal": 11,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                },
                {
                  "ordinal": 13,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                },
                {
                  "ordinal": 16,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://ap... (496 chars)"
                },
                {
                  "ordinal": 17,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://ap... (496 chars)"
                },
                {
                  "ordinal": 18,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://ap... (496 chars)"
                },
                {
                  "ordinal": 19,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://ap... (496 chars)"
                }
              ],
              "failed": [
                {
                  "ordinal": 20,
                  "action": "assert_text_visible",
                  "selector": ".result-state",
                  "frame_selector": null,
                  "reason": "text_not_found"
                }
              ],
              "optional_failed": []
            }
          ]
        },
        "failed": [
          {
            "viewport": "desktop",
            "action": "assert_text_visible",
            "selector": ".result-state",
            "frame_selector": null,
            "frame_index": null,
            "reason": "text_not_found"
          },
          {
            "viewport": "phone",
            "action": "assert_text_visible",
            "selector": ".result-state",
            "frame_selector": null,
            "frame_index": null,
            "reason": "text_not_found"
          },
          {
            "viewport": "ipad-mini",
            "action": "assert_text_visible",
            "selector": ".result-state",
            "frame_selector": null,
            "frame_index": null,
            "reason": "text_not_found"
          },
          {
            "viewport": "ipad",
            "action": "assert_text_visible",
            "selector": ".result-state",
            "frame_selector": null,
            "frame_index": null,
            "reason": "text_not_found"
          }
        ]
      },
      "message": "Setup actions failed in 4 viewport action(s)."
    },
    {
      "type": "route_loaded",
      "label": "route_loaded",
      "status": "passed",
      "evidence": {
        "expected_path": "/playground/",
        "observed_paths": [
          "/playground/",
          "/playground/",
          "/playground/",
          "/playground/"
        ],
        "http_statuses": [
          200,
          200,
          200,
          200
        ]
      }
    },
    {
      "type": "selector_visible",
      "label": "selector_visible",
      "status": "passed",
      "evidence": {
        "selector": ".playground-page",
        "visible_counts": [
          1,
          1,
          1,
          1
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "API Playground",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "Result",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "Success",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "Job ID",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "job_rp359_batch_async_curl",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "rp359-first",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "rp359-second",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "failed",
      "evidence": {
        "text": "\"sync\": false",
        "matches": [
          false,
          false,
          false,
          false
        ]
      },
      "message": "Text assertion failed in 4 viewport(s)."
    },
    {
      "type": "text_absent",
      "label": "text_absent",
      "status": "passed",
      "evidence": {
        "text": "No screenshots captured",
        "matches": [
          false,
          false,
          false,
          false
        ]
      }
    },
    {
      "type": "text_absent",
      "label": "text_absent",
      "status": "passed",
      "evidence": {
        "text": "Failed at step",
        "matches": [
          false,
          false,
          false,
          false
        ]
      }
    },
    {
      "type": "text_absent",
      "label": "text_absent",
      "status": "passed",
      "evidence": {
        "text": "Application error",
        "matches": [
          false,
          false,
          false,
          false
        ]
      }
    },
    {
      "type": "selector_count_equals",
      "label": "selector_count_equals",
      "status": "passed",
      "evidence": {
        "selector": ".screenshots-section .screenshot-item",
        "expected_count": 2,
        "counts": [
          2,
          2,
          2,
          2
        ]
      }
    },
    {
      "type": "selector_count_equals",
      "label": "selector_count_equals",
      "status": "passed",
      "evidence": {
        "selector": ".loading-state",
        "expected_count": 0,
        "counts": [
          0,
          0,
          0,
          0
        ]
      }
    },
    {
      "type": "no_horizontal_overflow",
      "label": "no_horizontal_overflow",
      "status": "passed",
      "evidence": {
        "max_overflow_px": 1,
        "overflow_px": [
          0,
          0,
          0,
          0
        ],
        "bounds_overflow_px": [
          0,
          0,
          0,
          0
        ],
        "overflow_offender_counts": [
          0,
          0,
          0,
          0
        ],
        "viewports": [
          "desktop",
          "phone",
          "ipad-mini",
          "ipad"
        ]
      }
    },
    {
      "type": "no_fatal_console_errors",
      "label": "no_fatal_console_errors",
      "status": "passed",
      "evidence": {
        "console_fatal_count": 0,
        "page_error_count": 0,
        "total_console_fatal_count": 0,
        "total_page_error_count": 0,
        "allowed_console_fatal_count": 0,
        "explicitly_allowed_console_fatal_count": 0,
        "allowed_expected_network_mock_console_count": 0,
        "allowed_expected_network_mock_console_events": [],
        "allowed_page_error_count": 0,
        "allowed_console_texts": [],
        "allowed_console_patterns": [],
        "allowed_page_error_texts": [],
        "allowed_page_error_patterns": []
      }
    }
  ],
  "summary": "riddle-site-v359-playground-batch-async-curl failed 2 product invariant(s) across 4 viewport(s).",
  "captured_at": "2026-05-16T00:33:56.606Z",
  "evidence": {
    "version": "riddle-proof.profile-evidence.v1",
    "profile_name": "riddle-site-v359-playground-batch-async-curl",
    "target_url": "https://riddledc.com/playground/",
    "baseline_policy": "invariant_only",
    "captured_at": "2026-05-16T00:33:56.606Z",
    "viewports": [
      {
        "name": "desktop",
        "width": 1280,
        "height": 900,
        "url": "https://riddledc.com/playground/",
        "route": {
          "requested": "https://riddledc.com/playground/",
          "observed": "/playground/",
          "expected_path": "/playground/",
          "matched": true,
          "http_status": 200
        },
        "title": "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "body_text_length": 1607,
        "body_text_sample": "Skip to main content Riddle Docs Proof MCP Pricing Blog Playground Dashboard Buy Credits rp359-playground@example.com Sign Out API Playground Test the APIs and generate integration code for your application Each request uses 30s minimum (~$0.004 per job). View pricing | Optimize costs Full Documentation•For AI Agents•Authenticated Pages Screenshot Batch Workflow Script URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile View (375x667) Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes Async only Batch jobs run asynchronously and poll for results Run Batch Result Time: 1.1s Billed: ~30s Cost: ~$0.00417 Success Job ID job_rp359_batch_async_curl rp359-first rp359-second curl Command: Copy curl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }' Next Steps Full API Documentation Optimize Costs with Batching Manage Your Account Riddle Distributed Computing Product Riddle Proof Good Catch Diary Pricing Maximize Value Documentation MCP Recipes Playground Use Cases AI Agents Agent Guide Serverless Authenticated Pages vs Self-Hosted Blog Evidence Over Summaries Frontend Dev Without a Browser E2E Testing Tips Chatty Agents (Part I) Batching Heuristics (Part II) Vision Agents Teaching AI to Ski Support FAQ Status Contact Legal Terms Privacy © 2026 Riddle. All rights reserved.",
        "scroll_width": 1280,
        "client_width": 1280,
        "overflow_px": 0,
        "bounds_overflow_px": 0,
        "overflow_offenders": [],
        "selectors": {
          ".playground-page": {
            "count": 1,
            "visible_count": 1
          },
          ".screenshots-section .screenshot-item": {
            "count": 2,
            "visible_count": 2
          },
          ".loading-state": {
            "count": 0,
            "visible_count": 0
          }
        },
        "frames": {},
        "text_sequences": {},
        "text_matches": {
          "text:API Playground": true,
          "text:Result": true,
          "text:Success": true,
          "text:Job ID": true,
          "text:job_rp359_batch_async_curl": true,
          "text:rp359-first": true,
          "text:rp359-second": true,
          "text:\"sync\": false": false,
          "text:No screenshots captured": false,
          "text:Failed at step": false,
          "text:Application error": false
        },
        "setup_action_results": [
          {
            "ok": true,
            "action": "clear_storage",
            "ordinal": 0,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "storage": "both",
            "reload": true
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 1,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.LastAuthUser",
            "value_length": 28,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 2,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp359-playground@example.com.idToken",
            "value_length": 353,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 3,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp359-playground@example.com.accessToken",
            "value_length": 329,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 4,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp359-playground@example.com.refreshToken",
            "value_length": 19,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 5,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp359-playground@example.com.clockDrift",
            "value_length": 1,
            "reload": true
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 6,
            "selector": ".playground-page",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 7,
            "selector": ".test-button:not(:disabled)",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 8,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptURL to Screenshot:Options:Full PageMobile View (375x667)Include in response:Console LogsNetwork HARGet debugging artifacts with your screenshotTimeo... (13465 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "clear_console",
            "ordinal": 9,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "cleared_console_event_count": 0,
            "cleared_page_error_count": 0
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 10,
            "selector": ".mode-tabs .mode-tab:nth-of-type(2)",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "text": "Batch"
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 11,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptURLs to Screenshot (one per line):https://example.com https://news.ycombinator.com https://github.comEnter multiple URLs, one per line. Each URL wil... (13521 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "fill",
            "ordinal": 12,
            "selector": "textarea.script-input",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "value_length": 47
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 13,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptURLs to Screenshot (one per line):https://example.com https://riddledc.com/statusEnter multiple URLs, one per line. Each URL will be screenshotted.O... (13501 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 14,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "label": "batch-async-curl-ready",
            "screenshot_label": "riddle-site-v359-playground-batch-async-curl-desktop-batch-async-curl-ready"
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 15,
            "selector": ".test-button",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "text": "Run Batch"
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 16,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "ResultTime: 1.1sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "target_index": 0,
            "timeout_ms": 45000
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 17,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "ResultTime: 1.1sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 18,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "ResultTime: 1.1sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 19,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "ResultTime: 1.1sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": false,
            "action": "assert_text_visible",
            "ordinal": 20,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "reason": "text_not_found",
            "text": "ResultTime: 1.1sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "timeout_ms": 10000
          }
        ],
        "screenshot_label": "riddle-site-v359-playground-batch-async-curl-desktop"
      },
      {
        "name": "phone",
        "width": 390,
        "height": 844,
        "url": "https://riddledc.com/playground/",
        "route": {
          "requested": "https://riddledc.com/playground/",
          "observed": "/playground/",
          "expected_path": "/playground/",
          "matched": true,
          "http_status": 200
        },
        "title": "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "body_text_length": 1508,
        "body_text_sample": "Skip to main content Riddle API Playground Test the APIs and generate integration code for your application Each request uses 30s minimum (~$0.004 per job). View pricing | Optimize costs Full Documentation•For AI Agents•Authenticated Pages Screenshot Batch Workflow Script URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile View (375x667) Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes Async only Batch jobs run asynchronously and poll for results Run Batch Result Time: 1.0s Billed: ~30s Cost: ~$0.00417 Success Job ID job_rp359_batch_async_curl rp359-first rp359-second curl Command: Copy curl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }' Next Steps Full API Documentation Optimize Costs with Batching Manage Your Account Riddle Distributed Computing Product Riddle Proof Good Catch Diary Pricing Maximize Value Documentation MCP Recipes Playground Use Cases AI Agents Agent Guide Serverless Authenticated Pages vs Self-Hosted Blog Evidence Over Summaries Frontend Dev Without a Browser E2E Testing Tips Chatty Agents (Part I) Batching Heuristics (Part II) Vision Agents Teaching AI to Ski Support FAQ Status Contact Legal Terms Privacy © 2026 Riddle. All rights reserved.",
        "scroll_width": 390,
        "client_width": 390,
        "overflow_px": 0,
        "bounds_overflow_px": 0,
        "overflow_offenders": [],
        "selectors": {
          ".playground-page": {
            "count": 1,
            "visible_count": 1
          },
          ".screenshots-section .screenshot-item": {
            "count": 2,
            "visible_count": 2
          },
          ".loading-state": {
            "count": 0,
            "visible_count": 0
          }
        },
        "frames": {},
        "text_sequences": {},
        "text_matches": {
          "text:API Playground": true,
          "text:Result": true,
          "text:Success": true,
          "text:Job ID": true,
          "text:job_rp359_batch_async_curl": true,
          "text:rp359-first": true,
          "text:rp359-second": true,
          "text:\"sync\": false": false,
          "text:No screenshots captured": false,
          "text:Failed at step": false,
          "text:Application error": false
        },
        "setup_action_results": [
          {
            "ok": true,
            "action": "clear_storage",
            "ordinal": 0,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "storage": "both",
            "reload": true
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 1,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.LastAuthUser",
            "value_length": 28,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 2,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp359-playground@example.com.idToken",
            "value_length": 353,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 3,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp359-playground@example.com.accessToken",
            "value_length": 329,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 4,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp359-playground@example.com.refreshToken",
            "value_length": 19,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 5,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp359-playground@example.com.clockDrift",
            "value_length": 1,
            "reload": true
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 6,
            "selector": ".playground-page",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 7,
            "selector": ".test-button:not(:disabled)",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 8,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptURL to Screenshot:Options:Full PageMobile View (375x667)Include in response:Console LogsNetwork HARGet debugging artifacts with your screenshotTimeo... (13465 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "clear_console",
            "ordinal": 9,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "cleared_console_event_count": 16,
            "cleared_page_error_count": 0
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 10,
            "selector": ".mode-tabs .mode-tab:nth-of-type(2)",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "text": "Batch"
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 11,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptURLs to Screenshot (one per line):https://example.com https://news.ycombinator.com https://github.comEnter multiple URLs, one per line. Each URL wil... (13521 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "fill",
            "ordinal": 12,
            "selector": "textarea.script-input",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "value_length": 47
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 13,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptURLs to Screenshot (one per line):https://example.com https://riddledc.com/statusEnter multiple URLs, one per line. Each URL will be screenshotted.O... (13501 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 14,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "label": "batch-async-curl-ready",
            "screenshot_label": "riddle-site-v359-playground-batch-async-curl-phone-batch-async-curl-ready"
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 15,
            "selector": ".test-button",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "text": "Run Batch"
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 16,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "target_index": 0,
            "timeout_ms": 45000
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 17,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 18,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 19,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": false,
            "action": "assert_text_visible",
            "ordinal": 20,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "reason": "text_not_found",
            "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "timeout_ms": 10000
          }
        ],
        "screenshot_label": "riddle-site-v359-playground-batch-async-curl-phone"
      },
      {
        "name": "ipad-mini",
        "width": 768,
        "height": 1024,
        "url": "https://riddledc.com/playground/",
        "route": {
          "requested": "https://riddledc.com/playground/",
          "observed": "/playground/",
          "expected_path": "/playground/",
          "matched": true,
          "http_status": 200
        },
        "title": "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "body_text_length": 1508,
        "body_text_sample": "Skip to main content Riddle API Playground Test the APIs and generate integration code for your application Each request uses 30s minimum (~$0.004 per job). View pricing | Optimize costs Full Documentation•For AI Agents•Authenticated Pages Screenshot Batch Workflow Script URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile View (375x667) Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes Async only Batch jobs run asynchronously and poll for results Run Batch Result Time: 1.0s Billed: ~30s Cost: ~$0.00417 Success Job ID job_rp359_batch_async_curl rp359-first rp359-second curl Command: Copy curl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }' Next Steps Full API Documentation Optimize Costs with Batching Manage Your Account Riddle Distributed Computing Product Riddle Proof Good Catch Diary Pricing Maximize Value Documentation MCP Recipes Playground Use Cases AI Agents Agent Guide Serverless Authenticated Pages vs Self-Hosted Blog Evidence Over Summaries Frontend Dev Without a Browser E2E Testing Tips Chatty Agents (Part I) Batching Heuristics (Part II) Vision Agents Teaching AI to Ski Support FAQ Status Contact Legal Terms Privacy © 2026 Riddle. All rights reserved.",
        "scroll_width": 768,
        "client_width": 768,
        "overflow_px": 0,
        "bounds_overflow_px": 0,
        "overflow_offenders": [],
        "selectors": {
          ".playground-page": {
            "count": 1,
            "visible_count": 1
          },
          ".screenshots-section .screenshot-item": {
            "count": 2,
            "visible_count": 2
          },
          ".loading-state": {
            "count": 0,
            "visible_count": 0
          }
        },
        "frames": {},
        "text_sequences": {},
        "text_matches": {
          "text:API Playground": true,
          "text:Result": true,
          "text:Success": true,
          "text:Job ID": true,
          "text:job_rp359_batch_async_curl": true,
          "text:rp359-first": true,
          "text:rp359-second": true,
          "text:\"sync\": false": false,
          "text:No screenshots captured": false,
          "text:Failed at step": false,
          "text:Application error": false
        },
        "setup_action_results": [
          {
            "ok": true,
            "action": "clear_storage",
            "ordinal": 0,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "storage": "both",
            "reload": true
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 1,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.LastAuthUser",
            "value_length": 28,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 2,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp359-playground@example.com.idToken",
            "value_length": 353,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 3,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp359-playground@example.com.accessToken",
            "value_length": 329,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 4,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp359-playground@example.com.refreshToken",
            "value_length": 19,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 5,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp359-playground@example.com.clockDrift",
            "value_length": 1,
            "reload": true
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 6,
            "selector": ".playground-page",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 7,
            "selector": ".test-button:not(:disabled)",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 8,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptURL to Screenshot:Options:Full PageMobile View (375x667)Include in response:Console LogsNetwork HARGet debugging artifacts with your screenshotTimeo... (13465 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "clear_console",
            "ordinal": 9,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "cleared_console_event_count": 2,
            "cleared_page_error_count": 0
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 10,
            "selector": ".mode-tabs .mode-tab:nth-of-type(2)",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "text": "Batch"
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 11,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptURLs to Screenshot (one per line):https://example.com https://news.ycombinator.com https://github.comEnter multiple URLs, one per line. Each URL wil... (13521 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "fill",
            "ordinal": 12,
            "selector": "textarea.script-input",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "value_length": 47
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 13,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptURLs to Screenshot (one per line):https://example.com https://riddledc.com/statusEnter multiple URLs, one per line. Each URL will be screenshotted.O... (13501 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 14,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "label": "batch-async-curl-ready",
            "screenshot_label": "riddle-site-v359-playground-batch-async-curl-ipad-mini-batch-async-curl-ready"
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 15,
            "selector": ".test-button",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "text": "Run Batch"
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 16,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "target_index": 0,
            "timeout_ms": 45000
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 17,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 18,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 19,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": false,
            "action": "assert_text_visible",
            "ordinal": 20,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "reason": "text_not_found",
            "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "timeout_ms": 10000
          }
        ],
        "screenshot_label": "riddle-site-v359-playground-batch-async-curl-ipad-mini"
      },
      {
        "name": "ipad",
        "width": 820,
        "height": 1180,
        "url": "https://riddledc.com/playground/",
        "route": {
          "requested": "https://riddledc.com/playground/",
          "observed": "/playground/",
          "expected_path": "/playground/",
          "matched": true,
          "http_status": 200
        },
        "title": "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "body_text_length": 1508,
        "body_text_sample": "Skip to main content Riddle API Playground Test the APIs and generate integration code for your application Each request uses 30s minimum (~$0.004 per job). View pricing | Optimize costs Full Documentation•For AI Agents•Authenticated Pages Screenshot Batch Workflow Script URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile View (375x667) Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes Async only Batch jobs run asynchronously and poll for results Run Batch Result Time: 1.0s Billed: ~30s Cost: ~$0.00417 Success Job ID job_rp359_batch_async_curl rp359-first rp359-second curl Command: Copy curl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }' Next Steps Full API Documentation Optimize Costs with Batching Manage Your Account Riddle Distributed Computing Product Riddle Proof Good Catch Diary Pricing Maximize Value Documentation MCP Recipes Playground Use Cases AI Agents Agent Guide Serverless Authenticated Pages vs Self-Hosted Blog Evidence Over Summaries Frontend Dev Without a Browser E2E Testing Tips Chatty Agents (Part I) Batching Heuristics (Part II) Vision Agents Teaching AI to Ski Support FAQ Status Contact Legal Terms Privacy © 2026 Riddle. All rights reserved.",
        "scroll_width": 820,
        "client_width": 820,
        "overflow_px": 0,
        "bounds_overflow_px": 0,
        "overflow_offenders": [],
        "selectors": {
          ".playground-page": {
            "count": 1,
            "visible_count": 1
          },
          ".screenshots-section .screenshot-item": {
            "count": 2,
            "visible_count": 2
          },
          ".loading-state": {
            "count": 0,
            "visible_count": 0
          }
        },
        "frames": {},
        "text_sequences": {},
        "text_matches": {
          "text:API Playground": true,
          "text:Result": true,
          "text:Success": true,
          "text:Job ID": true,
          "text:job_rp359_batch_async_curl": true,
          "text:rp359-first": true,
          "text:rp359-second": true,
          "text:\"sync\": false": false,
          "text:No screenshots captured": false,
          "text:Failed at step": false,
          "text:Application error": false
        },
        "setup_action_results": [
          {
            "ok": true,
            "action": "clear_storage",
            "ordinal": 0,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "storage": "both",
            "reload": true
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 1,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.LastAuthUser",
            "value_length": 28,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 2,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp359-playground@example.com.idToken",
            "value_length": 353,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 3,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp359-playground@example.com.accessToken",
            "value_length": 329,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 4,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp359-playground@example.com.refreshToken",
            "value_length": 19,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 5,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp359-playground@example.com.clockDrift",
            "value_length": 1,
            "reload": true
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 6,
            "selector": ".playground-page",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 7,
            "selector": ".test-button:not(:disabled)",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 8,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptURL to Screenshot:Options:Full PageMobile View (375x667)Include in response:Console LogsNetwork HARGet debugging artifacts with your screenshotTimeo... (13465 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "clear_console",
            "ordinal": 9,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "cleared_console_event_count": 2,
            "cleared_page_error_count": 0
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 10,
            "selector": ".mode-tabs .mode-tab:nth-of-type(2)",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "text": "Batch"
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 11,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptURLs to Screenshot (one per line):https://example.com https://news.ycombinator.com https://github.comEnter multiple URLs, one per line. Each URL wil... (13521 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "fill",
            "ordinal": 12,
            "selector": "textarea.script-input",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "value_length": 47
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 13,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp359-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptURLs to Screenshot (one per line):https://example.com https://riddledc.com/statusEnter multiple URLs, one per line. Each URL will be screenshotted.O... (13501 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 14,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "label": "batch-async-curl-ready",
            "screenshot_label": "riddle-site-v359-playground-batch-async-curl-ipad-batch-async-curl-ready"
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 15,
            "selector": ".test-button",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "text": "Run Batch"
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 16,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "target_index": 0,
            "timeout_ms": 45000
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 17,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 18,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 19,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": false,
            "action": "assert_text_visible",
            "ordinal": 20,
            "selector": ".result-state",
            "frame_selector": null,
            "optional": false,
            "reason": "text_not_found",
            "text": "ResultTime: 1.0sBilled: ~30sCost: ~$0.00417SuccessJob IDjob_rp359_batch_async_curlrp359-firstrp359-secondcurl Command:Copycurl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com\",\"https://riddledc.com/status\"], \"timeout_sec\": 120, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }'Next StepsFull API DocumentationOptimize Costs with BatchingManage Your Account",
            "timeout_ms": 10000
          }
        ],
        "screenshot_label": "riddle-site-v359-playground-batch-async-curl-ipad"
      }
    ],
    "console": {
      "events": [
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_64814348/riddle-site-v327-dashboard-api-key-revoke-failed-desktop-api-key-revoke-failed.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_3bb5a0cf/riddle-site-v322-billing-auto-recharge-failed-toggle-desktop-auto-recharge-failed-enable.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_77bc1541/riddle-site-v356-playground-script-job-receipt-desktop.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_6a27f3cd/riddle-site-v330-playground-workflow-structured-error-desktop-workflow-structured-error.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_16a4fec1/lilarcade-v256-builder-rejects-malformed-login-desktop.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_483da63f/riddle-site-v340-playground-workflow-timeout-artifact-message-desktop-workflow-timeout-artifact-message.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://riddledc.com/_next/static/css/3d5af00cf44a6122.css was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://riddledc.com/_next/static/css/03d24b27291037e6.css was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_d40d7ce9/classic-slalom-after-restart.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_553f8d65/homepage-community-games-manifest-after.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_50bcafca/riddle-site-v342-playground-script-job-id-artifacts-desktop.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_2882931c/riddle-site-v328-billing-payment-method-setup-failure-desktop-payment-method-setup-failed.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_6f80b2d5/lilarcade-v243-wide-saved-player-layout-phone.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_8a509d22/gem-mine-after-continue.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_bdfaa934/lilarcade-v248-builder-compound-emoji-save-desktop.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_bb371a11/lilarcade-v178-builder-player-phone.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_6711719e/riddle-site-v317-dashboard-job-status-phone-dashboard-loaded.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_ee10935f/phone-hot-path-after-interaction.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_1923075f/lilarcade-v252-builder-save-cancel-clears-draft-desktop.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://riddledc.com/_next/static/css/6ac8d98547b25acc.css was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_519cdc28/riddle-site-v338-dashboard-balance-structured-error-desktop-dashboard-balance-fallback.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_0144ef09/riddle-site-v347-playground-script-failed-status-desktop-script-failed-status-result.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_0c6e4f93/riddle-site-v345-dashboard-job-terminal-status-labels-desktop-dashboard-terminal-statuses.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_890f41c8/lilarcade-v176-games-projectile-game-desktop.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_d622f658/riddle-site-v324-dashboard-api-key-structured-error-desktop.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://riddledc.com/_next/static/css/2d6eac7c22a4fd3d.css was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_0a9320d5/riddle-site-v353-billing-load-retry-desktop-billing-retry-recovered.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_4eb1e278/riddle-site-v316-billing-promo-retry-desktop.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_364a5e09/lilarcade-v254-builder-logout-aborts-delayed-build-phone.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_89d53b2f/riddle-site-v333-billing-auto-recharge-structured-disable-desktop-auto-recharge-disable-rejected.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://cdn.riddledc.com/scripts/job_daa91c4b/lilarcade-v215-stale-player-resource-phone.png was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "warning",
          "text": "The resource https://riddledc.com/_next/static/css/4b3afbe31f145935.css was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.",
          "location": {
            "url": "https://riddledc.com/playground/",
            "lineNumber": 0,
            "columnNumber": 0
          }
        }
      ],
      "fatal_count": 0
    },
    "page_errors": [],
    "dialogs": [],
    "network_mocks": [
      {
        "ok": true,
        "label": "playground-v359-submit-batch",
        "response_label": "playground-v359-submit-batch",
        "hit_index": 0,
        "response_index": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/run",
        "method": "POST",
        "status": 200,
        "request_body_matches": true,
        "request_body_failures": [],
        "request_body_length": 161,
        "request_body_sample": "{\"urls\":[\"https://example.com\",\"https://riddledc.com/status\"],\"timeout_sec\":120,\"sync\":false,\"options\":{\"fullPage\":true,\"viewport\":{\"width\":1920,\"height\":1080}}}"
      },
      {
        "ok": true,
        "label": "playground-v359-batch-artifacts",
        "response_label": "playground-v359-batch-artifacts",
        "hit_index": 0,
        "response_index": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs/job_rp359_batch_async_curl/artifacts",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "playground-v359-submit-batch",
        "response_label": "playground-v359-submit-batch",
        "hit_index": 1,
        "response_index": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/run",
        "method": "POST",
        "status": 200,
        "request_body_matches": true,
        "request_body_failures": [],
        "request_body_length": 161,
        "request_body_sample": "{\"urls\":[\"https://example.com\",\"https://riddledc.com/status\"],\"timeout_sec\":120,\"sync\":false,\"options\":{\"fullPage\":true,\"viewport\":{\"width\":1920,\"height\":1080}}}"
      },
      {
        "ok": true,
        "label": "playground-v359-batch-artifacts",
        "response_label": "playground-v359-batch-artifacts",
        "hit_index": 1,
        "response_index": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs/job_rp359_batch_async_curl/artifacts",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "playground-v359-submit-batch",
        "response_label": "playground-v359-submit-batch",
        "hit_index": 2,
        "response_index": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/run",
        "method": "POST",
        "status": 200,
        "request_body_matches": true,
        "request_body_failures": [],
        "request_body_length": 161,
        "request_body_sample": "{\"urls\":[\"https://example.com\",\"https://riddledc.com/status\"],\"timeout_sec\":120,\"sync\":false,\"options\":{\"fullPage\":true,\"viewport\":{\"width\":1920,\"height\":1080}}}"
      },
      {
        "ok": true,
        "label": "playground-v359-batch-artifacts",
        "response_label": "playground-v359-batch-artifacts",
        "hit_index": 2,
        "response_index": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs/job_rp359_batch_async_curl/artifacts",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "playground-v359-submit-batch",
        "response_label": "playground-v359-submit-batch",
        "hit_index": 3,
        "response_index": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/run",
        "method": "POST",
        "status": 200,
        "request_body_matches": true,
        "request_body_failures": [],
        "request_body_length": 161,
        "request_body_sample": "{\"urls\":[\"https://example.com\",\"https://riddledc.com/status\"],\"timeout_sec\":120,\"sync\":false,\"options\":{\"fullPage\":true,\"viewport\":{\"width\":1920,\"height\":1080}}}"
      },
      {
        "ok": true,
        "label": "playground-v359-batch-artifacts",
        "response_label": "playground-v359-batch-artifacts",
        "hit_index": 3,
        "response_index": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs/job_rp359_batch_async_curl/artifacts",
        "method": "GET",
        "status": 200
      }
    ],
    "dom_summary": {
      "expected_viewport_count": 4,
      "viewport_count": 4,
      "partial": false,
      "routes": [
        {
          "requested": "https://riddledc.com/playground/",
          "observed": "/playground/",
          "expected_path": "/playground/",
          "matched": true,
          "http_status": 200
        },
        {
          "requested": "https://riddledc.com/playground/",
          "observed": "/playground/",
          "expected_path": "/playground/",
          "matched": true,
          "http_status": 200
        },
        {
          "requested": "https://riddledc.com/playground/",
          "observed": "/playground/",
          "expected_path": "/playground/",
          "matched": true,
          "http_status": 200
        },
        {
          "requested": "https://riddledc.com/playground/",
          "observed": "/playground/",
          "expected_path": "/playground/",
          "matched": true,
          "http_status": 200
        }
      ],
      "titles": [
        "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "Riddle Distributed Computing - Hosted Execution for AI Agents"
      ],
      "overflow_px": [
        0,
        0,
        0,
        0
      ],
      "bounds_overflow_px": [
        0,
        0,
        0,
        0
      ],
      "overflow_offender_counts": [
        0,
        0,
        0,
        0
      ],
      "frames": [
        {
          "viewport": "desktop",
          "selectors": []
        },
        {
          "viewport": "phone",
          "selectors": []
        },
        {
          "viewport": "ipad-mini",
          "selectors": []
        },
        {
          "viewport": "ipad",
          "selectors": []
        }
      ],
      "route_inventory": [],
      "network_mock_count": 2,
      "network_mock_hit_count": 8,
      "dialog_count": 0,
      "dialog_accept_count": 0,
      "dialog_dismiss_count": 0
    }
  }
}