Skip to content
Browserbase
    • Primitives
      • BrowsersCloud browsers for your agent to use the web
      • AgentsScale fully managed browser agents with simple prompts
      • SearchFind relevant websites from a single query
      • FetchRetrieve web data as agent-ready HTML, JSON, or markdown
      • RuntimeScalable, sandboxed environments for agent deployments
      • IdentityAuthenticate your agent to navigate the web like a human
      • ModelsUse any model with a single API key
      • ObservabilityUnified debugging your agent across replays, logs, and prompts
    • Open Source
      • Browse CLIGive your agent browsing skills with a single command
      • StagehandThe most popular AI browser automation framework
    • Use Cases
      • Browser AgentsPower agents across logins, forms, and portals
      • Web Data ExtractionAutomate data extraction from sites with no APIs
      • Records VerificationCheck KYB, background, and title from official sources
      • Portal FilingsFile registrations, pay invoices, and submit appeals at scale
      • Document RetrievalCollect receipts, statements, and reports from vendor portals
      • Data MigrationImport a new customer's data from the system they're leaving
      • Permissioned Data AccessSecurely access payroll, HRIS, and patient portal accounts your users authorize
      • AI AssistantsBuild agents that act on behalf of your users
      All use cases
    • Industries
      • AI & Agent Platforms
      • Healthcare
      • Fintech
      • GTM
      • Legal
    • Resources
      • Blog
      • Customers
      • Enterprise
      • Templates
  • Pricing
  • Docs
  • Log in
Log in
Sign up
Get a demo

Turn any webpage into context with one API call

Fetch any public or private webpage as HTML, Markdown, or JSON,
paired with proxies.

Get startedRead the docs

Webpage to Markdown API for LLMs & Agents

Enrich your agent’s context with fresh and structured web data.

  • Fetch API

    Transform any webpage into fresh agent context. Pass an URL, choose your format, and get back clean, structured content your agent can use immediately.

    Try now
  • Extract structured data as JSON or Markdown

    Give your agent token-optimized web context using Fetch’s Markdown and JSON formats. Markdown is perfect for direct agent context whereas JSON is useful for programatic usage.

    Explore Fetch formats
  • Fetch content behind authenticated pages

    Combine Fetch with Browserbase Contexts to fetch content behind authenticated pages. Sign-in first using a Browser, save a context and reuse it across unlimited Fetch requests.

    Authenticated Fetch docs

Integrated with our Browserbase SDKs

One API Key gives your agents access to the whole web.

Quickstart
  1. Typescript
  2. Python
import Browserbase from '@browserbasehq/sdk';

const bb = new Browserbase({ apiKey: process.env.BROWSERBASE_API_KEY });

// Pass a URL, get back clean, live markdown your agent can read
const page = await bb.fetchAPI.create({
  url: 'https://news.ycombinator.com',
  format: 'markdown',
});

console.log(page.statusCode); // 200
console.log(page.content);    // LLM-ready markdown
import os
from browserbase import Browserbase

bb = Browserbase(api_key=os.environ["BROWSERBASE_API_KEY"])

# Pass a URL, get back clean, live markdown your agent can read
page = bb.fetch_api.create(
    url="https://news.ycombinator.com",
    format="markdown",
)

print(page.status_code)  # 200
print(page.content)      # LLM-ready markdown

Search, then Fetch, then Browse

An agent-optimized web experience.

Search returns ranked URLs with titles and descriptions so your agent lands in the right place on the first try.

Fetch and Fetch Extract allow you to pull content and convert to markdown or structured JSON from a provided url. Request a page, get content back.

Browse is the final step that lets you take actions on a page. Log in, fill out a form, download a file.

Start building browser agents

Deep Research Agents

Point an agent at a topic and get back ranked and readable content across hundreds of sources.

Explore use case

AI assistants

Gives your personal AI agents real browsers, Agent Identity, and persistent logins to finish the job on behalf of thousands of users at once.

Explore use case

KYC/KYB workflows

Reliable browsers that access the portals your verification workflows depend on.

Explore use case

Frequently Asked Questions

What is the Fetch API and what does it do?

Fetch takes a URL and returns the page’s current content as clean Markdown or JSON, with ads and clutter removed. It’s the “read the page” step between Search and Browse.

How do I turn a URL into clean markdown for an LLM?

Call the Fetch API with the URL and ask for Markdown. Fetch renders the page, removes navigation and boilerplate, and returns text ready for an LLM.

How does Fetch compare to Firecrawl's scrape?

Both turn URLs into clean content. Fetch always returns a live copy as Markdown or JSON (up to 5 MB). It can also read pages behind a login using a saved Context.

Why not write my own scraper with requests and BeautifulSoup?

You can, until the page fights bots or is protected with a login page, at which point the quick script turns into a standing maintenance job. It's the case every managed provider makes: ScrapingBee sells scraping "without managing proxies, browsers, or anti-bot defenses". A Fetch API renders the page, even if authenticated, hands back clean content, and spares you from building and maintaining a browser, proxy, and parsing stack.

Does Fetch return live content or a cached copy?

Fetch returns a live copy of the page at request time, not a stored snapshot. Cached responses are faster but can be out of date, which is a problem when an agent is about to act on what it reads. Firecrawl, for instance, exposes a cached index mode. A live fetch keeps the agent off stale content.

How does the Fetch API reduce token usage?

It returns only the page's real content, with the ads, navigation, cookie banners, and boilerplate taken out, so your model reads less. Token savings are the headline pitch across the category now: providers advertise "reducing token usage by 80%" and "77% fewer tokens" from clean-markdown extraction. Fewer tokens means less for the model to process and a faster response per fetch.

What output formats does the Fetch API return?

Raw content, markdown or JSON, with responses up to 5 MB. Markdown works well for grounding and retrieval. For JSON, you pass a schema and Fetch extracts just the fields you need. These formats also work on logged-in pages.

When should I use Fetch versus Browsers?

Use Fetch to read a page at a known URL. Use Browsers when the agent needs to act on a page: logging in, filling forms, or downloading files. A common pattern is to log in once with a browser, then read the pages behind that login with Fetch.

Can Fetch read pages behind a login?

Yes, with Fetch with Contexts. It’s included at no extra cost on every plan. Setup takes three steps:

  1. Start a browser session with a Context and persist: true.
  2. Log in, then end the session so the cookies are saved.
  3. Call Fetch with the page URL and the contextId.

It uses the same endpoint. It works for pages whose content loads without JavaScript rendering.

What happens when a saved login expires?

Fetch drops expired cookies and doesn’t write cookie changes back to the Context. To refresh a login, start a browser session with persist: true, sign in again and end the session. Do the same once for a brand-new Context, or for one last saved before September 1, 2026.

One API Key to access the whole web.

Build, ship and scale on Browserbase

Get an API keyContact Sales
Browserbase

Primitives

  • Browsers
  • Web APIs
  • Runtime
  • Identity
  • Model Gateway
  • Observability
  • Stagehand
  • MCP

Industries

  • AI
  • Healthcare
  • GTM
  • Tax
  • Legal

Developers

  • Docs
  • Templates
  • APIs & SDKs
  • Changelog
  • Status
  • Github

Company

  • Careers
  • Customers
  • Partner with Us
  • Trust & Security

Community

TwitterLinkedinYoutube
  • Privacy Policy
  • Terms of Service

Community

TwitterLinkedinYoutube
  • Privacy Policy
  • Terms of Service