> ## Documentation Index
> Fetch the complete documentation index at: https://docs.browseract.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve an official bot template

> Fetches an official Bot template, including the standard JSON `input_schema` required when creating a template run. If you only need a list of templates, use `GET /v3/bots/templates`.



## OpenAPI

````yaml /openapi_3.json get /v3/bots/templates/{template_id}
openapi: 3.0.3
info:
  title: BrowserAct API
  description: >
    BrowserAct's API lets you list and run BrowserAct bots programmatically and
    monitor their execution.


    **Core concepts (same as the Dashboard):**

    - **Bot**: a published Bot automation that can be run through the API.

    - **Task**: a single bot execution record (the "run").


    The public `bot_type=agent` value represents **SkillFlow**, not the legacy
    Agent app type.


    ## Base URL

    All requests use the following base URL:


    ```

    https://api.browseract.com

    ```


    ## API versioning

    The API is versioned in the URL path (for example, `/v3/bots/...`).


    ## Authentication

    Authenticate with a Bearer token in the `Authorization` header:


    ```

    Authorization: Bearer <API_KEY>

    ```


    API keys are scoped to a company and channel. Do not send internal session
    headers such as `x-session-company-id` or `x-session-api-channel`;
    BrowserAct injects them after authentication.


    ## Requests

    - Send request bodies as JSON.

    - Set `Content-Type: application/json` for endpoints that accept a body.

    - Run inputs use an `input` object that must conform to the bot or template
    `input_schema`.


    ## Response codes

    - `200` for successful queries, creates, cancels, and resumes

    - `400` for invalid parameters, business validation failures, or resources
    not visible to the current API key

    - `500` for server-side errors


    Successful responses return the business object directly without a data
    wrapper. Error responses use `code`, `msg`, `data`, `ts`, `time`, and
    `traceId`.


    ## Pagination

    List endpoints use **page-based pagination** with these query parameters:

    - `page` (starts at 1)

    - `limit` (maximum depends on the endpoint)


    Paginated responses include `page`, `limit`, `items`, `total_pages`, and
    `total_count`.


    ## Webhooks (optional)

    When creating a task, you can provide:

    - `callback_url`: called when a task **finishes**, **fails**, or is
    **canceled**.

    - `status_change_callback_url`: called whenever the public task status
    changes.


    Both callbacks receive the complete `BotRunDetailResponse` directly, without
    an additional `data` wrapper. Callback URLs cannot resolve to private or
    local addresses.


    ## Task status values

    `created`, `running`, `pausing`, `paused`, `finished`, `canceled`, `failed`.


    ## Common error codes

    - `99001`: Request parameter error

    - `99002`: No operation permission

    - `10013`: Proxy region does not exist

    - `10020`: Bot is not published

    - `10021`: SkillFlow LLM configuration is incomplete

    - `10111`: Bot does not exist or is not visible

    - `10112`: Task does not exist

    - `10121`: Task has already completed

    - `10127`: Only a paused task can be resumed

    - `10142`: Required Bot input is missing

    - `10143`: Required SkillFlow input is missing

    - `10176`: Bot template does not exist

    - `10879`: SkillFlow runs do not support resume


    ## Rate limits

    To protect platform stability, rate limits may apply. If you hit a limit,
    reduce request frequency and retry with backoff.


    ## Need help?

    Join our Discord community: https://discord.com/invite/UpnCKd7GaU
  version: v3
  contact:
    name: BrowserAct Support
    url: https://discord.com/invite/UpnCKd7GaU
servers:
  - url: https://api.browseract.com
    description: API host
security:
  - HTTPBearer: []
tags:
  - name: Tasks
    description: >-
      Create and manage bot execution tasks. Start a task, poll its status or
      full details, and retrieve outputs after it finishes.
  - name: Bots
    description: >-
      Bots are published Bot automations. Use these endpoints to list runnable
      bots and inspect their input and output schemas.
  - name: Bot Templates
    description: >-
      Official Bot templates curated by BrowserAct. Templates provide a fast way
      to start common scraping and automation use cases.
  - name: Regions
    description: >-
      Supported proxy regions that can be used when running an official Bot
      template.
paths:
  /v3/bots/templates/{template_id}:
    get:
      tags:
        - Bot Templates
      summary: Retrieve an official bot template
      description: >-
        Fetches an official Bot template, including the standard JSON
        `input_schema` required when creating a template run. If you only need a
        list of templates, use `GET /v3/bots/templates`.
      operationId: queryTemplate
      parameters:
        - name: template_id
          in: path
          required: true
          description: Public Bot template identifier.
          schema:
            type: string
          example: '3001'
      responses:
        '200':
          description: Bot template returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BotTemplateDetailResponse'
              example:
                template_id: '3001'
                name: Product price comparison
                description: Compare prices across multiple stores.
                created_at: '2026-07-01T00:00:00Z'
                published_at: '2026-07-10T00:00:00Z'
                input_schema:
                  type: object
                  properties:
                    url:
                      type: string
                  required:
                    - url
                  additionalProperties: false
                recommend_desc: Compare prices across multiple stores.
                detail_url: https://www.browseract.com/template/3001
        '400':
          description: Bot template not found. Returns error code 10176.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    BotTemplateDetailResponse:
      type: object
      properties:
        template_id:
          type: string
          description: Public Bot template identifier.
        name:
          type: string
          description: Template name
        description:
          type: string
          description: Template description
        created_at:
          type: string
          format: date-time
          description: Template creation time.
        published_at:
          type: string
          format: date-time
          description: Template publication time.
        input_schema:
          type: object
          additionalProperties: true
          description: >-
            JSON Schema describing the input object accepted by the template run
            endpoint.
        recommend_desc:
          type: string
          description: Short recommendation text shown to template consumers.
        detail_url:
          type: string
          format: uri
          description: Public page containing additional template details.
      required:
        - template_id
        - name
        - input_schema
    ErrorResponse:
      type: object
      properties:
        code:
          type: integer
          description: Response code. `0` means success; non-zero means failure.
        msg:
          type: string
          description: Human-readable error message (present when `code` is non-zero).
        data:
          type: object
          nullable: true
          description: Error details (shape may vary by error).
        ts:
          type: integer
          format: int64
          description: Server timestamp (milliseconds).
        time:
          type: string
          description: Server time.
        traceId:
          type: string
          description: Error ID for tracking in logs.
      required:
        - code
        - msg
        - ts
        - time
        - traceId
      example:
        code: 123
        msg: Invalid task_id
        data: null
        ts: 1786634400000
        time: '2026-08-13 18:00:00'
        traceId: a1b2c3d4e5f6
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer
      description: Send your API key in the `Authorization` header as `Bearer <API_KEY>`.

````