Firecrawl Browser API

The Browser API from Firecrawl — 3 operation(s) for browser.

Operations 4

POST /browser Create a browser session #
GET /browser List browser sessions #
POST /browser/{sessionId}/execute Execute code in a browser session #
DELETE /browser/{sessionId} Delete a browser session #

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/firecrawl-browser-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

firecrawl-browser-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Firecrawl Account Browser API
  version: v2
  description: API for interacting with Firecrawl services to perform web scraping and crawling tasks.
  contact:
    name: Firecrawl Support
    url: https://firecrawl.dev/support
    email: support@firecrawl.dev
servers:
- url: https://api.firecrawl.dev/v2
security:
- bearerAuth: []
tags:
- name: Browser
paths:
  /browser:
    post:
      summary: Create a browser session
      operationId: createBrowserSession
      tags:
      - Browser
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ttl:
                  type: integer
                  default: 300
                  minimum: 30
                  maximum: 3600
                  description: Total time-to-live in seconds for the browser session
                activityTtl:
                  type: integer
                  minimum: 10
                  maximum: 3600
                  description: Time in seconds before the session is destroyed due to inactivity
                streamWebView:
                  type: boolean
                  default: true
                  description: Whether to stream a live view of the browser
                profile:
                  type: object
                  description: Enable persistent storage across browser sessions. Data saved in one session can be loaded in a later session using the same name.
                  properties:
                    name:
                      type: string
                      minLength: 1
                      maxLength: 128
                      description: A name for the profile. Sessions with the same name share storage.
                    saveChanges:
                      type: boolean
                      default: true
                      description: When true, browser state is saved back to the profile on close. Set to false to load existing data without writing. Multiple non-saving sessions are allowed but only one saving session at a time.
                  required:
                  - name
      responses:
        '200':
          description: Browser session created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  id:
                    type: string
                    description: The unique session identifier
                  cdpUrl:
                    type: string
                    description: WebSocket URL for Chrome DevTools Protocol access
                  liveViewUrl:
                    type: string
                    description: URL to view the browser session in real time
                  interactiveLiveViewUrl:
                    type: string
                    description: URL to interact with the browser session in real time (click, type, scroll)
                  expiresAt:
                    type: string
                    format: date-time
                    description: When the session will expire based on TTL
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Payment required to access this resource.
    get:
      summary: List browser sessions
      operationId: listBrowserSessions
      tags:
      - Browser
      security:
      - bearerAuth: []
      parameters:
      - name: status
        in: query
        required: false
        schema:
          type: string
          enum:
          - active
          - destroyed
        description: Filter sessions by status
      responses:
        '200':
          description: List of browser sessions
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  sessions:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        status:
                          type: string
                          enum:
                          - active
                          - destroyed
                        cdpUrl:
                          type: string
                        liveViewUrl:
                          type: string
                        interactiveLiveViewUrl:
                          type: string
                          description: URL to interact with the browser session in real time (click, type, scroll)
                        streamWebView:
                          type: boolean
                        createdAt:
                          type: string
                          format: date-time
                        lastActivity:
                          type: string
                          format: date-time
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Payment required to access this resource.
  /browser/{sessionId}/execute:
    post:
      summary: Execute code in a browser session
      operationId: executeBrowserCode
      tags:
      - Browser
      security:
      - bearerAuth: []
      parameters:
      - name: sessionId
        in: path
        required: true
        schema:
          type: string
        description: The browser session ID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - code
              properties:
                code:
                  type: string
                  minLength: 1
                  maxLength: 100000
                  description: Code to execute in the browser sandbox
                language:
                  type: string
                  enum:
                  - python
                  - node
                  - bash
                  default: node
                  description: Language of the code to execute. Use `node` for JavaScript or `bash` for agent-browser CLI commands.
                timeout:
                  type: integer
                  minimum: 1
                  maximum: 300
                  description: Execution timeout in seconds
      responses:
        '200':
          description: Code executed successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  stdout:
                    type:
                    - string
                    - 'null'
                    description: Standard output from the code execution
                  result:
                    type:
                    - string
                    - 'null'
                    description: Standard output (alias for stdout)
                  stderr:
                    type:
                    - string
                    - 'null'
                    description: Standard error output from the code execution
                  exitCode:
                    type:
                    - integer
                    - 'null'
                    description: Exit code of the executed process
                  killed:
                    type: boolean
                    description: Whether the process was killed due to timeout
                  error:
                    type:
                    - string
                    - 'null'
                    description: Error message if the code raised an exception
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Payment required to access this resource.
  /browser/{sessionId}:
    delete:
      summary: Delete a browser session
      operationId: deleteBrowserSession
      tags:
      - Browser
      security:
      - bearerAuth: []
      parameters:
      - name: sessionId
        in: path
        required: true
        schema:
          type: string
        description: The browser session ID
      responses:
        '200':
          description: Browser session deleted successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  sessionDurationMs:
                    type: integer
                    description: Total session duration in milliseconds
                  creditsBilled:
                    type: number
                    description: Number of credits billed for the session
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Payment required to access this resource.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer