Skip to main content
Remote CDP gives you a dedicated, managed Chromium session that you connect to using any CDP-compatible automation library. Create a session through the API, receive a cdpBaseUrl, and pass it directly to playwright.connectOverCDP() or Puppeteer’s connect(). From there, every Playwright or Puppeteer API you already know works exactly as it does locally — navigate, click, fill forms, intercept network requests, and extract data — while AdsCrawl handles the browser infrastructure, proxies, and fingerprinting.

How it works

1

Create a session

Send POST /cdp/sessions with your desired idleTimeoutMs, maxSessionMs, and browserSettings. The API responds with a sessionId and a cdpBaseUrl that already contains your data token.
The response looks like:
2

Connect with Playwright or Puppeteer

Pass cdpBaseUrl directly to your automation library. No additional configuration is needed.
3

Automate the page

Navigate, interact, and extract data using the full Playwright or Puppeteer API surface — the remote browser behaves identically to a local one.
4

Delete the session when done

Call DELETE /cdp/sessions/:sessionId to terminate the browser and release resources immediately, rather than waiting for the idle or max-session timeout to expire.

Security model

Remote CDP uses two separate tokens to protect your session:
  • Data token — embedded in cdpBaseUrl and used for all CDP WebSocket connections and discovery requests. This token is long-lived (valid for the session lifetime) and scoped to read/control the browser over CDP.
  • Control token (controlToken) — a single-use token issued by POST /cdp/live-token for live interactive viewer access. It expires after 30 seconds and can only be consumed once. Request a fresh control token each time you need to open the live viewer.
Never put your data token or API key in client-side code, browser URLs accessible to end users, or public logs. Treat the data token with the same care as your API key.

Session lifecycle

Configure the session lifetime at creation time with two fields: Query active sessions with GET /cdp/sessions at any time, or delete a specific session with DELETE /cdp/sessions/:sessionId.

Remote CDP vs. Cloud Browsers

Remote CDP sessions are temporary — they hold no saved profile, and all browser state (cookies, local storage, history) is discarded when the session ends. Use Remote CDP when you need a stateful scripted session without long-term profile persistence. If you need to save a browser profile with cookies, fingerprint settings, and proxy configuration that persists across sessions, see Cloud Browsers instead.

API reference

CDP Sessions

Create, list, and delete dedicated CDP sessions.

CDP Live Token

Issue a single-use control token for live interactive viewer access.