Skip to main content
POST
/
v1
/
profiles
/
{profileId}
/
setup-session
Create a profile setup session
curl --request POST \
  --url https://agent.tinyfish.ai/v1/profiles/{profileId}/setup-session \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "url": "https://www.tinyfish.ai",
  "timeout_seconds": 300
}
'
{
  "session_id": "br-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "cdp_url": "wss://browser.example.tinyfish.io/session/cdp",
  "base_url": "https://browser.example.tinyfish.io/session",
  "timeout_seconds": 300,
  "expires_at": "2026-06-10T12:05:00Z"
}

Authorizations

X-API-Key
string
header
required

API key for authentication. Get your key from the API Keys page.

Path Parameters

profileId
string
required

Browser Context Profile ID

Minimum string length: 1
Example:

"prof_abc123def4567890"

Body

application/json

Browser session creation parameters

url
string

Target URL the browser session will navigate to on startup. Bare domains (e.g. tinyfish.ai) are automatically prefixed with https://. If omitted, the browser starts at about:blank.

Example:

"https://www.tinyfish.ai"

timeout_seconds
integer | null

Inactivity timeout in seconds (5–86400). If omitted, null, or greater than your plan maximum, the plan maximum is used.

Required range: 5 <= x <= 86400
Example:

300

Response

Create a profile setup session succeeded.

session_id
string
required

Unique identifier for this browser session.

Minimum string length: 1
Example:

"br-a1b2c3d4-e5f6-7890-abcd-ef1234567890"

cdp_url
string<uri>
required

WebSocket URL for browser connection. Pass this to Playwright's connect_over_cdp or any WebSocket-based CDP client.

Example:

"wss://browser.example.tinyfish.io/session/cdp"

base_url
string<uri>
required

HTTPS base URL for the session. Use to access session endpoints such as /pages.

Example:

"https://browser.example.tinyfish.io/session"

timeout_seconds
integer
required
Example:

300

expires_at
string
required
Example:

"2026-06-10T12:05:00Z"