Skip to main content
Browser sessions last 5 minutes and consume 1 credit ($0.01).

What are Sessions?

Sessions allow you to interact with browser profiles to setup persistent cookies and authentication across runs. Once a profile is created, it can be utilized for running agent tasks that require user authentication.
  1. Create a Profile Open a new session. The system will return a profile_id (a unique identifier for your profile), and, if requested, a live_url (to interact with the remote browser window) and a live_id (used to close the browser session and save changes).
  2. Authenticate via the Live URL Use the provided live_url to log in to any target platform (e.g., your project management tool, social media account) as you normally would. This action securely stores your authentication cookies within the profile.
  3. Execute Tasks with the Profile ID When running an agent task, simply include the profile_id. The agent will use the stored authentication from that profile, allowing it to immediately access the platform as a logged-in user.

Open a browser session

Open a browser session and create a profile in 4 lines of code.
from smooth import SmoothClient

smooth_client = SmoothClient(api_key="cmzr-YOUR_API_KEY")
session = smooth_client.open_session(profile_id="my-test-session")

print(f"Live URL: {session.live_url()}")
print(f"Profile ID: {session.profile_id()}")

# Manually interact with the browser to log in into any desired services
# ...

# The profile is saved automatically when the 5 minutes time limit is reached.
# You can also do that programmatically as follows:
smooth_client.close_session(session.live_id())  # Close session and save the browser profile
If Python is not your language of choice, check out our API Reference.

Parameters

All parameters available when opening a browser session.
profile_id
string
The unique identifier for the browser profile. If omitted, a random profile ID will be generated and returned.This id will be used when running a task.Example: my-test-profile
live_view
boolean
Request a live URL to interact with the browser session. Default: True.Set it to True if you want to manually interact with the browser to perform logins or other authentications. Set it to False if you want to simply create an empty browser profile for Smooth to interact with in future tasks.
device
string
The device type used for the session. One of: [“mobile”, “desktop”].Note that mobile does not support navigation via the search bar, so a starting URL must be provided.
url
string
The starting URL for the session.
proxy_server
string
The hostname or IP address of the proxy server that will be used for the session.Example: proxy.example.com
proxy_username
string
The username for authenticating with the proxy server, if authentication is required.Example: user123
proxy_password
string
The password for authenticating with the proxy server, if authentication is required.Example: password123

Response

Returns a BrowserSessionHandle with the following attributes.
profile_id()
method
Returns ID of the session.
live_url()
method
Returns a live URL where you can interact with the browser (requires live_view=True).Set interactive=True to get an interactive view.Set embed=True to get an embeddable view (ideal for iframes).
live_id()
method
Returns the live ID for the browser session. It can be passed to .close_session to close the session and save the browser profile.

Close a browser session

To close a live browser session, simply call .close_session.
from smooth import SmoothClient

smooth_client = SmoothClient(api_key="cmzr-YOUR_API_KEY")

...  # open session

smooth_client.close_session(sesion_handle.live_id())
If the browser session is not manually closed, the profile is saved automatically when the 5 minutes time limit is reached.