[{"data":1,"prerenderedAt":334},["ShallowReactive",2],{"navigation_docs":3,"-guide-reading":88,"-guide-reading-surround":329},[4,48],{"title":5,"path":6,"stem":7,"children":8,"icon":47},"Guide","\u002Fguide","1.guide\u002F01.index",[9,11,15,19,23,27,31,35,39,43],{"title":10,"path":6,"stem":7},"Getting Started",{"title":12,"path":13,"stem":14},"Scrape","\u002Fguide\u002Fscrape","1.guide\u002F02.scrape",{"title":16,"path":17,"stem":18},"Screenshots and PDFs","\u002Fguide\u002Fcaptures","1.guide\u002F03.captures",{"title":20,"path":21,"stem":22},"Links and accessibility and extract","\u002Fguide\u002Freading","1.guide\u002F04.reading",{"title":24,"path":25,"stem":26},"Crawl and search","\u002Fguide\u002Fcrawl","1.guide\u002F05.crawl",{"title":28,"path":29,"stem":30},"Sessions","\u002Fguide\u002Fsessions","1.guide\u002F06.sessions",{"title":32,"path":33,"stem":34},"CLI","\u002Fguide\u002Fcli","1.guide\u002F07.cli",{"title":36,"path":37,"stem":38},"MCP and Pi and OMP","\u002Fguide\u002Fagents","1.guide\u002F08.agents",{"title":40,"path":41,"stem":42},"Errors","\u002Fguide\u002Ferrors","1.guide\u002F09.errors",{"title":44,"path":45,"stem":46},"Custom providers","\u002Fguide\u002Fcustom","1.guide\u002F10.custom","i-lucide-book-open",{"title":49,"path":50,"stem":51,"children":52,"icon":87},"Providers","\u002Fproviders","2.providers\u002F00.index",[53,55,59,63,67,71,75,79,83],{"title":54,"path":50,"stem":51},"Every provider",{"title":56,"path":57,"stem":58},"Steel","\u002Fproviders\u002Fsteel","2.providers\u002F01.steel",{"title":60,"path":61,"stem":62},"Browserbase","\u002Fproviders\u002Fbrowserbase","2.providers\u002F02.browserbase",{"title":64,"path":65,"stem":66},"Kernel","\u002Fproviders\u002Fkernel","2.providers\u002F03.kernel",{"title":68,"path":69,"stem":70},"Browserless","\u002Fproviders\u002Fbrowserless","2.providers\u002F04.browserless",{"title":72,"path":73,"stem":74},"Hyperbrowser","\u002Fproviders\u002Fhyperbrowser","2.providers\u002F05.hyperbrowser",{"title":76,"path":77,"stem":78},"Anchor","\u002Fproviders\u002Fanchor","2.providers\u002F06.anchor",{"title":80,"path":81,"stem":82},"Cloudflare","\u002Fproviders\u002Fcloudflare","2.providers\u002F07.cloudflare",{"title":84,"path":85,"stem":86},"Playwright","\u002Fproviders\u002Fplaywright","2.providers\u002F08.playwright","i-lucide-server",{"id":89,"title":20,"body":90,"description":321,"extension":322,"links":323,"meta":324,"navigation":326,"path":21,"seo":327,"stem":22,"__hash__":328},"docs\u002F1.guide\u002F04.reading.md",{"type":91,"value":92,"toc":316},"minimark",[93,97,102,134,142,148,159,165,168,172,175,196,202,225,228,232,257,302,309,312],[94,95,96],"p",{},"A scrape gives you the words. Sometimes you need something else from the same page.",[98,99,101],"h2",{"id":100},"links","Links",[103,104,109],"pre",{"className":105,"code":106,"language":107,"meta":108,"style":108},"language-bash shiki shiki-themes browsers browsers browsers","browsers links https:\u002F\u002Fexample.com -p playwright\n","bash","",[110,111,112],"code",{"__ignoreMap":108},[113,114,117,121,125,128,131],"span",{"class":115,"line":116},"line",1,[113,118,120],{"class":119},"sK71F","browsers",[113,122,124],{"class":123},"shU9J"," links",[113,126,127],{"class":123}," https:\u002F\u002Fexample.com",[113,129,130],{"class":123}," -p",[113,132,133],{"class":123}," playwright\n",[103,135,140],{"className":136,"code":138,"language":139,"meta":108},[137],"language-text","https:\u002F\u002Fiana.org\u002Fhelp\u002Fexample-domains\n","text",[110,141,138],{"__ignoreMap":108},[94,143,144,145,147],{},"The scrape of that page says \"Learn more\" and drops where it goes. ",[110,146,100],{}," is the other door: every unique href, in page order. Cloudflare and Playwright have it.",[94,149,150,151,154,155,158],{},"For a model, ",[110,152,153],{},"browsers_links"," pages them. 500 per call unless you pass ",[110,156,157],{},"limit",", 5 000 at most, and when more are left the answer ends with the offset to ask for:",[103,160,163],{"className":161,"code":162,"language":139,"meta":108},[137],"[1200 more links; call again with offset 500]\n",[110,164,162],{"__ignoreMap":108},[94,166,167],{},"Every call reads the page again. A total that changes between calls means the page changed, not the package.",[98,169,171],{"id":170},"accessibility-tree","Accessibility tree",[94,173,174],{},"A form in markdown is a mess. A form as its accessibility tree is a list of fields with their state:",[103,176,178],{"className":105,"code":177,"language":107,"meta":108,"style":108},"browsers accessibility https:\u002F\u002Fhttpbin.org\u002Fforms\u002Fpost --root fieldset\n",[110,179,180],{"__ignoreMap":108},[113,181,182,184,187,190,193],{"class":115,"line":116},[113,183,120],{"class":119},[113,185,186],{"class":123}," accessibility",[113,188,189],{"class":123}," https:\u002F\u002Fhttpbin.org\u002Fforms\u002Fpost",[113,191,192],{"class":123}," --root",[113,194,195],{"class":123}," fieldset\n",[103,197,200],{"className":198,"code":199,"language":139,"meta":108},[137],"- group \"Pizza Size\"\n  - Legend\n    - StaticText \"Pizza Size\"\n      - InlineTextBox\n  - paragraph\n    - none\n      - radio \"Small\" checked=false\n      - none\n  - paragraph\n    - none\n      - radio \"Medium\" checked=false\n      - none\n  - paragraph\n    - none\n      - radio \"Large\" checked=false\n      - none\n",[110,201,199],{"__ignoreMap":108},[94,203,204,205,208,209,212,213,216,217,220,221,224],{},"One node per line, indented, with the name, value and states like ",[110,206,207],{},"checked",", ",[110,210,211],{},"disabled"," and ",[110,214,215],{},"expanded",". ",[110,218,219],{},"--root"," keeps the subtree of the first element that matches, the boring generic nodes too. Leave it out and you get the whole page with those trimmed. ",[110,222,223],{},"--all"," keeps them anyway. A root that matches nothing is an error, not an empty tree.",[94,226,227],{},"Cloudflare only, for now.",[98,229,231],{"id":230},"extract","Extract",[103,233,235],{"className":105,"code":234,"language":107,"meta":108,"style":108},"browsers extract https:\u002F\u002Fexample.com --prompt \"Extract the heading and the link\" -p cloudflare\n",[110,236,237],{"__ignoreMap":108},[113,238,239,241,244,246,249,252,254],{"class":115,"line":116},[113,240,120],{"class":119},[113,242,243],{"class":123}," extract",[113,245,127],{"class":123},[113,247,248],{"class":123}," --prompt",[113,250,251],{"class":123}," \"Extract the heading and the link\"",[113,253,130],{"class":123},[113,255,256],{"class":123}," cloudflare\n",[103,258,262],{"className":259,"code":260,"language":261,"meta":108,"style":108},"language-json shiki shiki-themes browsers browsers browsers","{\n  \"heading\": \"Example Domain\",\n  \"link\": \"https:\u002F\u002Fiana.org\u002Fhelp\u002Fexample-domains\"\n}\n","json",[110,263,264,270,285,296],{"__ignoreMap":108},[113,265,266],{"class":115,"line":116},[113,267,269],{"class":268},"s38Sx","{\n",[113,271,273,276,279,282],{"class":115,"line":272},2,[113,274,275],{"class":119},"  \"heading\"",[113,277,278],{"class":268},": ",[113,280,281],{"class":123},"\"Example Domain\"",[113,283,284],{"class":268},",\n",[113,286,288,291,293],{"class":115,"line":287},3,[113,289,290],{"class":119},"  \"link\"",[113,292,278],{"class":268},[113,294,295],{"class":123},"\"https:\u002F\u002Fiana.org\u002Fhelp\u002Fexample-domains\"\n",[113,297,299],{"class":115,"line":298},4,[113,300,301],{"class":268},"}\n",[94,303,304,305,308],{},"Cloudflare answers at once. Hyperbrowser runs it as a job and waits up to two minutes. A job still running after that comes back with its ID instead of a timeout. The tool takes a JSON ",[110,306,307],{},"schema"," too, when \"extract the heading\" is too much freedom.",[94,310,311],{},"It's a model reading the page for you, so the answer is only as good as the prompt. Treat it that way.",[313,314,315],"style",{},"html pre.shiki code .sK71F, html code.shiki .sK71F{--shiki-light:var(--shiki-token-function);--shiki-default:var(--shiki-token-function);--shiki-dark:var(--shiki-token-function)}html pre.shiki code .shU9J, html code.shiki .shU9J{--shiki-light:var(--shiki-token-string);--shiki-default:var(--shiki-token-string);--shiki-dark:var(--shiki-token-string)}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s38Sx, html code.shiki .s38Sx{--shiki-light:var(--ui-text-highlighted);--shiki-default:var(--ui-text-highlighted);--shiki-dark:var(--ui-text-highlighted)}",{"title":108,"searchDepth":272,"depth":272,"links":317},[318,319,320],{"id":100,"depth":272,"text":101},{"id":170,"depth":272,"text":171},{"id":230,"depth":272,"text":231},"Three other ways to read one page. The hrefs the scrape dropped and the fields of a form and structured data from a prompt","md",null,{"icon":325},"i-lucide-list-tree",true,{"title":20,"description":321},"J5F70OIh4Up2xqeETqsNx5LmULbyZVjZbMU7mSSJaWQ",[330,332],{"title":16,"path":17,"stem":18,"description":331,"children":-1},"A picture of the page or of one element. A PDF straight to a file. Which providers do it without a session",{"title":24,"path":25,"stem":26,"description":333,"children":-1},"Follow links from one page and keep a slow crawl job instead of losing it. Web search through Hyperbrowser",1790685118149]