Skip to main content

The five things

Everything is one account, one API, one credit balance, five capabilities. Alongside them, monitors watch a page on a schedule and notify on real change, and a handful of platform primitives (profiles, secrets, rules, integrations, sessions) support all five without being one of them.

Jobs, and the shape they share

Three capabilities (crawl, agent, and a monitor’s schedule) do not answer in one round trip. crawl and agent both follow the same shape: POST returns an id in milliseconds, and the work continues after the call returns.
crawl streams as newline-delimited JSON while it runs; agent answers plain JSON with the id and returns at once, and you follow the run with the calls above. Either way, the id you get first is what every later call about that job needs, store it.

Workspaces and organizations

A workspace is a billing and access boundary: its own credit balance, its own members, its own plan and its own payment method. Signing up gives you one, and + New workspace in the console switcher opens another, up to five per person. Three roles: owner (one at a time, though ownership can hand to someone else), admin, and member. All three can use the five capabilities; owner and admin can invite, remove, change a plan and see what it costs. A workspace starts as a personal workspace: invoices name the person who opened it. Switch to organization in Settings moves invoicing to a company instead, its own legal name, address and tax ID, without moving anything else. The credits, the members and the plan stay exactly where they were. Only a person’s very first workspace ever starts on the Free plan’s monthly credits. Every workspace after that starts with none: the Free allowance is a monthly ceiling, not a one-time gift, and starting a second workspace on it would mint a second free allowance out of the same verification check the first one already used. A later workspace works the moment it has a paid plan. A workspace can be deleted by its owner once nothing paid is still active on it and it is not the account’s only one; see Settings for exactly what that takes and what it costs.

Credits

One prepaid-style balance, shared across every capability. Every response carries a usage object stating exactly what that call cost, so nothing on a bill is a surprise from a number you could not already see. See pricing for the exact rate per kind.

Profiles

A pinned exit and persistent storage (cookies, logins) that survives across sessions. Pass a profile to a browser session or an agent run to keep a login rather than signing in fresh every time. A profile is leased while it is open, a second concurrent use of the same profile is refused rather than silently forking its state.

Sessions

Every browser-driven run, whether a live oc.browser() session or an agent run, produces a session with a replay. sessions.get returns the replay URL, duration, page count and usage, the way a charge gets disputed: watch what it bought. A replay never autoplays, a person presses play.

Secrets, rules and integrations

Three platform primitives that shape what an agent is allowed to do:
  • Secrets store a credential under a handle an agent can reference but never read back. No route on any surface returns a stored value.
  • Rules are plain-language sentences a workspace sets; each one comes back classified as enforced (a hard gate) or guidance (in the prompt only), so you know which kind you actually have.
  • Integrations connect an external MCP server (Gmail, Slack, and similar) so a run can call its tools mid-task. Connecting one is a human-only action; a run only reaches an integration it is explicitly given at submit time.

Authentication

Two bearer credentials, either works everywhere: an API key, ock_<keyId>.<secret>, for code you write yourself; or an OAuth access token, oat_<...>, from signing in, what outcrawl login and an MCP client’s first use both give you. See API authentication.