[{"data":1,"prerenderedAt":765},["ShallowReactive",2],{"blog-browserbase-stagehand-de":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":22,"sources":26,"cover":56,"og":57,"expertise":58,"locales":59,"lang":61,"title":63,"description":64,"coverAlt":65,"metaTitle":66,"takeaways":67,"faq":73,"toc":86,"blocks":111,"others":492},"browserbase-stagehand","2026-09-30",10,"web",[9,10,11,12,13],"Browser automation","Web agents","Headless browsers","Playwright","MCP",[15,16,17,18,19,20,21],"browserbase","stagehand","stagehand vs playwright","browserbase pricing","ai web agent framework","headless browser api","browserbase alternatives",[23],{"name":24,"url":25},"Browserbase","https:\u002F\u002Fwww.browserbase.com",[27,30,33,36,39,42,45,48,51,54],{"title":28,"url":29},"Browserbase pricing","https:\u002F\u002Fwww.browserbase.com\u002Fpricing",{"title":31,"url":32},"Browserbase plans and pricing docs","https:\u002F\u002Fdocs.browserbase.com\u002Fguides\u002Fplans-and-pricing",{"title":34,"url":35},"Stagehand documentation","https:\u002F\u002Fdocs.stagehand.dev\u002F",{"title":37,"url":38},"Stagehand quickstart","https:\u002F\u002Fdocs.stagehand.dev\u002Fv4\u002Ffirst-steps\u002Fquickstart",{"title":40,"url":41},"Stagehand v4 announcement","https:\u002F\u002Fwww.browserbase.com\u002Fblog\u002Fstagehand-v4",{"title":43,"url":44},"Stagehand repository","https:\u002F\u002Fgithub.com\u002Fbrowserbase\u002Fstagehand",{"title":46,"url":47},"Browser Use comparison of the two vendors","https:\u002F\u002Fbrowser-use.com\u002Fposts\u002Fbrowser-use-vs-browserbase",{"title":49,"url":50},"Browser Use pricing","https:\u002F\u002Fwww.browser-use.com\u002Fpricing",{"title":52,"url":53},"Skyvern pricing","https:\u002F\u002Fskyvern.com\u002Fpricing",{"title":12,"url":55},"https:\u002F\u002Fplaywright.dev\u002F","\u002Fimages\u002Fblog\u002Fbrowserbase-stagehand\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fbrowserbase-stagehand\u002Fog.jpg","ai-engineer",[60,61,62],"en","de","hu","Browserbase und Stagehand im Test: gemietetes Chrome für KI-Agenten","Browserbase vermietet verwaltetes Chrome pro Minute, Stagehand legt Natural-Language-Schritte obendrauf. Was es kostet, wo die Zähler laufen und wann Playwright gewinnt.","Drei immer höhere Rechtecke in einer Reihe, ein Pfeil in eine offene Kiste, darüber ein Kreis.","Browserbase-Test: Chrome für Agenten · Balázs Csorba",[68,69,70,71,72],"Stagehand steht unter MIT-Lizenz und ist in Version 4.1.0 kostenlos, während Browserbase Browserminuten ab 0,12 Dollar pro Stunde berechnet, sobald die 100 Stunden im 20-Dollar-Developer-Plan aufgebraucht sind.","Das serverseitige Caching von act und observe gilt nur, wenn das Skript mit env = BROWSERBASE läuft; ein lokaler Lauf zahlt also für jede Wiederholung Modell-Tokens.","Die Parallelität liegt bei 3 Sessions auf Free und 25 auf Developer, das Anlegen von Sessions bei 5 beziehungsweise 25 pro Minute; ein Schwall kurzer Sessions trifft also ein Rate-Limit, bevor eine Stunde verbraucht ist.","Proxy-Traffic ist der zweite Zähler: 1 GB auf Developer und 5 GB auf Startup enthalten, danach 12 beziehungsweise 10 Dollar pro Gigabyte — das überrascht Teams mit Residential-IPs.","Ein Vergleich, den Browser Use am 21. September 2026 veröffentlichte, setzte Browserbase mit 42 Prozent gegenüber eigenen 81 Prozent auf einem Stealth-Benchmark, also sollte Erkennung kein festes SLA einpreisen.",[74,77,80,83],{"q":75,"a":76},"Was kostet Browserbase, wenn die inkludierten Stunden aufgebraucht sind?","Developer kostet 20 Dollar im Monat für 100 Browserstunden und danach 0,12 Dollar pro Stunde; Startup 99 Dollar für 500 Stunden und danach 0,10 Dollar. Proxy-Traffic wird zusätzlich mit 12 beziehungsweise 10 Dollar pro Gigabyte berechnet, und Model-Gateway-Tokens laufen zum Marktpreis obendrauf.",{"q":78,"a":79},"Ist Stagehand kostenlos nutzbar?","Die Bibliothek steht unter MIT-Lizenz und liegt als 4.1.0 auf npm, das SDK selbst kostet also nichts und läuft gegen lokales Chrome mit eigenem Modellschlüssel. Caching, Stealth-Stufen, Proxyk und Session-Aufzeichnung sind gehostete Browserbase-Funktionen und bleiben hinter den Planlimits.",{"q":81,"a":82},"Soll ein Team Stagehand oder Playwright nehmen?","Playwright gewinnt, wo jeder Selektor vorab bekannt ist, denn er braucht weder Modell-Tokens noch Abo. Stagehand lohnt sich auf Seiten, die noch niemand kartiert hat, wo act und extract brüchige Selektoren gegen Inferenz eintauschen, und die Dokumentation empfiehlt ohnehin eine Mischung aus beidem.",{"q":84,"a":85},"Hängt Stagehand noch von Playwright ab?","Seit Version 3 nicht mehr: Die Abhängigkeit fiel weg, um Chromium direkt über das Chrome DevTools Protocol zu steuern; Version 4 verlagerte Zielverwaltung und Frame-Dispatch in eine Erweiterung neben der Seite. Playwright-artige page- und locator-Methoden bleiben Teil der API.",[87,90,93,96,99,102,105,108],{"id":88,"title":89},"what-it-is","Was es ist",{"id":91,"title":92},"how-it-works","Wie es funktioniert",{"id":94,"title":95},"getting-started","Erste Schritte",{"id":97,"title":98},"pricing","Preise",{"id":100,"title":101},"identity-and-detection","Identität und Erkennung",{"id":103,"title":104},"where-it-shingles","Wo es quietscht",{"id":106,"title":107},"verdict","Fazit",{"id":109,"title":110},"sources","Quellen",[112,116,119,122,130,164,165,168,174,177,181,184,203,206,263,264,271,273,276,291,292,295,343,346,359,360,363,373,376,377,380,426,429,430,433,445,449,450],{"type":113,"content":114},"paragraph",[115],"Browserbase vermietet Chrome: Sessions, die schnell starten, hinter einem Proxy-Netzwerk laufen und über das Chrome DevTools Protocol von Playwright, Puppeteer oder Selenium gesteuert werden können. Stagehand ist das SDK, das dieselbe Firma darauf aufbaut und drei Natural-Language-Primitive zu dieser Steuerungsfläche hinzufügt. Die hier vertretene Position: das richtige Paar für produktive Browser-Agenten, die Seitenwechsel überstehen müssen, und das falsche Paar für alle, die eine feste Monatskosten wollen, weil jede interessante Funktion separat abgerechnet wird.",{"type":113,"content":117},[118],"Es sitzt dort, wo ein Agent-Framework Hände braucht. LangChain, CrewAI und Mastra entscheiden; Stagehand klickt. Was es ersetzt, ist die hauseigene Browser-Farm: ein Pool von Headless-Instanzen, ein Proxy-Abo, ein Captcha-Dienst und ein Session-Recorder, die Browserbase alles in einen Stundensatz einrechnet. Der härteste Wettbewerb ist nicht ein anderer Cloud-Browser, sondern eine gewöhnliche Playwright-Suite auf einer Maschine, die ohnehin schon bezahlt wird.",{"type":120,"level":121,"id":88,"text":89},"heading",2,{"type":113,"content":123},[124,125,129],"Zwei Produkte unter einem Anbieter. Browserbase ist die Infrastruktur: verwaltetes Chromium, Proxys, Session-Aufzeichnung, Identity-Funktionen und HTTP-Endpunkte für Suche, Abruf und Extraktion. Stagehand ist die Automatisierungsbibliothek, unter MIT-Lizenz veröffentlicht, aktuell als ",{"tag":126,"children":127},"code",[128],"4.1.0"," auf npm, mit TypeScript-, Python- und Go-SDKs gleichen Umfangs.",{"type":131,"ordered":132,"items":133},"list",false,[134,140,142,144,158,160,162],[135,136,139],"Anbieter: Browserbase, Inc.; Stagehand wird offen unter ",{"tag":126,"children":137},[138],"github.com\u002Fbrowserbase\u002Fstagehand"," und der MIT-Lizenz gepflegt.",[141],"Browserzeit: pro Minute abgerechnet, mit einem Minutenminimum pro Session; der Gratisplan erlaubt 15 Minuten pro Session, bezahlte Pläne 6 Stunden.",[143],"Parallelität: 3 Sessions gratis, 25 auf Developer, 100 auf Startup, 250+ auf Scale, mit Höchstgrenzen von 5, 25, 50 und 150 Sessions pro Minute.",[145,146,149,150,153,154,157],"Stagehand-API: ",{"tag":126,"children":147},[148],"act",", ",{"tag":126,"children":151},[152],"extract"," und ",{"tag":126,"children":155},[156],"observe"," für modellgesteuerte Schritte, dazu Playwright-artige page- und locator-Methoden für alles, was kein Modell braucht.",[159],"Laufzeit: steuert Chromium direkt über CDP, seit v3 ohne Playwright-Abhängigkeit, und lädt seit v4 die eigene Erweiterung in den Browser.",[161],"Sprachen: TypeScript, Python und Go; das npm-Paket verlangt Node 22.18 oder neuer.",[163],"Zusätze: gehosteter MCP-Server, Search- und Fetch-Endpunkte, Session-Aufzeichnung, Residential-Proxys und ein Model Gateway, das Modelle zum Marktpreis abrechnet.",{"type":120,"level":121,"id":91,"text":92},{"type":113,"content":166},[167],"Eine Session ist eine Chromium-Instanz an einem anderen Ort. Das SDK öffnet dafür eine CDP-Verbindung; seit Version 4 liegt der Zustand, der früher im Client gespiegelt wurde — Zielverwaltung, Frame-Kontexte, Dispatch —, in einer Erweiterung neben der Seite, sodass der Client die Wahrheit liest und nicht eine Kopie davon. Modellaufrufe entstehen nur dort, wo der Code sie verlangt: ein act- oder extract-Aufruf baut eine gekürzte Sicht auf die Seite, schickt sie an ein Modell und übersetzt die Antwort in CDP-Befehle.",{"type":169,"src":170,"alt":171,"wide":172,"caption":173},"image","\u002Fimages\u002Fblog\u002Fbrowserbase-stagehand\u002Fdiagram-7.webp","Der Anfragepfad von Browserbase und Stagehand Vier Kästen laufen von links nach rechts: Ihr Code, das Stagehand-SDK, die im Browser geladene Erweiterung und die Browser-Session selbst. Darunter zwei Felder: Modellaufrufe, die nur für act, extract und observe anfallen, und die Abrechnung, die Browser-Minuten, Proxy-Gigabyte und Gateway-Tokens zählt. Drei Zeilen besagen, dass der Server-Cache wiederholte Anweisungen nur in gehosteten Sessions beantwortet, dass Stealth-Stufe und Captcha-Lösung aus dem Plan und nicht aus dem Skript kommen, und dass ein lokaler Lauf Chrome auf dem eigenen Rechner startet und den eigenen Modellschlüssel nutzt.",true,"Eine Verbindung vom Skript zum Browser; das Modell wird nur befragt, wo der Code es verlangt.",{"type":113,"content":175},[176],"Diese Trennung zählt für die Kosten so sehr wie für die Architektur. Deterministische Schritte, etwa ein bekannter Selektor, kosten neben der Browserminute nichts. Modellgesteuerte Schritte kosten jeweils eine Completion, und die Cache-Schicht des Anbieters existiert, weil Teams für denselben Klick zweimal bezahlt haben.",{"type":120,"level":178,"id":179,"text":180},3,"ai-primitives","Die drei Primitive",{"type":113,"content":182},[183],"Das Versprechen ist, dass ein Skript Schritt für Schritt entscheiden kann, wie viel es von einer Seite versteht. Die Dokumentation sagt offen, dass das Design hybrid ist: Natural Language, wo die DOM unbekannt ist, Code, wo der Selektor stabil ist.",{"type":131,"ordered":132,"items":185},[186,191,196,201],[187,190],{"tag":126,"children":188},[189],"act(\"click the login button\")"," führt eine Natural-Language-Anweisung aus und repariert sich, wenn sich das Markup verschiebt.",[192,195],{"tag":126,"children":193},[194],"extract(prompt, schema)"," liefert typisierte Daten, die gegen ein Zod- oder Pydantic-Schema geprüft werden statt freien Texts.",[197,200],{"tag":126,"children":198},[199],"observe(instruction)"," gibt Kandidatenaktionen mit echten Selektoren zurück; so bleiben Zugangsdaten aus dem Prompt.",[202],"page und locator bieten goto, click, fill, screenshot und Frame-Traversal ohne jede Inferenz.",{"type":113,"content":204},[205],"Die empfohlene Reihenfolge ist observe und dann act: Entdeckung kostet eine Completion, und die gefundene Aktion lässt sich cachen und als einfacher Befehl abspielen. Dort liegt die laufende Kosten eines Agenten auf Browserbase, nicht in der Browserstunde, sondern in wiederholter Inferenz auf Seiten, die sich nicht verändert haben.",{"type":207,"variant":208,"title":209,"body":210},"callout","tip","Caching nur auf dem gehosteten Plan",[211,227,230,233,234,242,243,245,246],[212,213,214,215,214,216,217,218,216,217,214,216,219,220,219,221,216,215,222,213,223,224,219,225,221,215,218,226,225,215],"D","a","s"," ","e","r","v","i","t","g","C","c","h","n","o",[228,229],"tag","children",[215,231,225,232,215],"u","d",[228,229],[215,221,219,235,220,236,215,237,216,225,225,215,232,213,214,215,238,239,217,219,240,220,215,241,219,220,215],"l",",","w","S","k","p","m",[228,229],[215,244,215],"=",[228,229],[215,235,247,231,248,220,249,215,232,219,216,215,212,226,239,231,241,216,225,220,213,220,219,226,225,215,214,213,221,220,215,231,225,241,219,214,214,218,216,217,214,220,247,225,232,235,219,223,224,236,215,232,213,214,214,215,216,214,215,235,226,239,213,235,215,239,216,219,225,216,215,250,219,217,239,231,225,221,215,224,213,220,251,215,252,219,225,215,235,226,239,213,235,216,217,215,253,213,231,248,215,254,213,224,235,220,215,213,235,214,226,215,248,255,217,215,256,216,232,216,215,250,219,216,232,216,217,224,226,235,231,225,221,215,257,226,232,216,235,235,258,259,226,239,216,225,214,236,215,237,247,224,217,216,225,232,215,232,219,216,214,216,235,260,216,215,261,225,237,216,219,214,231,225,221,215,219,225,215,216,219,225,216,217,215,221,216,224,226,214,220,216,220,216,225,215,238,216,214,214,219,226,225,215,213,231,214,215,232,216,241,215,222,213,223,224,216,215,239,226,241,241,220,251,215,259,216,213,241,214,236,215,232,219,216,215,218,226,241,215,253,213,240,220,226,240,215,219,225,215,232,219,216,215,222,235,226,231,232,215,237,216,223,224,214,216,235,225,236,215,214,216,224,216,225,215,226,248,220,215,232,219,216,215,257,226,232,216,235,235,217,216,223,224,225,231,225,221,215,214,223,224,225,216,235,235,216,217,215,214,219,225,239,216,225,236,215,213,235,214,215,232,219,216,215,262,217,226,237,214,216,217,217,216,223,224,225,231,225,221,215,214,220,216,219,221,220,251],"ä","f",";","W",".","E","L","z","ü","j","M","-","T","b","A","B",{"type":120,"level":121,"id":94,"text":95},{"type":113,"content":265},[266,267,270],"Das Quickstart läuft gegen lokales Chrome mit eigenem Modellschlüssel; das Tauschen des Browsers gegen ",{"tag":126,"children":268},[269],"browserbase.launch()"," ist die einzige Änderung, um dasselbe Skript in die Cloud zu bringen. Der Ausschnitt unten erledigt beide Hälften: einen Natural-Language-Schritt und eine typisierte Extraktion, am Ende ein deterministischer Klick.",{"type":126,"code":272},"import { browserbase, Stagehand } from \"@browserbasehq\u002Fstagehand\";\nimport { z } from \"zod\u002Fv4\";\n\nconst browser = await browserbase.launch({ apiKey: process.env.BROWSERBASE_API_KEY! });\nconst stagehand = await Stagehand.create({ browser, cache: true });\nconst [page] = await browser.context.pages();\n\nawait page.goto(\"https:\u002F\u002Fexample.com\u002Fpricing\");\n\n\u002F\u002F natural language step, answered from cache when it repeats\nawait stagehand.act(\"open the plan comparison table\");\n\n\u002F\u002F typed extraction: validated against the schema, not just prompted\nconst { data } = await stagehand.extract(\n  \"extract every plan and its monthly price\",\n  z.object({ plans: z.array(z.object({ name: z.string(), price: z.string() })) }),\n);\nconsole.table(data.plans);\n\n\u002F\u002F deterministic step: a real selector, no model involved\nawait page.locator('a[href=\"\u002Fdocs\"]').click();\n\nawait stagehand.close();\nawait browser.close();",{"type":113,"content":274},[275],"Die letzten zwei Aufrufe zeigen das Wesentliche: Die Extraktion wird gegen ein Schema geprüft, ein fehlender Preis ist also eine Ausnahme statt eines Satzes zum Parsen, und der letzte Klick erreicht nie ein Modell. Das kopierbare Muster ist das Verhältnis — Inferenz für die Seitenteile, die noch niemand kartiert hat, Locator für die, die bekannt sind.",{"type":207,"variant":277,"title":278,"body":279},"warn","Drei Voraussetzungen vor dem Start",[280],[212,213,214,215,225,240,241,258,281,213,239,216,220,215,218,216,217,235,213,225,221,220,215,282,226,232,216,215,283,283,251,284,285,215,226,232,216,217,215,225,216,231,216,217,215,231,225,232,215,240,219,225,225,220,215,286,226,232,215,213,231,248,215,232,219,216,215,287,251,287,251,288,258,253,219,225,219,216,236,215,237,216,219,235,215,225,216,231,216,217,216,215,257,219,225,226,217,214,215,232,219,216,215,216,288,220,217,213,223,220,258,259,289,240,216,225,215,260,217,216,223,224,216,225,251,215,252,219,225,215,235,226,239,213,235,216,217,215,262,217,226,237,214,216,217,215,239,213,225,225,215,232,213,214,215,257,226,232,216,235,215,290,213,220,216,237,213,289,215,225,219,223,224,220,215,225,231,220,254,216,225,236,215,257,226,232,216,235,235,225,213,241,216,215,231,225,232,215,238,223,224,235,255,214,214,216,235,215,241,255,214,214,216,225,215,216,288,240,235,219,254,219,220,215,255,260,216,217,221,216,260,216,225,215,237,216,217,232,216,225,251,215,261,231,248,215,262,217,226,237,214,216,217,260,213,214,216,215,217,216,223,224,225,216,220,215,232,213,214,215,290,213,220,216,237,213,289,215,254,231,241,215,262,217,226,237,214,216,217,214,220,231,225,232,216,225,214,213,220,254,215,257,213,217,239,220,240,217,216,219,214,216,215,213,260,236,215,232,219,216,215,257,226,232,216,235,235,217,216,223,224,225,231,225,221,215,219,214,220,215,232,213,241,219,220,215,216,219,225,215,254,237,216,219,220,216,217,215,286,247,224,235,216,217,215,231,225,232,215,239,216,219,225,215,219,225,239,235,231,232,219,216,217,220,216,214,215,252,288,220,217,213,251],"P","N","2","1","8","Z","4","x","y","G",{"type":120,"level":121,"id":97,"text":98},{"type":113,"content":293},[294],"Vier Pläne, drei davon öffentlich. Browserstunden, Proxy-Bandbreite, Agent-Läufe sowie Search- und Fetch-Aufrufe bekommen jeweils eine Monatsallokation und danach einen Aufschlagssatz; nichts wird hart begrenzt, ein voller Monat rechnet mehr und schlägt nicht fehl.",{"type":296,"head":297,"rows":306},"table",[298,300,302,304],[299],"Plan",[301],"Preis",[303],"Enthaltene Browserzeit",[305],"Parallelität und Session-Limit",[307,316,325,334],[308,310,312,314],[309],"Free",[311],"$0",[313],"1 Stunde, keine Proxys",[315],"3 parallel, 15-Minuten-Sessions, 5 pro Minute",[317,319,321,323],[318],"Developer",[320],"$20 im Monat",[322],"100 Stunden, danach $0,12 pro Stunde",[324],"25 parallel, 6-Stunden-Sessions, 25 pro Minute",[326,328,330,332],[327],"Startup",[329],"$99 im Monat",[331],"500 Stunden, danach $0,10 pro Stunde",[333],"100 parallel, 6-Stunden-Sessions, 50 pro Minute",[335,337,339,341],[336],"Scale",[338],"Individuell",[340],"Nutzungsabhängig",[342],"250+ parallel, 6+ Stunden Sessions, 150+ pro Minute",{"type":113,"content":344},[345],"Die Rechnung ist leicht falsch zu machen. 300 reine Browserstunden im Monat auf Developer sind 20 plus 200 Stunden Aufschlag zu 0,12 Dollar, also 44 Dollar; dieselben 500 Stunden auf Startup sind im Abo enthalten. Proxy-Traffic ist die zweite Variable: 1 GB ist auf Developer enthalten, 5 GB auf Startup, danach 12 beziehungsweise 10 Dollar pro Gigabyte — die Zeile, die Teams mit Residential-IPs beim Login überrascht.",{"type":207,"variant":277,"title":347,"body":348},"Was der Stundensatz nicht enthält",[349],[262,217,226,237,214,216,217,254,216,219,220,215,237,219,217,232,215,213,231,248,215,216,219,225,216,215,257,219,225,231,220,216,215,213,231,248,221,216,217,231,225,232,216,220,215,241,219,220,215,216,219,225,216,241,215,257,219,225,231,220,216,225,241,219,225,219,241,231,241,215,240,217,226,215,238,216,214,214,219,226,225,236,215,231,225,232,215,232,213,214,215,261,225,235,216,221,216,225,215,218,226,225,215,238,216,214,214,219,226,225,214,215,219,214,220,215,221,216,220,217,216,225,225,220,215,218,226,225,215,232,216,217,215,281,213,217,213,235,235,216,235,219,220,247,220,215,260,216,221,217,216,225,254,220,350,215,216,219,225,215,238,223,224,237,213,235,235,215,239,231,217,254,216,217,215,238,216,214,214,219,226,225,214,215,216,217,217,216,219,223,224,220,215,213,231,248,215,232,216,241,215,290,217,213,220,219,214,240,235,213,225,215,351,215,240,217,226,215,257,219,225,231,220,216,236,215,260,216,218,226,217,215,216,219,225,216,215,238,220,231,225,232,216,215,218,216,217,260,217,213,231,223,224,220,215,219,214,220,251,215,212,219,216,215,212,213,220,216,225,213,231,248,260,216,237,213,224,217,231,225,221,215,260,216,220,217,247,221,220,215,352,215,259,213,221,216,215,213,231,248,215,353,217,216,216,215,231,225,232,215,212,216,218,216,235,226,240,216,217,215,231,225,232,215,354,355,215,259,213,221,216,215,213,231,248,215,238,220,213,217,220,231,240,251,215,238,356,222,215,283,215,221,219,235,220,215,248,255,217,215,213,235,235,216,215,281,235,247,225,216,249,215,357,358,281,261,261,215,241,219,220,215,262,261,261,236,215,216,219,225,216,215,212,281,261,215,231,225,232,215,238,238,356,215,221,219,260,220,215,216,214,215,225,231,217,215,213,231,248,215,238,223,213,235,216,251],":","5","7","F","3","0","O","H","I",{"type":120,"level":121,"id":100,"text":101},{"type":113,"content":361},[362],"Einen Browser zu einer Seite zu bringen, die keine Automatisierung will, ist hier eine eigene Produktlinie — und sie wird nach Plänen gestaffelt statt separat verkauft.",{"type":131,"ordered":132,"items":364},[365,367,369,371],[366],"Stealth: keins auf Free, Basic auf Developer und Startup, Advanced mit Verified Identity auf Scale.",[368],"Captcha-Lösung: automatisch auf jedem bezahlten Plan, auf Free nicht vorhanden.",[370],"Proxys: verwalteter Residential-Traffic wird pro Gigabyte abgerechnet, ein eigener Proxy-Anbieter lässt sich stattdessen konfigurieren.",[372],"Compliance: SOC 2 auf allen Plänen; HIPAA mit BAA, eine DPA und SSO nur auf dem Scale-Plan.",{"type":113,"content":374},[375],"Das ist der Teil für gesunden Zweifel. Anti-Bot-Verteidigung wird gemietet und nicht gelöst: Die Stufen beschreiben, was der Anbieter anwendet, und keine Erfolgsquote, und die veröffentlichten Zahlen stammen von Anbietern mit eigenem Interesse. Ein Vergleich, den Browser Use am 21. September 2026 veröffentlichte, setzte Browserbase auf Basic Stealth mit 42% gegenüber eigenen 81% auf einem Stealth-Benchmark und mit 70,3% gegenüber 84,8% auf einem zweiten. Die technische Folgerung ist nicht, dass Browserbase schwach ist, sondern dass Erkennung ein wandelndes Ziel ist, in das niemand ein festes SLA einpreisen sollte.",{"type":120,"level":121,"id":103,"text":104},{"type":113,"content":378},[379],"Die Schwächen sind strukturell, nicht zufällig. Jede Komponente außerhalb des SDK ist proprietär: Ein Jahr Stagehand lokal bedeutet trotzdem keine selbst gehostete Entsprechung von Proxy-Pool, Stealth-Schicht, Captcha-Löser oder Session-Recorder, denn der Gratisplan selbst endet bei 1 Stunde und 3 parallelen Sessions. Die Preise haben drei Zähler — Browserstunden, Proxy-Gigabyte und Modell-Tokens — und keine veröffentlichte Schätzung, was ein realistischer Agent-Workload pro erledigter Aufgabe kostet. Betrieb im eigenen Rechenzentrum gibt es nicht; die Dokumentation beantwortet die Frage mit Regionen und Beratung.",{"type":296,"head":381,"rows":390},[382,384,386,388],[383],"Tool",[385],"Was es verkauft",[387],"Abrechnungseinheit",[389],"Wo es gewinnt",[391,400,408,417],[392,394,396,398],[393],"Browserbase und Stagehand",[395],"Gehostete Browserflotte plus MIT-SDK mit KI-Primitive",[397],"Browserstunden ab 0,12 Dollar, Proxy-GB ab 10 Dollar, Tokens zum Marktpreis",[399],"Lange Sessions mit Proxys, Captcha-Lösung und gecachten Wiederholungen",[401,402,404,406],[12],[403],"Bibliothek für den eigenen Rechner, dazu MCP-Server und CLI für Agenten",[405],"Eigene Infrastruktur; die Software ist kostenlos",[407],"Deterministische Abläufe und CI-Suiten, in denen jeder Selektor bekannt ist",[409,411,413,415],[410],"Browser Use",[412],"Verwaltete Browser und ein Agent-Produkt, im Kern quelloffen",[414],"0,02 Dollar je Browserstunde ohne Abo, 5 Dollar je GB Proxy",[416],"Günstigste reine Browserzeit und Bezahlen nach Verbrauch ohne Bindung",[418,420,422,424],[419],"Skyvern",[421],"Ein Workflow-Produkt: Wahrnehmungsschleife, Zugangsdaten, 2FA, Mensch-Prüfung",[423],"Credits: 29 Dollar im Monat für 30.000, 149 für 150.000",[425],"Unbeaufsichtigte Portal-Abläufe, bei denen der ganze Lauf die Einheit ist",{"type":113,"content":427},[428],"Gegenüber diesen lautet die ehrliche Zusammenfassung: Browserbase konkurriert mit operativer Reife und verliert beim Stückpreis: Browser Use führt Browserzeit mit 0,02 Dollar pro Stunde gegenüber 0,10 bis 0,12 Dollar Aufschlag aus, eine Fünffach-Differenz, die erst zählt, wenn die inkludierten Stunden aufgebraucht sind. Playwright bleibt kostenlos und unschlagbar, wenn nichts am Ablauf eine Seite verstehen muss, die es nie gesehen hat.",{"type":120,"level":121,"id":106,"text":107},{"type":113,"content":431},[432],"Die Flotte bei Browserbase kaufen und Stagehand als optionale Schicht darauf behandeln, nicht als Grund für das Abo. Die SDK bleibt frei, die Infrastruktur nicht, und das Abrechnungsschema belohnt Teams, die wissen, welche Schritte ein Modell brauchen.",{"type":131,"ordered":172,"items":434},[435,437,439,441,443],[436],"Es lohnt sich, wenn Agent-Abläufe einloggen, Relaunches überstehen und ohne Aufsicht auf Seiten laufen müssen, die niemand im Team kontrolliert.",[438],"Es lohnt sich, wenn die Alternative wäre, Proxys, Captcha-Lösung und Session-Aufzeichnung selbst zu bauen; diese Komponenten sind das, was der Stundensatz kauft.",[440],"Besser weglassen, wenn jede Seite im Ablauf vorab bekannt ist: Eine Playwright-Suite und eine billige Virtuelle Maschine sind dann schneller und billiger.",[442],"Besser weglassen, wenn das Budget pro Aufgabe fest sein muss; Browserminuten plus Proxy-Traffic plus Gateway-Tokens ergeben ohne Instrumentierung nie eine vorhersagbare Zahl.",[444],"Mit Developer statt Free beginnen: 1 Stunde und 15-Minuten-Sessions reichen, um das Skript zu schreiben, aber nicht, um es zu testen.",{"type":446,"content":447},"quote",[448],"Browserbase ist Browserzeit mit den langweiligen Teilen inklusive; Stagehand ist eine freie Bibliothek, die Tokens nur dort ausgibt, wo man es erlaubt. Das erste misst man am Preis pro erledigtem Ablauf, das zweite daran, wie wenige Completions ein Ablauf braucht.",{"type":120,"level":121,"id":109,"text":110},{"type":131,"ordered":172,"items":451},[452,456,460,464,468,472,476,480,484,488],[453,455],{"tag":213,"href":29,"children":454},[28]," — plan limits, overage rates and the capability table",[457,459],{"tag":213,"href":32,"children":458},[31]," — browser allocations, session duration and creation caps, retention and compliance by plan",[461,463],{"tag":213,"href":35,"children":462},[34]," — the act, extract and observe primitives and the Playwright-style page API",[465,467],{"tag":213,"href":38,"children":466},[37]," — local launch, schema-typed extraction and the swap to browserbase.launch()",[469,471],{"tag":213,"href":41,"children":470},[40]," — the extension architecture, the cache rename and the measured round-trip numbers",[473,475],{"tag":213,"href":44,"children":474},[43]," — MIT licence, install commands and the hosted MCP server",[477,479],{"tag":213,"href":47,"children":478},[46]," — the September 2026 stealth, latency and price figures used in this review",[481,483],{"tag":213,"href":50,"children":482},[49]," — browser-hour and proxy rates in the comparison table",[485,487],{"tag":213,"href":53,"children":486},[52]," — credit allowances and concurrency in the comparison table",[489,491],{"tag":213,"href":55,"children":490},[12]," — the free alternative and its MCP server and CLI",[493,567,623,697],{"slug":494,"published":495,"minutes":6,"category":7,"tags":496,"keywords":502,"about":514,"sources":523,"cover":560,"og":561,"expertise":562,"locales":563,"lang":61,"title":564,"description":565,"coverAlt":566},"schema-org-structured-data-b2b-shop","2026-10-17",[497,498,499,500,501],"Schema.org","Structured data","B2B e-commerce","Technical SEO","Nuxt",[503,504,505,506,507,508,509,510,511,512,513],"schema.org b2b shop","product structured data b2b","merchant listing structured data","product snippet vs merchant listing","unitpricespecification referencequantity","productgroup variants structured data","organization schema vatid","b2b prices behind login seo","json-ld nuxt schema org","merchant return policy structured data","mpn gtin structured data",[515,517,520],{"name":497,"url":516},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSchema.org",{"name":518,"url":519},"JSON-LD","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FJSON-LD",{"name":521,"url":522},"Business-to-business","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBusiness-to-business",[524,527,530,533,536,539,542,545,548,551,554,557],{"title":525,"url":526},"Google Search Central: Introduction to Product structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fproduct",{"title":528,"url":529},"Google Search Central: Merchant listing (Product, Offer) structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fmerchant-listing",{"title":531,"url":532},"Google Search Central: Product snippet structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fproduct-snippet",{"title":534,"url":535},"Google Search Central: Product variant structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fproduct-variants",{"title":537,"url":538},"Google Search Central: Organization structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Forganization",{"title":540,"url":541},"Google Search Central: Merchant return policy structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Freturn-policy",{"title":543,"url":544},"Google Search Central: General structured data guidelines","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fsd-policies",{"title":546,"url":547},"Google Search Central: Generate structured data with JavaScript","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fgenerate-structured-data-with-javascript",{"title":549,"url":550},"Schema.org: Offer","https:\u002F\u002Fschema.org\u002FOffer",{"title":552,"url":553},"Schema.org: UnitPriceSpecification","https:\u002F\u002Fschema.org\u002FUnitPriceSpecification",{"title":555,"url":556},"Unhead: Product schema (defineProduct)","https:\u002F\u002Funhead.unjs.io\u002Fdocs\u002Fschema-org\u002Fapi\u002Fschema\u002Fproduct",{"title":558,"url":559},"Nuxt SEO: Schema.org identity setup","https:\u002F\u002Fnuxtseo.com\u002Fdocs\u002Fschema-org\u002Fguides\u002Fsetup-identity","\u002Fimages\u002Fblog\u002Fschema-org-structured-data-b2b-shop\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fschema-org-structured-data-b2b-shop\u002Fog.jpg","b2b-ecommerce-developer",[60,61,62],"Schema.org-Strukturdaten für B2B-Shops: Preise hinter Logins, Einheiten und Varianten","Produkt-Markup für B2B-Shops: Snippet oder Händlereintrag, welcher Preis, Artikelnummern, Grundpreise, Varianten, Organization und SSR in Nuxt.","Ein Produktrechteck mit dünnem Rahmen und einem kleinen Feld, das eine niedrige Wand verdeckt.",{"slug":568,"published":495,"minutes":569,"category":7,"tags":570,"keywords":575,"about":587,"sources":595,"cover":617,"og":618,"expertise":562,"locales":619,"lang":61,"title":620,"description":621,"coverAlt":622},"ai-assistant-b2b-shop-customer-support",9,[499,571,572,573,574],"AI assistant","Customer support","LLM agents","EU AI Act",[576,577,578,579,580,581,582,583,584,585,586],"ai assistant b2b shop","ai customer support b2b ecommerce","llm chatbot order status","ai agent customer service tools","chatbot liability air canada","klarna ai assistant results","human handoff chatbot design","eu ai act chatbot disclosure","owasp excessive agency","ai support resolution rate","b2b customer portal chatbot",[588,591,594],{"name":589,"url":590},"Customer service","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCustomer_service",{"name":592,"url":593},"Chatbot","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FChatbot",{"name":521,"url":522},[596,599,602,605,608,611,614],{"title":597,"url":598},"Klarna: AI assistant handles two-thirds of customer service chats in its first month (press release, 2024)","https:\u002F\u002Fwww.klarna.com\u002Finternational\u002Fpress\u002Fklarna-ai-assistant-handles-two-thirds-of-customer-service-chats-in-its-first-month\u002F",{"title":600,"url":601},"Entrepreneur: Klarna is hiring customer service agents again, according to its CEO (May 2025)","https:\u002F\u002Fwww.entrepreneur.com\u002Fbusiness-news\u002Fklarna-ceo-reverses-course-by-hiring-more-humans-not-ai\u002F491396",{"title":603,"url":604},"ABA Business Law Today: BC tribunal confirms companies remain liable for information provided by AI chatbot","https:\u002F\u002Fwww.americanbar.org\u002Fgroups\u002Fbusiness_law\u002Fresources\u002Fbusiness-law-today\u002F2024-february\u002Fbc-tribunal-confirms-companies-remain-liable-information-provided-ai-chatbot\u002F",{"title":606,"url":607},"OWASP GenAI Security Project: LLM06:2025 Excessive Agency","https:\u002F\u002Fgenai.owasp.org\u002Fllmrisk\u002Fllm062025-excessive-agency\u002F",{"title":609,"url":610},"OWASP GenAI Security Project: LLM05:2025 Improper Output Handling","https:\u002F\u002Fgenai.owasp.org\u002Fllmrisk\u002Fllm052025-improper-output-handling\u002F",{"title":612,"url":613},"EU AI Act, Article 50: Transparency obligations","https:\u002F\u002Fartificialintelligenceact.eu\u002Farticle\u002F50\u002F",{"title":615,"url":616},"Intercom: Fin pricing and billable outcomes","https:\u002F\u002Ffin.ai\u002Fpricing","\u002Fimages\u002Fblog\u002Fai-assistant-b2b-shop-customer-support\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fai-assistant-b2b-shop-customer-support\u002Fog.jpg",[60,61,62],"Ein KI-Assistent für den Support im B2B-Shop: Tools, Berechtigungen und die Übergabe an Menschen","Wie man einen KI-Support-Assistenten für einen B2B-Shop baut: was automatisieren, Tools im Kundenkontext, Übergabe an Menschen, AI Act und Kennzahlen.","Eine hohe Mauer mit schmalem Durchgang: Ein Pfeil führt in ein Feld mit drei Quadraten, ein zweiter nach unten zu einer Ablage.",{"slug":624,"published":495,"minutes":625,"category":7,"tags":626,"keywords":631,"about":643,"sources":653,"cover":690,"og":691,"expertise":692,"locales":693,"lang":61,"title":694,"description":695,"coverAlt":696},"vue-ai-chat-ui-streaming-accessibility",11,[627,501,628,629,630],"Vue","Accessibility","Streaming","AI chat",[632,633,634,635,636,637,638,639,640,641,642],"vue ai chat ui","nuxt llm streaming","sse vs fetch streaming","aria-live streaming text","accessible chat interface","abort fetch stream vue","dompurify markdown llm","role log chat","reduced motion chat ui","wcag 2.2 chat","screen reader streaming",[644,647,650],{"name":645,"url":646},"Web accessibility","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FWeb_accessibility",{"name":648,"url":649},"Server-sent events","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FServer-sent_events",{"name":651,"url":652},"Vue.js","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FVue.js",[654,657,660,663,666,669,672,675,678,681,684,687],{"title":655,"url":656},"MDN: Using server-sent events","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FServer-sent_events\u002FUsing_server-sent_events",{"title":658,"url":659},"MDN: AbortController","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FAbortController",{"title":661,"url":662},"MDN: ReadableStream","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FReadableStream",{"title":664,"url":665},"MDN: TextDecoderStream","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FTextDecoderStream",{"title":667,"url":668},"MDN: ARIA log role","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAccessibility\u002FARIA\u002FReference\u002FRoles\u002Flog_role",{"title":670,"url":671},"W3C: Understanding SC 4.1.3 Status Messages","https:\u002F\u002Fwww.w3.org\u002FWAI\u002FWCAG22\u002FUnderstanding\u002Fstatus-messages.html",{"title":673,"url":674},"W3C WAI: What's new in WCAG 2.2","https:\u002F\u002Fwww.w3.org\u002FWAI\u002Fstandards-guidelines\u002Fwcag\u002Fnew-in-22\u002F",{"title":676,"url":677},"MDN: prefers-reduced-motion","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FCSS\u002F@media\u002Fprefers-reduced-motion",{"title":679,"url":680},"DOMPurify README","https:\u002F\u002Fgithub.com\u002Fcure53\u002FDOMPurify",{"title":682,"url":683},"markdown-it README","https:\u002F\u002Fgithub.com\u002Fmarkdown-it\u002Fmarkdown-it",{"title":685,"url":686},"AI SDK docs: useChat","https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Fai-sdk-ui\u002Fchatbot",{"title":688,"url":689},"Vue docs: nextTick","https:\u002F\u002Fvuejs.org\u002Fapi\u002Fgeneral.html#nexttick","\u002Fimages\u002Fblog\u002Fvue-ai-chat-ui-streaming-accessibility\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fvue-ai-chat-ui-streaming-accessibility\u002Fog.jpg","vue-nuxt-developer",[60,61,62],"Streaming-Chat mit KI in Vue und Nuxt: von Anfang an barrierefrei","KI-Chat in Vue oder Nuxt: Fetch-Streams, Abbruch und Retry, sicheres Markdown-Rendering, aria-live-Meldungen, Tastaturnavigation und Reduced Motion.","Eine Nachrichtenkarte mit blinkendem Cursor, eine gepunktete Linie öffnet sich zu Wellen, daneben ein Haken.",{"slug":698,"published":495,"minutes":569,"category":7,"tags":699,"keywords":704,"about":716,"sources":726,"cover":759,"og":760,"expertise":692,"locales":761,"lang":61,"title":762,"description":763,"coverAlt":764},"llm-translation-pipeline-i18n",[700,701,702,627,703],"Translation","i18n","LLM","Localization",[705,706,707,708,709,710,711,712,713,714,715],"llm translation pipeline","icu messageformat placeholders","vue i18n llm translation","translation memory llm","glossary enforcement translation","german informal sie du","hungarian translation quality llm","structured output json translation","machine translation post-editing","locale file validation","cldr plural categories",[717,720,723],{"name":718,"url":719},"Internationalization and localization","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FInternationalization_and_localization",{"name":721,"url":722},"ICU MessageFormat","https:\u002F\u002Funicode-org.github.io\u002Ficu\u002Fuserguide\u002Fformat_parse\u002Fmessages\u002F",{"name":724,"url":725},"Vue I18n","https:\u002F\u002Fvue-i18n.intlify.dev\u002F",[727,729,732,735,738,741,744,747,750,753,756],{"title":728,"url":722},"Unicode ICU User Guide: Formatting Messages",{"title":730,"url":731},"Vue I18n: Message Format Syntax","https:\u002F\u002Fvue-i18n.intlify.dev\u002Fguide\u002Fessentials\u002Fsyntax",{"title":733,"url":734},"Nuxt i18n: Getting started","https:\u002F\u002Fi18n.nuxtjs.org\u002Fdocs\u002Fgetting-started",{"title":736,"url":737},"Unicode CLDR: Plural rules","https:\u002F\u002Fcldr.unicode.org\u002Findex\u002Fcldr-spec\u002Fplural-rules",{"title":739,"url":740},"OpenAI: Structured outputs","https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fstructured-outputs",{"title":742,"url":743},"DeepL API: Glossaries","https:\u002F\u002Fdevelopers.deepl.com\u002Fdocs\u002Fapi-reference\u002Fglossaries",{"title":745,"url":746},"W3C: Localization vs. internationalization","https:\u002F\u002Fwww.w3.org\u002FInternational\u002Fquestions\u002Fqa-i18n",{"title":748,"url":749},"GNU gettext manual","https:\u002F\u002Fwww.gnu.org\u002Fsoftware\u002Fgettext\u002Fmanual\u002Fgettext.html",{"title":751,"url":752},"RFC 5646: Tags for Identifying Languages","https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc5646",{"title":754,"url":755},"Rat für deutsche Rechtschreibung","https:\u002F\u002Fwww.rechtschreibrat.com\u002F",{"title":757,"url":758},"Microsoft Writing Style Guide","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fstyle-guide\u002Fwelcome\u002F","\u002Fimages\u002Fblog\u002Fllm-translation-pipeline-i18n\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-translation-pipeline-i18n\u002Fog.jpg",[60,61,62],"Eine LLM-Übersetzungspipeline für i18n: Glossar, Platzhalter und Review","Produkt- und Website-Texte mit LLMs übersetzen, ohne Platzhalter, Pluralformen oder Tonalität zu beschädigen: Glossar, ICU-Nachrichten, QA-Checks, Review.","Drei Quellkarten, eine übersetzte Karte mit Glossar-Lesezeichen, dann eine geprüfte Klemmschiene.",1792261157390]