Browser Forest API

Browser Forest API as documented publicly: 64 operations. Contract generated from the documentation by API Evangelist (2026-11-03); not the provider's own document.

Operations 64

POST /api/v1/contexts POST /api/v1/contexts #
PUT /api/v1/contexts/ctx_xxxx/cookies PUT /api/v1/contexts/ctx_xxxx/cookies #
PUT /api/v1/contexts/ctx_xxxxxxxx/cookies Write cookies to a Context for persistence #
POST /api/v1/scrape POST /api/v1/scrape #
POST /api/v1/sessions POST /api/v1/sessions #
DELETE /api/v1/sessions/ses_xxxx DELETE /api/v1/sessions/ses_xxxx #
PUT /api/v1/sessions/ses_xxxx/cookies PUT /api/v1/sessions/ses_xxxx/cookies #
DELETE /api/v1/sessions/ses_xxxxxxxx DELETE /api/v1/sessions/ses_xxxxxxxx #
PUT /api/v1/sessions/ses_xxxxxxxx/cookies PUT /api/v1/sessions/ses_xxxxxxxx/cookies #
GET /health Health check #
GET /mcp Get MCP information. #
POST /mcp Create or update MCP data. #
DELETE /mcp/bf Delete a BF MCP entry. #
GET /mcp/bf Retrieve BF MCP details. #
POST /mcp/bf Create or modify BF MCP entry. #
POST /v1/admin/impersonate Impersonate another user as admin. #
POST /v1/admin/impersonate/exit Exit admin impersonation mode. #
GET /v1/auth/api-keys List API keys #
POST /v1/auth/api-keys Create an API key #
DELETE /v1/auth/api-keys/{id} Delete an API key #
GET /v1/auth/config GET #
POST /v1/auth/login POST #
POST /v1/auth/logout Logout #
GET /v1/auth/me Get current user info #
GET /v1/auth/oauth/github Start GitHub OAuth flow #
GET /v1/auth/oauth/github/callback GitHub OAuth callback #
GET /v1/auth/oauth/google Start Google OAuth flow #
GET /v1/auth/oauth/google/callback Google OAuth callback #
GET /v1/billing/balance Get historical usage aggregated by day, week, or month #
POST /v1/billing/cancel-subscription Get historical usage aggregated by day, week, or month #
POST /v1/billing/change-plan Get historical usage aggregated by day, week, or month #
POST /v1/billing/change-plan/preview Get historical usage aggregated by day, week, or month #
POST /v1/billing/checkout Get historical usage aggregated by day, week, or month #
GET /v1/billing/credit-packages Get historical usage aggregated by day, week, or month #
GET /v1/billing/payment-history Get historical usage aggregated by day, week, or month #
POST /v1/billing/portal Get historical usage aggregated by day, week, or month #
POST /v1/billing/reactivate-subscription Get historical usage aggregated by day, week, or month #
POST /v1/billing/topup Get historical usage aggregated by day, week, or month #
GET /v1/billing/transactions Get historical usage aggregated by day, week, or month #
POST /v1/billing/upgrade Get historical usage aggregated by day, week, or month #
POST /v1/captcha/solve Solve a captcha via CapSolver REST API #
POST /v1/captcha/solve-interact Complete an in-page checkbox captcha (worker-driven) #
GET /v1/contexts List all contexts #
POST /v1/contexts Create a browser context #
PATCH /v1/contexts/{id} Update context captcha configuration #
GET /v1/proxies List all proxies #
POST /v1/proxies Add a proxy #
GET /v1/proxies/{id} Get proxy details #
GET /v1/recordings List recordings #
DELETE /v1/recordings/{recordingid} Delete a recording #
GET /v1/recordings/{recordingid} Get recording details #
POST /v1/recordings/{recordingid}/replay Replay a recording onto a session #
POST /v1/scrape Scrape a URL in one shot #
GET /v1/sessions List sessions #
POST /v1/sessions Create a browser session #
GET /v1/sessions/share/info Resolve a Live View share token (session id + expiry) #
GET /v1/sessions/{id}/debug Debug a session #
POST /v1/sessions/{id}/input Send an interaction to a session (BG behavior engine, falls back to CDP) #
DELETE /v1/sessions/{id}/share Revoke Live View share links for a session #
POST /v1/sessions/{id}/share Create a share link for Live View (signed token, read-only by default) #
GET /v1/usage Get usage statistics #
GET /v1/usage/history Get historical usage aggregated by day, week, or month #
POST /v1/webhooks/stripe default #
GET /v1/workers Get worker cluster status #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/browserforest-com:browserforest-com-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

