From e115e243c47aec26c7c8e474b47db513a3639abd Mon Sep 17 00:00:00 2001 From: ChloeQuijano <61916412+ChloeQuijano@users.noreply.github.com> Date: Mon, 10 Aug 2026 17:27:28 -0400 Subject: [PATCH] Fix Anchor Browser adapter using an outdated connection method Connected via a bare wss://connect.anchorbrowser.io?apiKey=... URL, which isn't how Anchor Browser's API works today. Anchor Browser's blog-published connection numbers (5,582ms avg, ~8x every other provider) were very likely measuring this broken/outdated path rather than Anchor's real performance. Fixed to match Anchor Browser's current API: POST /v1/sessions to create a session, use the returned cdp_url to connect, DELETE /v1/sessions/:id to tear down. Verified with a live run against all 4 providers -- Anchor Browser's connection time now lands in the same range as the other three (243-689ms depending on run/region), not an 8x outlier. --- providers/anchorbrowser.js | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/providers/anchorbrowser.js b/providers/anchorbrowser.js index 70644fb..d7ba913 100644 --- a/providers/anchorbrowser.js +++ b/providers/anchorbrowser.js @@ -4,10 +4,29 @@ import 'dotenv/config'; const API_KEY = process.env.ANCHORBROWSER_API_KEY; export const setup = async () => { + const res = await fetch('https://api.anchorbrowser.io/v1/sessions', { + method: 'POST', + headers: { + 'anchor-api-key': API_KEY, + 'Content-Type': 'application/json', + }, + body: JSON.stringify({}), + }); + if (!res.ok) { + throw new Error(`anchorbrowser session create failed: ${res.status} ${await res.text()}`); + } + const { data } = await res.json(); + return { - browserWSEndpoint: `wss://connect.anchorbrowser.io?apiKey=${API_KEY}`, + browserWSEndpoint: data.cdp_url, provider: 'Anchorbrowser', + sessionId: data.id, }; } -export const teardown = async () => { }; +export const teardown = async ({ sessionId }) => { + await fetch(`https://api.anchorbrowser.io/v1/sessions/${sessionId}`, { + method: 'DELETE', + headers: { 'anchor-api-key': API_KEY }, + }); +};