X Tutup
Skip to main content
POST
/
browser
Create a browser session
curl --request POST \
  --url https://api.firecrawl.dev/v2/browser \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "ttl": 300,
  "activityTtl": 1805,
  "streamWebView": true,
  "profile": {
    "name": "<string>",
    "saveChanges": true
  }
}
'
{
  "success": true,
  "id": "<string>",
  "cdpUrl": "<string>",
  "liveViewUrl": "<string>",
  "interactiveLiveViewUrl": "<string>",
  "expiresAt": "2023-11-07T05:31:56Z"
}

Headers

HeaderValue
AuthorizationBearer <API_KEY>
Content-Typeapplication/json

Request Body

ParameterTypeRequiredDefaultDescription
ttlnumberNo600Total session lifetime in seconds (30-3600)
activityTtlnumberNo300Seconds of inactivity before session is destroyed (10-3600)
profileobjectNoEnable persistent storage across sessions. See below.
profile.namestringYes*Name for the profile (1-128 chars). Sessions with the same name share storage.
profile.saveChangesbooleanNotrueWhen true, browser state is saved back to the profile on close. Set to false to load existing data without writing. Only one saver is allowed at a time.

Response

FieldTypeDescription
successbooleanWhether the session was created
idstringUnique session identifier
cdpUrlstringWebSocket URL for CDP connections
liveViewUrlstringURL to watch the session in real time
interactiveLiveViewUrlstringURL to interact with the session in real time (click, type, scroll)
expiresAtstringWhen the session will expire based on TTL

Example Request

curl -X POST "https://api.firecrawl.dev/v2/browser" \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "ttl": 120
  }'

Example Response

{
  "success": true,
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "cdpUrl": "wss://cdp-proxy.firecrawl.dev/cdp/550e8400-e29b-41d4-a716-446655440000",
  "liveViewUrl": "https://liveview.firecrawl.dev/550e8400-e29b-41d4-a716-446655440000",
  "interactiveLiveViewUrl": "https://liveview.firecrawl.dev/550e8400-e29b-41d4-a716-446655440000?interactive=true"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
ttl
integer
default:300

Total time-to-live in seconds for the browser session

Required range: 30 <= x <= 3600
activityTtl
integer

Time in seconds before the session is destroyed due to inactivity

Required range: 10 <= x <= 3600
streamWebView
boolean
default:true

Whether to stream a live view of the browser

profile
object

Enable persistent storage across browser sessions. Data saved in one session can be loaded in a later session using the same name.

Response

Browser session created successfully

success
boolean
id
string

The unique session identifier

cdpUrl
string

WebSocket URL for Chrome DevTools Protocol access

liveViewUrl
string

URL to view the browser session in real time

interactiveLiveViewUrl
string

URL to interact with the browser session in real time (click, type, scroll)

expiresAt
string<date-time>

When the session will expire based on TTL

X Tutup