# Driver > Real Chrome on real hardware, controlled over CDP. Hosted browser sessions, profiles, proxies and live view. - [Introduction](https://docs.driver.dev/docs/start/index.md): Driver runs real Chrome on real hardware and gives you a CDP URL. Create a session, connect, do the work, stop it. - [Quickstart](https://docs.driver.dev/docs/start/quickstart.md): Create a session, connect with Patchright, read a page title, stop the session. - [For agents](https://docs.driver.dev/docs/start/for-agents.md): For coding agents integrating Driver: the rules that keep sessions unblocked, the three calls, the mistakes. - [Best practices](https://docs.driver.dev/docs/start/best-practices.md): How to keep sessions unblocked and cheap: the right framework, no CDP noise, coherent location, reliable cleanup. - [Create a session](https://docs.driver.dev/docs/sessions/create.md): POST /v1/browser/session starts a Chrome and returns its CDP URL once it's reachable. - [Connect over CDP](https://docs.driver.dev/docs/sessions/connect.md): Attach your framework to a running session through its cdpUrl. - [Native input](https://docs.driver.dev/docs/sessions/native-input.md): Move a cursor, click, scroll and type in the session's browser, over the CDP connection you already have. - [Lifecycle](https://docs.driver.dev/docs/sessions/lifecycle.md): Get, list, label and stop sessions. What each status means and how long a session lives. - [Browser pools](https://docs.driver.dev/docs/sessions/pools.md): Keep browsers warm and take one in under a second. Create a pool, acquire a lease, release or stop. - [Live view](https://docs.driver.dev/docs/sessions/live-view.md): Watch a running session, take the controls, and read the record afterwards. - [Errors](https://docs.driver.dev/docs/sessions/errors.md): Every status the API returns, what it means, and whether retrying helps. - [Browser types](https://docs.driver.dev/docs/options/browser-types.md): type picks the browser class: hosted by default, plus two stealth variants. - [Location, timezone and language](https://docs.driver.dev/docs/options/location.md): Pass a country; the network, timezone and language agree. Override timezone and language only within that country. - [Countries](https://docs.driver.dev/docs/options/countries.md): Every country you can pass on create, with the timezones and languages it accepts. Generated from the API's locale catalog. - [Window and display size](https://docs.driver.dev/docs/options/window-size.md): windowSize sets the outer browser window; displaySize sets the virtual display behind it. - [Proxies](https://docs.driver.dev/docs/options/proxies.md): Sessions egress from Driver's ISP networks by default. proxyUrl routes through your own SOCKS5 endpoint, or one of your dedicated IPs. - [Profiles](https://docs.driver.dev/docs/options/profiles.md): Save a session's cookies and browser state under a name. Later sessions on that name start signed in. - [CAPTCHA solving and ad blocking](https://docs.driver.dev/docs/options/captcha-and-adblock.md): Two flags on create: captchaSolver loads Driver's solver into the session, adblock blocks ads. - [Extensions](https://docs.driver.dev/docs/options/extensions.md): Upload your own Chrome extensions and load them into hosted sessions. Enabled per account. - [Node reuse](https://docs.driver.dev/docs/options/node-reuse.md): nodeId runs a session on the machine that served an earlier one. Rarely needed; overrides country and type. - [Patchright](https://docs.driver.dev/docs/frameworks/patchright.md): Playwright with the automation fingerprints removed. Use it for every Driver integration. Node and Python. - [Playwright](https://docs.driver.dev/docs/frameworks/playwright.md): Stock Playwright connects to Driver over CDP but carries fingerprints that get sessions blocked. Prefer Patchright. - [Puppeteer](https://docs.driver.dev/docs/frameworks/puppeteer.md): puppeteer-core connects to Driver with browserWSEndpoint. Same detectability caveat as stock Playwright. - [Browser Use](https://docs.driver.dev/docs/frameworks/browser-use.md): Run Browser Use agents on a Driver browser by passing the session's cdpUrl. - [Stagehand](https://docs.driver.dev/docs/frameworks/stagehand.md): Natural-language act and extract on a Driver browser: connect Stagehand v4 to the session's cdpUrl. - [Crawl4AI](https://docs.driver.dev/docs/frameworks/crawl4ai.md): Point Crawl4AI's managed browser at a Driver session to crawl from real Chrome on an ISP network. - [API keys](https://docs.driver.dev/docs/account/api-keys.md): Keys are per workspace, created in the dashboard, sent as a bearer token. - [Billing](https://docs.driver.dev/docs/account/billing.md): Sessions are metered by bandwidth against the workspace's credits. Two endpoints expose balance and plan. - [Dashboard](https://docs.driver.dev/docs/account/dashboard.md): Sessions and live view, the Workbench, profiles, pools, keys, members, your account and billing. - [API overview](https://docs.driver.dev/api-reference/overview.md): Base URL, authentication, conventions, and the live OpenAPI document these pages come from. - [Create a session](https://docs.driver.dev/api-reference/sessions/create-a-session.md): Create a browser session and wait for CDP readiness. hosted, hosted_stealth, and hosted_privacy are hosted browsers; hosted_stealth applies the conservative stealth policy and hosted_privacy the aggressive one. Hosted Canadian sessions without an explicit proxy egress from Driver's Canadian ISP netw… - [Get a session](https://docs.driver.dev/api-reference/sessions/get-a-session.md): Retrieve an existing browser session. - [List sessions](https://docs.driver.dev/api-reference/sessions/list-sessions.md): List browser sessions with pagination. - [Update a session note](https://docs.driver.dev/api-reference/sessions/update-a-session-note.md): Update an existing browser session. Currently supports updating the session note. - [Stop a session](https://docs.driver.dev/api-reference/sessions/stop-a-session.md): Stop an existing browser session. - [Create a pool](https://docs.driver.dev/api-reference/pools/create-a-pool.md): Create a browser pool and begin warming ordinary browser sessions. - [List pools](https://docs.driver.dev/api-reference/pools/list-pools.md): List browser pools. - [Get a pool](https://docs.driver.dev/api-reference/pools/get-a-pool.md): Get browser pool state. - [Update a pool](https://docs.driver.dev/api-reference/pools/update-a-pool.md): Resize, pause, resume, or reconfigure a browser pool. - [Delete a pool](https://docs.driver.dev/api-reference/pools/delete-a-pool.md): Delete a pool. Active leases require force=true. - [Acquire a browser](https://docs.driver.dev/api-reference/pools/acquire-a-browser.md): Take a ready browser. From here on the session belongs to the workspace like any other; the pool warms a replacement. Its createdAt is when the browser was warmed. - [Release a browser](https://docs.driver.dev/api-reference/pools/release-a-browser.md): End a leased browser. The session is stopped; the answer carries status "ended". Idempotent: releasing the same lease again answers the same body. - [Flush warm browsers](https://docs.driver.dev/api-reference/pools/flush-warm-browsers.md): Stop every ready browser and warm fresh ones. Leased browsers are not touched. Answers how many were stopped. - [List profiles](https://docs.driver.dev/api-reference/profiles/list-profiles.md): List all browser profiles. - [Delete a profile](https://docs.driver.dev/api-reference/profiles/delete-a-profile.md): Delete a browser profile by name. - [Get balance](https://docs.driver.dev/api-reference/account/get-balance.md): Retrieve the current balance. - [Get account billing details](https://docs.driver.dev/api-reference/account/get-account-billing-details.md): Returns the authenticated account’s complete billing summary, including its plan limits, current usage period, available wallet balance, and subscription state. Organization accounts use Driver Billing data. Unmigrated legacy accounts return their wallet balance with `plan`, `period`, and `subscript… - [Upload an extension](https://docs.driver.dev/api-reference/extensions/upload-an-extension.md): Upload a Chrome extension ZIP file. The extension will be packed into CRX format and made available for use in browser sessions. Requires account-level allowlist access — returns 403 if your account is not enabled. - [List extensions](https://docs.driver.dev/api-reference/extensions/list-extensions.md): List all uploaded extensions. Requires account-level allowlist access. - [Get an extension](https://docs.driver.dev/api-reference/extensions/get-an-extension.md): Get details of a specific extension. Requires account-level allowlist access. - [Update an extension](https://docs.driver.dev/api-reference/extensions/update-an-extension.md): Update an extension by uploading a new ZIP file. The extension ID remains the same. Requires account-level allowlist access. - [Delete an extension](https://docs.driver.dev/api-reference/extensions/delete-an-extension.md): Delete an uploaded extension. Requires account-level allowlist access. ## OpenAPI Specs - [openapi](/api-reference/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.