TinyFish TinyFish Browser API API

The TinyFish Browser API API from TinyFish — 1 operation(s) for tinyfish browser api.

Operations 1

POST / Create a remote 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/tinyfish-tinyfish-browser-api-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

tinyfish-tinyfish-browser-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: TinyFish Browser Automation TinyFish Browser API
  version: 1.0.0
  description: Create remote browser sessions for direct Playwright/CDP control.
  contact:
    name: TinyFish Support
    email: support@tinyfish.ai
servers:
- url: https://api.browser.tinyfish.ai
tags:
- name: TinyFish Browser API
paths:
  /:
    post:
      operationId: createBrowserSession
      summary: Create a remote browser session
      description: 'Creates a remote tf-browser session and returns CDP connection details. Optionally accepts a target URL to select the best proxy for that domain. Connect to the browser via CDP WebSocket at `cdp_url`.


        Use `timeout_seconds` to set a custom inactivity timeout (5–86400 seconds). If omitted, null, or greater than your plan maximum, the plan maximum is used (15 min on free tier, 60 min on paid).'
      security:
      - ApiKeyAuth: []
      requestBody:
        description: Browser session parameters
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  description: Target URL the browser session will navigate to on startup. Bare domains (e.g. tinyfish.ai) are automatically prefixed with https://. If omitted, the browser starts at about:blank.
                  example: https://www.tinyfish.ai
                timeout_seconds:
                  type:
                  - integer
                  - 'null'
                  minimum: 5
                  maximum: 86400
                  description: Inactivity timeout in seconds (5–86400). If omitted, null, or greater than your plan maximum, the plan maximum is used.
                  example: 300
              description: Browser session creation parameters
      responses:
        '201':
          description: Browser session created successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  session_id:
                    type: string
                    description: Unique identifier for this browser session.
                    example: br-a1b2c3d4-e5f6-7890-abcd-ef1234567890
                  cdp_url:
                    type: string
                    description: WebSocket URL for browser connection. Pass this to Playwright's connect_over_cdp or any WebSocket-based CDP client.
                    example: wss://browser.example.tinyfish.io/session/cdp
                  base_url:
                    type: string
                    description: HTTPS base URL for the session. Use to access session endpoints such as /pages.
                    example: https://browser.example.tinyfish.io/session
                required:
                - session_id
                - cdp_url
                - base_url
                description: Browser session created successfully. Connect to the browser via cdp_url.
              example:
                session_id: tf-a1b2c3d4-e5f6-7890-abcd-ef1234567890
                cdp_url: wss://tetra-abc123.cluster.unikraft.cloud/cdp
                base_url: https://tetra-abc123.cluster.unikraft.cloud
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - MISSING_API_KEY
                        - INVALID_API_KEY
                        - INVALID_INPUT
                        - RATE_LIMIT_EXCEEDED
                        - INTERNAL_ERROR
                        - UNAUTHORIZED
                        - FORBIDDEN
                        - NOT_FOUND
                        - SERVICE_BUSY
                        - TIMEOUT
                        - INSUFFICIENT_CREDITS
                        - CONTENT_POLICY_VIOLATION
                        - MAX_STEPS_EXCEEDED
                        - SITE_BLOCKED
                        - TASK_FAILED
                        - CANCELLED
                        description: Machine-readable error code
                        example: INVALID_INPUT
                      message:
                        type: string
                        description: Human-readable error message
                        example: Field "url" is required and must be a string
                      details:
                        description: Additional error details (validation errors, etc.)
                    required:
                    - code
                    - message
                required:
                - error
                description: Standard error response format
        '402':
          description: Forbidden - Insufficient credits or no active subscription
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - MISSING_API_KEY
                        - INVALID_API_KEY
                        - INVALID_INPUT
                        - RATE_LIMIT_EXCEEDED
                        - INTERNAL_ERROR
                        - UNAUTHORIZED
                        - FORBIDDEN
                        - NOT_FOUND
                        - SERVICE_BUSY
                        - TIMEOUT
                        - INSUFFICIENT_CREDITS
                        - CONTENT_POLICY_VIOLATION
                        - MAX_STEPS_EXCEEDED
                        - SITE_BLOCKED
                        - TASK_FAILED
                        - CANCELLED
                        description: Machine-readable error code
                        example: INVALID_INPUT
                      message:
                        type: string
                        description: Human-readable error message
                        example: Field "url" is required and must be a string
                      details:
                        description: Additional error details (validation errors, etc.)
                    required:
                    - code
                    - message
                required:
                - error
                description: Standard error response format
        '404':
          description: Browser API is not available
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - MISSING_API_KEY
                        - INVALID_API_KEY
                        - INVALID_INPUT
                        - RATE_LIMIT_EXCEEDED
                        - INTERNAL_ERROR
                        - UNAUTHORIZED
                        - FORBIDDEN
                        - NOT_FOUND
                        - SERVICE_BUSY
                        - TIMEOUT
                        - INSUFFICIENT_CREDITS
                        - CONTENT_POLICY_VIOLATION
                        - MAX_STEPS_EXCEEDED
                        - SITE_BLOCKED
                        - TASK_FAILED
                        - CANCELLED
                        description: Machine-readable error code
                        example: INVALID_INPUT
                      message:
                        type: string
                        description: Human-readable error message
                        example: Field "url" is required and must be a string
                      details:
                        description: Additional error details (validation errors, etc.)
                    required:
                    - code
                    - message
                required:
                - error
                description: Standard error response format
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - MISSING_API_KEY
                        - INVALID_API_KEY
                        - INVALID_INPUT
                        - RATE_LIMIT_EXCEEDED
                        - INTERNAL_ERROR
                        - UNAUTHORIZED
                        - FORBIDDEN
                        - NOT_FOUND
                        - SERVICE_BUSY
                        - TIMEOUT
                        - INSUFFICIENT_CREDITS
                        - CONTENT_POLICY_VIOLATION
                        - MAX_STEPS_EXCEEDED
                        - SITE_BLOCKED
                        - TASK_FAILED
                        - CANCELLED
                        description: Machine-readable error code
                        example: INVALID_INPUT
                      message:
                        type: string
                        description: Human-readable error message
                        example: Field "url" is required and must be a string
                      details:
                        description: Additional error details (validation errors, etc.)
                    required:
                    - code
                    - message
                required:
                - error
                description: Standard error response format
        '502':
          description: Browser session creation failed
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - MISSING_API_KEY
                        - INVALID_API_KEY
                        - INVALID_INPUT
                        - RATE_LIMIT_EXCEEDED
                        - INTERNAL_ERROR
                        - UNAUTHORIZED
                        - FORBIDDEN
                        - NOT_FOUND
                        - SERVICE_BUSY
                        - TIMEOUT
                        - INSUFFICIENT_CREDITS
                        - CONTENT_POLICY_VIOLATION
                        - MAX_STEPS_EXCEEDED
                        - SITE_BLOCKED
                        - TASK_FAILED
                        - CANCELLED
                        description: Machine-readable error code
                        example: INVALID_INPUT
                      message:
                        type: string
                        description: Human-readable error message
                        example: Field "url" is required and must be a string
                      details:
                        description: Additional error details (validation errors, etc.)
                    required:
                    - code
                    - message
                required:
                - error
                description: Standard error response format
      tags:
      - TinyFish Browser API
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key for authentication. Get your key from the API Keys page.