Loading...
Loading...
Fetch web pages and return their content, headers, and metadata using the Browserbase Fetch API. Use when the user wants to retrieve page content without a full browser session — ideal for scraping static pages, checking HTTP responses, or getting page source. Supports proxies, redirect control, and insecure SSL bypass.
npx skill4agent add browserbase/skills fetchexport BROWSERBASE_API_KEY="your_api_key"| Use Case | Fetch API | Browser Skill |
|---|---|---|
| Static page content | Yes | Overkill |
| Check HTTP status/headers | Yes | No |
| JavaScript-rendered pages | No | Yes |
| Form interactions | No | Yes |
| Page behind bot detection | Possible (with proxies) | Yes (stealth mode) |
| Simple scraping | Yes | Overkill |
| Speed | Fast | Slower |
curl -X POST "https://api.browserbase.com/v1/fetch" \
-H "Content-Type: application/json" \
-H "X-BB-API-Key: $BROWSERBASE_API_KEY" \
-d '{"url": "https://example.com"}'| Field | Type | Default | Description |
|---|---|---|---|
| string (URI) | required | The URL to fetch |
| boolean | | Whether to follow HTTP redirects |
| boolean | | Whether to bypass TLS certificate verification |
| boolean | | Whether to enable proxy support |
| Field | Type | Description |
|---|---|---|
| string | Unique identifier for the fetch request |
| integer | HTTP status code of the fetched response |
| object | Response headers as key-value pairs |
| string | The response body content |
| string | The MIME type of the response |
| string | The character encoding of the response |
npm install @browserbasehq/sdkimport { Browserbase } from "@browserbasehq/sdk";
const bb = new Browserbase({ apiKey: process.env.BROWSERBASE_API_KEY });
const response = await bb.fetchAPI.create({
url: "https://example.com",
allowRedirects: true,
});
console.log(response.statusCode); // 200
console.log(response.content); // page HTML
console.log(response.headers); // response headerspip install browserbasefrom browserbase import Browserbase
import os
bb = Browserbase(api_key=os.environ["BROWSERBASE_API_KEY"])
response = bb.fetch_api.create(
url="https://example.com",
allow_redirects=True,
)
print(response.status_code) # 200
print(response.content) # page HTML
print(response.headers) # response headerscurl -X POST "https://api.browserbase.com/v1/fetch" \
-H "Content-Type: application/json" \
-H "X-BB-API-Key: $BROWSERBASE_API_KEY" \
-d '{"url": "https://example.com/redirect", "allowRedirects": true}'curl -X POST "https://api.browserbase.com/v1/fetch" \
-H "Content-Type: application/json" \
-H "X-BB-API-Key: $BROWSERBASE_API_KEY" \
-d '{"url": "https://example.com", "proxies": true}'curl -X POST "https://api.browserbase.com/v1/fetch" \
-H "Content-Type: application/json" \
-H "X-BB-API-Key: $BROWSERBASE_API_KEY" \
-d '{"url": "https://self-signed.example.com", "allowInsecureSsl": true}'| Status | Meaning |
|---|---|
| 400 | Invalid request body (check URL format and parameters) |
| 429 | Concurrent fetch request limit exceeded (retry later) |
| 502 | Response too large or TLS certificate verification failed |
| 504 | Fetch request timed out (default timeout: 60 seconds) |
allowRedirectsproxiesstatusCodecontent