Browserbase

Browserbase

Browserbase는 사람처럼 웹을 탐색하고 상호작용하는 AI 에이전트를 만들고 배포하기 위한 완전한 플랫폼이에요. API 하나로 헤드리스 브라우저, 웹 검색, 페이지 페칭, 함수(Functions), 모델 게이트웨이, 에이전트 아이덴티티까지 모두 제공해서, 우리가 직접 인프라를 관리하지 않고도 브라우저 자동화 에이전트를 운영할 수 있어요. API가 커버하지 못하는 부분(로그인, JS 렌더링, CAPTCHA, 대화형 흐름)을 실제 브라우저가 처리해 주기 때문에, 전통적인 API로는 어려웠던 작업까지 자동화할 수 있죠. 현재 1만 개 이상의 고객사에서 월 3,500만 회 이상의 브라우저 세션을 실행하고 있어요.

출처: 문서

본문

Browserbase가 뭔가요?

전통적인 API는 웹의 약 15%만 커버해요. 나머지는 로그인, JS 렌더링, CAPTCHA, 대화형 흐름 뒤에 숨어 있고, 이건 브라우저가 필요해요. Browserbase는 이런 이유로 "웹을 API만큼 신뢰할 수 있고 프로그래밍 가능하게" 만드는 것을 목표로 해요. 한 개의 API 키만 있으면 세 가지를 쓸 수 있어요.

  • Browser — 클라우드에서 실행되는 헤드리스 브라우저 세션. 격리된 세션과 전 세계 인프라를 제공해요.
  • Search & Fetch — 브라우저 세션보다 빠르고 토큰 효율적인 웹 검색·콘텐츠 가져오기 수단이에요.
  • Agent Identity — Cloudflare, Fingerprint 등 파트너십을 통해 안티봇, CAPTCHA, 인증 벽을 통과시키는 에이전트 정체성 관리예요.

그 외에도 Functions(브라우저 옆에서 바로 실행되는 배포 계층), Model Gateway(주요 LLM을 Stagehand에서 네이티브로 접근), Stagehand(AI 네이티브 브라우저 에이전트 SDK)를 제공하고, 모든 단계에 대해 로그, 라이브 뷰, 세션 리플레이를 갖춘 옵저버빌리티를 얹었어요.

웹을 크롤링하는 상황에서는 Search → Fetch → Browsers 순서로 생각하면 좋아요. 관련 소스를 찾을 때는 Search, 대부분의 페이지에서 빠르게 내용을 추출할 때는 Fetch, 로그인이 필요하거나 복잡한 페이지를 탐색해야 할 때는 Browsers를 쓰는 거예요.

세션(Session)이 뭔가요?

브라우저 세션은 클라우드에서 실행되는 단일 브라우저 인스턴스를 뜻해요. Browserbase의 가장 기본적인 구성 요소로, 웹 자동화 작업을 위한 격리된 환경을 제공해요. 세션을 만들면 연결 URL(connection URL)이 반환되고, 우리가 쓰는 자동화 프레임워크로 그 URL에 연결해서 브라우저를 제어해요.

세션을 만들 때는 지역(Region), 뷰포트(Viewport), keep alive(장시간 실행), 녹화·로깅 여부 같은 기본 설정부터, Agent Identity, 브라우저 확장, 브라우저 컨텍스트, 사용자 메타데이터 같은 고급 기능까지 구성할 수 있어요.

연결 베스트 프랙틱으로는 다음을 기억해 두면 좋아요.

  • 세션을 만든 뒤 5분 안에 연결해야 해요. 그 전에 세션은 종료되거든요. 오래 유지해야 한다면 keep alive를 켜요.
  • 가능하면 기본 컨텍스트와 기본 페이지를 사용해서 Verified 기능들이 제대로 동작하게 해요.

SDK 사용 예시

Browserbase는 Node.js와 Python SDK, 그리고 cURL REST API를 제공해요. 아래는 세션을 만들고 Playwright로 연결하는 예시예요.

세션 만들기 (Python & Node.js)

import os
from browserbase import Browserbase

bb = Browserbase(api_key=os.environ["BROWSERBASE_API_KEY"])
session = bb.sessions.create(
    # Add configuration options here
)
import { Browserbase } from "@browserbasehq/sdk";

const bb = new Browserbase({ apiKey: proces...KEY! });
const session = await bb.sessions.create({
  // Add configuration options here
});

세션 만들기 (cURL)

curl --request POST \
  --url "https://api.browserbase.com/v1/sessions" \
  --header "Content-Type: application/json" \
  --header "x-bb-api-key: $BROWS...KEY" \
  --data '{
    // Add configuration options here
  }'

세션에 Playwright로 연결하기

import { chromium } from "playwright-core";
import { Browserbase } from "@browserbasehq/sdk";

const bb = new Browserbase({ apiKey: proces...KEY });

// Create a session
const session = await bb.sessions.create();

const browser = await chromium.connectOverCDP(session.connectUrl);

// Use the default context and page
const context = browser.contexts()[0];
const page = context.pages()[0];
import os
from playwright.sync_api import sync_playwright
from browserbase import Browserbase

# Create a session
bb = Browserbase(api_key=os.environ["BROWSERBASE_API_KEY"])
session = bb.sessions.create()

with sync_playwright() as playwright:
    browser = playwright.chromium.connect_over_cdp(session.connect_url)

    # Use the default context and page
    context = browser.contexts[0]
    page = context.pages[0]

Stagehand로 AI 네이티브하게 연결하기

import os
import asyncio
from browserbase import Browserbase
from stagehand import Stagehand
from stagehand import browserbase as stagehand_browserbase

async def main():
    bb = Browserbase(api_key=os.environ["BROWSERBASE_API_KEY"])
    session = bb.sessions.create()
    browser = await stagehand_browserbase.connect(
        api_key=os.environ["BROWSERBASE_API_KEY"],
        session_id=session.id,
    )
    stagehand = await Stagehand.create(browser=browser)
    page = (await browser.context.pages())[0]

asyncio.run(main())

Stagehand

Stagehand는 Browserbase 팀이 만들고 유지 관리하는 AI 네이티브 브라우저 에이전트 SDK예요. Playwright 수준의 제어력에 AI 프리미티브(act, extract, observe)를 결합해서, 페이지가 바뀌어도 스스로 복구(self-heal)하는 오토메이션을 작성할 수 있어요. LangChain, CrewAI, Mastra 등과도 연동돼요. 전통적인 자동화가 필요하면 Playwright, Puppeteer, Selenium도 그대로 지원해요.

배포(Functions)와 무료 플랜

브라우저 에이전트를 웹훅이나 스케줄 작업, API 엔드포인트로 배포하고 싶다면 Functions를 사용할 수 있어요. 서버 관리 없이 API로 호출 가능한 브라우저 에이전트를 만들어 주고, 세션 관리가 내장되어 있어요.

무료 플랜은 동시 실행 세션 1개월 60분 브라우저 사용 시간을 제공해요.

더 알아보기 (Learn more)