Browserless · Schema

Browserless Profile

Schema for Browserless reusable browser profiles. Profiles are encrypted snapshots of a browser's authenticated state (cookies, localStorage, indexedDB, service-worker registrations) that can be reattached to later sessions to skip re-login flows. Managed via /profile and /profile/refresh endpoints.

Headless BrowserBrowser InfrastructureWeb AutomationAI AgentsWeb ScrapingBrowserQLPuppeteerPlaywrightSeleniumCDPStealthCAPTCHA SolvingResidential ProxyPDF GenerationScreenshotsSmart ScrapeCrawlSearchMCPSession RecordingHybrid Automation
View JSON Schema on GitHub

JSON Schema

browserless-profile-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api-evangelist.com/schemas/browserless/browserless-profile-schema.json",
  "title": "Browserless Profile",
  "description": "Schema for Browserless reusable browser profiles. Profiles are encrypted snapshots of a browser's authenticated state (cookies, localStorage, indexedDB, service-worker registrations) that can be reattached to later sessions to skip re-login flows. Managed via /profile and /profile/refresh endpoints.",
  "type": "object",
  "definitions": {
    "ProfileCreate": {
      "type": "object",
      "description": "Body for creating a profile from a captured session.",
      "required": ["sessionId"],
      "properties": {
        "sessionId": {
          "type": "string",
          "description": "ID of the source session whose state should be snapshotted into a profile."
        },
        "name": {
          "type": "string",
          "description": "Human-friendly profile name."
        },
        "description": {
          "type": "string",
          "description": "Optional description for the profile (audience, target site, owning team)."
        }
      }
    },
    "Profile": {
      "type": "object",
      "description": "A persisted Browserless profile.",
      "required": ["id"],
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier for the profile."
        },
        "name": {
          "type": "string",
          "description": "Human-friendly name."
        },
        "description": {
          "type": "string",
          "description": "Description for the profile."
        },
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "description": "Timestamp the profile was captured."
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time",
          "description": "Timestamp the profile was last refreshed."
        },
        "expiresAt": {
          "type": "string",
          "format": "date-time",
          "description": "Timestamp the profile will be deleted (controlled by plan retention)."
        },
        "sourceSessionId": {
          "type": "string",
          "description": "ID of the original session the profile was captured from."
        },
        "size": {
          "type": "integer",
          "minimum": 0,
          "description": "Approximate size of the encrypted profile blob, in bytes."
        }
      }
    }
  },
  "oneOf": [
    { "$ref": "#/definitions/ProfileCreate" },
    { "$ref": "#/definitions/Profile" }
  ]
}