browserforest-com-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Browser Forest API
  version: '2026-11-03'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-03: 64 operation(s) read from 7 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; Browser Forest has published no machine-readable contract that
    the pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 8
    documentation: 56
    pages-with-code: 2
    pages-read: 7
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-11-03'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://browserforest.com/api/docs
  - https://browserforest.com/docs/use-cases/scraping
  - https://browserforest.com/docs
  - https://browserforest.com/docs/scrape
  - https://browserforest.com/docs/proxies
  - https://browserforest.com/docs/contexts
  - https://browserforest.com/docs/sessions
paths:
  /api/v1/contexts:
    post:
      operationId: post_api_v1_contexts
      tags:
      - Api
      summary: POST /api/v1/contexts
      x-source: https://browserforest.com/docs/use-cases/scraping
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1ContextsRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1ContextsResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -X POST https://browserforest.com/api/v1/contexts  -H "X-API-Key: bf_live_xxxxxxxx"  -H "Content-Type: application/json"  -d
          ''{"name": "amazon-account"}'''
  /api/v1/contexts/ctx_xxxx/cookies:
    put:
      operationId: put_api_v1_contexts_ctx_xxxx_cookies
      tags:
      - Api
      summary: PUT /api/v1/contexts/ctx_xxxx/cookies
      x-source: https://browserforest.com/docs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutApiV1ContextsCtxXxxxCookiesRequest'
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -X PUT https://browserforest.com/api/v1/contexts/ctx_xxxx/cookies  -H "X-API-Key: bf_live_xxxxxxxx"  -H "Content-Type:
          application/json"  -d ''{"cookies": [ ... ]}'' import requests'
  /api/v1/contexts/ctx_xxxxxxxx/cookies:
    put:
      operationId: put_api_v1_contexts_ctx_xxxxxxxx_cookies
      tags:
      - Api
      summary: Write cookies to a Context for persistence
      x-source: https://browserforest.com/docs/use-cases/scraping
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutApiV1ContextsCtxXxxxxxxxCookiesRequest'
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/scrape:
    post:
      operationId: post_api_v1_scrape
      tags:
      - Api
      summary: POST /api/v1/scrape
      x-source: https://browserforest.com/docs/use-cases/scraping
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1ScrapeRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1ScrapeResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X POST https://browserforest.com/api/v1/scrape  -H \"X-API-Key: bf_live_xxxxxxxx\"  -H \"Content-Type: application/json\"\
          \  -d '{\n \"url\": \"https://www.amazon.com/dp/B09G9FPHY6\",\n \"format\": \"markdown\",\n \"waitFor\": \"networkidle\"\n }'\n Example\
          \ response: {\n \"url\": \"https://www.amazon.com/dp/B09G9FPHY6\",\n \"content\": \"# Apple AirPods Pro (2nd Generation)\\n\\n**Price**:\
          \ $189.99\\n\\n**In Stock**: Yes\\n...\","
  /api/v1/sessions:
    post:
      operationId: post_api_v1_sessions
      tags:
      - Api
      summary: POST /api/v1/sessions
      x-source: https://browserforest.com/docs/use-cases/scraping
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1SessionsRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -X POST https://browserforest.com/api/v1/sessions  -H "X-API-Key: bf_live_xxxxxxxx"  -H "Content-Type: application/json"  -d
          ''{"contextId": "ctx_xxxxxxxx"}'''
  /api/v1/sessions/ses_xxxx:
    delete:
      operationId: delete_api_v1_sessions_ses_xxxx
      tags:
      - Api
      summary: DELETE /api/v1/sessions/ses_xxxx
      x-source: https://browserforest.com/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X DELETE https://browserforest.com/api/v1/sessions/ses_xxxx  -H \"X-API-Key: bf_live_xxxxxxxxxxxx\" import requests\n\
          requests.delete(\n \"https://browserforest.com/api/v1/sessions/ses_xxxx\",\n headers={\"X-API-Key\": \"bf_live_xxxxxxxxxxxx\"},\n) Using\
          \ the REST API from Node.js The official Node.js SDK is implemented but not published to npm yet. Until it ships, Node 20+ built-in\
          \ fetch is all you need:"
  /api/v1/sessions/ses_xxxx/cookies:
    put:
      operationId: put_api_v1_sessions_ses_xxxx_cookies
      tags:
      - Api
      summary: PUT /api/v1/sessions/ses_xxxx/cookies
      x-source: https://browserforest.com/docs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutApiV1SessionsSesXxxxCookiesRequest'
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -X PUT https://browserforest.com/api/v1/sessions/ses_xxxx/cookies  -H "X-API-Key: bf_live_xxxxxxxx"  -H "Content-Type:
          application/json"  -d ''{"cookies": [{"name":"token","value":"...","domain":".example.com","path":"/"}]}'''
  /api/v1/sessions/ses_xxxxxxxx:
    delete:
      operationId: delete_api_v1_sessions_ses_xxxxxxxx
      tags:
      - Api
      summary: DELETE /api/v1/sessions/ses_xxxxxxxx
      x-source: https://browserforest.com/docs/use-cases/scraping
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteApiV1SessionsSesXxxxxxxxResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X DELETE https://browserforest.com/api/v1/sessions/ses_xxxxxxxx  -H \"X-API-Key: bf_live_xxxxxxxx\"\n Persistent Login\
          \ State (Context) After logging in once, save cookies and localStorage to a Context. Subsequent Sessions specifying the same contextId\
          \ will not need to re-login. This is especially valuable for scenarios requiring frequent IP rotation (new Session per proxy change)\
          \ while maintain"
  /api/v1/sessions/ses_xxxxxxxx/cookies:
    put:
      operationId: put_api_v1_sessions_ses_xxxxxxxx_cookies
      tags:
      - Api
      summary: PUT /api/v1/sessions/ses_xxxxxxxx/cookies
      x-source: https://browserforest.com/docs/use-cases/scraping
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutApiV1SessionsSesXxxxxxxxCookiesRequest'
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -X PUT https://browserforest.com/api/v1/sessions/ses_xxxxxxxx/cookies  -H "X-API-Key: bf_live_xxxxxxxx"  -H "Content-Type:
          application/json"  -d ''{"cookies": [{"name":"session","value":"...","domain":".target.com","path":"/","secure":true}]}'''
  /health:
    get:
      operationId: get_health
      tags:
      - Health
      summary: Health check
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /mcp:
    get:
      operationId: get_mcp
      tags:
      - Mcp
      summary: Get MCP information.
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_mcp
      tags:
      - Mcp
      summary: Create or update MCP data.
      x-source: https://browserforest.com/api/docs
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /mcp/bf:
    delete:
      operationId: delete_mcp_bf
      tags:
      - Mcp
      summary: Delete a BF MCP entry.
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    get:
      operationId: get_mcp_bf
      tags:
      - Mcp
      summary: Retrieve BF MCP details.
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_mcp_bf
      tags:
      - Mcp
      summary: Create or modify BF MCP entry.
      x-source: https://browserforest.com/api/docs
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/admin/impersonate:
    post:
      operationId: post_v1_admin_impersonate
      tags:
      - Admin
      summary: Impersonate another user as admin.
      x-source: https://browserforest.com/api/docs
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/admin/impersonate/exit:
    post:
      operationId: post_v1_admin_impersonate_exit
      tags:
      - Admin
      summary: Exit admin impersonation mode.
      x-source: https://browserforest.com/api/docs
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/auth/api-keys:
    get:
      operationId: get_v1_auth_api_keys
      tags:
      - Auth
      summary: List API keys
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_v1_auth_api_keys
      tags:
      - Auth
      summary: Create an API key
      x-source: https://browserforest.com/api/docs
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/auth/api-keys/{id}:
    delete:
      operationId: delete_v1_auth_api_keys_id
      tags:
      - Auth
      summary: Delete an API key
      x-source: https://browserforest.com/api/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/auth/config:
    get:
      operationId: get_v1_auth_config
      tags:
      - Auth
      summary: GET
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/auth/login:
    post:
      operationId: post_v1_auth_login
      tags:
      - Auth
      summary: POST
      x-source: https://browserforest.com/api/docs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1AuthLoginRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/auth/logout:
    post:
      operationId: post_v1_auth_logout
      tags:
      - Auth
      summary: Logout
      x-source: https://browserforest.com/api/docs
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/auth/me:
    get:
      operationId: get_v1_auth_me
      tags:
      - Auth
      summary: Get current user info
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/auth/oauth/github:
    get:
      operationId: get_v1_auth_oauth_github
      tags:
      - Auth
      summary: Start GitHub OAuth flow
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/auth/oauth/github/callback:
    get:
      operationId: get_v1_auth_oauth_github_callback
      tags:
      - Auth
      summary: GitHub OAuth callback
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/auth/oauth/google:
    get:
      operationId: get_v1_auth_oauth_google
      tags:
      - Auth
      summary: Start Google OAuth flow
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/auth/oauth/google/callback:
    get:
      operationId: get_v1_auth_oauth_google_callback
      tags:
      - Auth
      summary: Google OAuth callback
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/billing/balance:
    get:
      operationId: get_v1_billing_balance
      tags:
      - Billing
      summary: Get historical usage aggregated by day, week, or month
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/billing/cancel-subscription:
    post:
      operationId: post_v1_billing_cancel_subscription
      tags:
      - Billing
      summary: Get historical usage aggregated by day, week, or month
      x-source: https://browserforest.com/api/docs
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/billing/change-plan:
    post:
      operationId: post_v1_billing_change_plan
      tags:
      - Billing
      summary: Get historical usage aggregated by day, week, or month
      x-source: https://browserforest.com/api/docs
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/billing/change-plan/preview:
    post:
      operationId: post_v1_billing_change_plan_preview
      tags:
      - Billing
      summary: Get historical usage aggregated by day, week, or month
      x-source: https://browserforest.com/api/docs
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/billing/checkout:
    post:
      operationId: post_v1_billing_checkout
      tags:
      - Billing
      summary: Get historical usage aggregated by day, week, or month
      x-source: https://browserforest.com/api/docs
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/billing/credit-packages:
    get:
      operationId: get_v1_billing_credit_packages
      tags:
      - Billing
      summary: Get historical usage aggregated by day, week, or month
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/billing/payment-history:
    get:
      operationId: get_v1_billing_payment_history
      tags:
      - Billing
      summary: Get historical usage aggregated by day, week, or month
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/billing/portal:
    post:
      operationId: post_v1_billing_portal
      tags:
      - Billing
      summary: Get historical usage aggregated by day, week, or month
      x-source: https://browserforest.com/api/docs
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/billing/reactivate-subscription:
    post:
      operationId: post_v1_billing_reactivate_subscription
      tags:
      - Billing
      summary: Get historical usage aggregated by day, week, or month
      x-source: https://browserforest.com/api/docs
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/billing/topup:
    post:
      operationId: post_v1_billing_topup
      tags:
      - Billing
      summary: Get historical usage aggregated by day, week, or month
      x-source: https://browserforest.com/api/docs
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/billing/transactions:
    get:
      operationId: get_v1_billing_transactions
      tags:
      - Billing
      summary: Get historical usage aggregated by day, week, or month
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/billing/upgrade:
    post:
      operationId: post_v1_billing_upgrade
      tags:
      - Billing
      summary: Get historical usage aggregated by day, week, or month
      x-source: https://browserforest.com/api/docs
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/captcha/solve:
    post:
      operationId: post_v1_captcha_solve
      tags:
      - Captcha
      summary: Solve a captcha via CapSolver REST API
      x-source: https://browserforest.com/api/docs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1CaptchaSolveRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/captcha/solve-interact:
    post:
      operationId: post_v1_captcha_solve_interact
      tags:
      - Captcha
      summary: Complete an in-page checkbox captcha (worker-driven)
      x-source: https://browserforest.com/api/docs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1CaptchaSolveInteractRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/contexts:
    get:
      operationId: get_v1_contexts
      tags:
      - Contexts
      summary: List all contexts
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_v1_contexts
      tags:
      - Contexts
      summary: Create a browser context
      x-source: https://browserforest.com/api/docs
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/contexts/{id}:
    patch:
      operationId: patch_v1_contexts_id
      tags:
      - Contexts
      summary: Update context captcha configuration
      x-source: https://browserforest.com/api/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/proxies:
    get:
      operationId: get_v1_proxies
      tags:
      - Proxies
      summary: List all proxies
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_v1_proxies
      tags:
      - Proxies
      summary: Add a proxy
      x-source: https://browserforest.com/api/docs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1ProxiesRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/proxies/{id}:
    get:
      operationId: get_v1_proxies_id
      tags:
      - Proxies
      summary: Get proxy details
      x-source: https://browserforest.com/api/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/recordings:
    get:
      operationId: get_v1_recordings
      tags:
      - Recordings
      summary: List recordings
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/recordings/{recordingid}:
    delete:
      operationId: delete_v1_recordings_recordingid
      tags:
      - Recordings
      summary: Delete a recording
      x-source: https://browserforest.com/api/docs
      parameters:
      - name: recordingid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    get:
      operationId: get_v1_recordings_recordingid
      tags:
      - Recordings
      summary: Get recording details
      x-source: https://browserforest.com/api/docs
      parameters:
      - name: recordingid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/recordings/{recordingid}/replay:
    post:
      operationId: post_v1_recordings_recordingid_replay
      tags:
      - Recordings
      summary: Replay a recording onto a session
      x-source: https://browserforest.com/api/docs
      parameters:
      - name: recordingid
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/scrape:
    post:
      operationId: post_v1_scrape
      tags:
      - Scrape
      summary: Scrape a URL in one shot
      x-source: https://browserforest.com/api/docs
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/sessions:
    get:
      operationId: get_v1_sessions
      tags:
      - Sessions
      summary: List sessions
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_v1_sessions
      tags:
      - Sessions
      summary: Create a browser session
      x-source: https://browserforest.com/api/docs
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/sessions/share/info:
    get:
      operationId: get_v1_sessions_share_info
      tags:
      - Sessions
      summary: Resolve a Live View share token (session id + expiry)
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/sessions/{id}/debug:
    get:
      operationId: get_v1_sessions_id_debug
      tags:
      - Sessions
      summary: Debug a session
      x-source: https://browserforest.com/api/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/sessions/{id}/input:
    post:
      operationId: post_v1_sessions_id_input
      tags:
      - Sessions
      summary: Send an interaction to a session (BG behavior engine, falls back to CDP)
      x-source: https://browserforest.com/api/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/sessions/{id}/share:
    delete:
      operationId: delete_v1_sessions_id_share
      tags:
      - Sessions
      summary: Revoke Live View share links for a session
      x-source: https://browserforest.com/api/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_v1_sessions_id_share
      tags:
      - Sessions
      summary: Create a share link for Live View (signed token, read-only by default)
      x-source: https://browserforest.com/api/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/usage:
    get:
      operationId: get_v1_usage
      tags:
      - Usage
      summary: Get usage statistics
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/usage/history:
    get:
      operationId: get_v1_usage_history
      tags:
      - Usage
      summary: Get historical usage aggregated by day, week, or month
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/webhooks/stripe:
    post:
      operationId: post_v1_webhooks_stripe
      tags:
      - Webhooks
      summary: default
      x-source: https://browserforest.com/api/docs
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/workers:
    get:
      operationId: get_v1_workers
      tags:
      - Workers
      summary: Get worker cluster status
      x-source: https://browserforest.com/api/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
components:
  schemas:
    PostApiV1ContextsRequest:
      type: object
      properties:
        name:
          type: string
    PostApiV1ContextsResponse:
      type: object
      properties:
        id:
          type: string
    PutApiV1ContextsCtxXxxxCookiesRequest:
      type: object
      properties:
        cookies:
          type: array
          items: {}
    PutApiV1ContextsCtxXxxxxxxxCookiesRequest:
      type: object
      properties:
        cookies:
          type: array
          description: Array of cookie objects
      required:
      - cookies
    PostApiV1ScrapeRequest:
      type: object
      properties:
        url:
          type: string
        format:
          type: string
        waitFor:
          type: string
    PostApiV1ScrapeResponse:
      type: object
      properties:
        url:
          type: string
        content:
          type: string
        metadata:
          type: object
          properties:
            title:
              type: string
            description:
              type: string
        durationMs:
          type: integer
    PostApiV1SessionsRequest:
      type: object
      properties:
        contextId:
          type: string
    PutApiV1SessionsSesXxxxCookiesRequest:
      type: object
      properties:
        cookies:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              value:
                type: string
              domain:
                type: string
              path:
                type: string
    DeleteApiV1SessionsSesXxxxxxxxResponse:
      type: object
      properties:
        id:
          type: string
    PutApiV1SessionsSesXxxxxxxxCookiesRequest:
      type: object
      properties:
        cookies:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              value:
                type: string
              domain:
                type: string
              path:
                type: string
              secure:
                type: boolean
    PostV1AuthLoginRequest:
      type: object
      properties:
        credentials:
          type: string
          description: Login credentials payload
      required:
      - credentials
    PostV1CaptchaSolveRequest:
      type: object
      properties:
        captcha:
          type: string
          description: Captcha solving request payload
      required:
      - captcha
    PostV1CaptchaSolveInteractRequest:
      type: object
      properties:
        captcha:
          type: string
          description: Interactive captcha solving request payload
      required:
      - captcha
    PostV1ProxiesRequest:
      type: object
      properties:
        proxy:
          type: string
          description: Proxy configuration
      required:
      - proxy
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
security:
- apiKey: []
tags:
- name: Admin
- name: Api
- name: Auth
- name: Billing
- name: Captcha
- name: Contexts
- name: Health
- name: Mcp
- name: Proxies
- name: Recordings
- name: Scrape
- name: Sessions
- name: Usage
- name: Webhooks
- name: Workers