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

# List tools

> List or search the tools you can run: public tools and your own private ones.

<Accordion title="Details">
  * Each tool has its input and output schemas, effect, sign-in needs and integration. Disabled tools are never listed.

  * An integration key lists only its integration's tools.

  * Without credentials, where allowed, only public read-only tools that need no login are listed. A notice says that signing up (free) or signing in adds tools that write, saved logins and building tools, and how to do it.

  * **Callers:** an API key, an integration's API key, an MCP OAuth token or a Dashboard session.

  * **Permission:** `tools:read`.

  * **Effect:** Changes nothing.

  * **Errors:** only the [errors any request can get](/errors).
</Accordion>


## OpenAPI

````yaml /api-reference/openapi.json get /v1/tools
openapi: 3.1.0
info:
  title: Pomerado API
  version: '1'
  description: >-
    Run and build website tools, follow their jobs, and manage logins, API keys
    and webhooks. Authenticate with a Pomerado API key (pom_…), an MCP OAuth
    token or a Dashboard session as a Bearer token.
servers:
  - url: https://api.pomerado.ai
security: []
tags:
  - name: account
    x-group: Account
  - name: api_keys
    x-group: API keys
  - name: connected_apps
    x-group: Connected apps
  - name: usage
    x-group: Usage
  - name: quota
    x-group: Quota
  - name: billing
    x-group: Billing
  - name: integrations
    x-group: Integrations
  - name: connect
    x-group: Connect
  - name: logins
    x-group: Saved logins
  - name: two_factor
    x-group: 2FA
  - name: login_access
    x-group: Login access
  - name: tools
    x-group: Tools
  - name: webhooks
    x-group: Webhooks
  - name: runs
    x-group: Runs
  - name: builds
    x-group: Builds
  - name: jobs
    x-group: Jobs
  - name: files
    x-group: Files
  - name: team
    x-group: Team
paths:
  /v1/tools:
    get:
      tags:
        - tools
      summary: List tools
      description: >-
        List or search the tools you can run: public tools and your own private
        ones.
      operationId: tools.list
      parameters:
        - name: cursor
          in: query
          required: false
          description: The next_cursor of the previous page
          schema:
            type: string
        - name: limit
          in: query
          required: false
          description: Items per page, 1 to 100 (default 20)
          schema:
            type: string
        - name: query
          in: query
          required: false
          description: Text to look for in tool names and descriptions
          schema:
            type: string
        - name: site_url
          in: query
          required: false
          description: 'Only this site''s tools: instacart.com or a pasted URL'
          schema:
            type: string
        - name: integration_id
          in: query
          required: false
          description: Only this integration's tools
          schema:
            type: string
            examples:
              - int_0f8e2d1c4b3a49e8a7f6e5d4c3b2a190
      responses:
        '200':
          description: One page of tools
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - next_cursor
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Tool'
                  next_cursor:
                    anyOf:
                      - type: string
                      - type: 'null'
                  possible_matches:
                    type: array
                    items:
                      $ref: '#/components/schemas/Tool'
                    description: >-
                      With query and site_url, on the first page: up to 50 of
                      the site's other tools that may cover the task. Compare
                      them before building another.
                  notice:
                    $ref: '#/components/schemas/ToolsNotice'
                additionalProperties: false
        '400':
          description: invalid_request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: unauthorized, reauthentication_required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: internal_error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: temporarily_unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearer: []
components:
  schemas:
    Tool:
      type: object
      required:
        - id
        - name
        - description
        - integration_id
        - site
        - effect
        - input_schema
        - output_schema
        - login
        - mcp_name
      properties:
        id:
          $ref: '#/components/schemas/tool_id'
        name:
          type: string
        description:
          type: string
        integration_id:
          anyOf:
            - $ref: '#/components/schemas/integration_id'
            - type: 'null'
        site:
          anyOf:
            - type: object
              required:
                - url
                - name
              properties:
                url:
                  type: string
                  description: The site's https origin
                name:
                  type: string
                  description: The site's everyday name
              additionalProperties: false
            - type: 'null'
        effect:
          type: string
          enum:
            - read
            - write
          description: read changes nothing on the site; write changes something there
        input_schema:
          type: object
          required: []
          properties: {}
          additionalProperties:
            $id: /schemas/unknown
          description: >-
            What a run's input takes, as JSON Schema. References are resolved:
            one left in a recursive schema points at its root $defs
        output_schema:
          type: object
          required: []
          properties: {}
          additionalProperties:
            $id: /schemas/unknown
          description: >-
            What a succeeded run's result holds, as JSON Schema, in the same
            form
        login:
          anyOf:
            - type: object
              required:
                - fields
                - two_factor_methods
              properties:
                fields:
                  type: array
                  items:
                    type: string
                    enum:
                      - username
                      - password
                      - email
                      - phone
                      - account_number
                      - date_of_birth
                      - zip
                  description: The login fields a run may carry for its sign-in
                two_factor_methods:
                  type: array
                  items:
                    type: string
                    enum:
                      - sms
                      - call
                      - email
                      - authenticator
                      - push
                  description: >-
                    Second steps its recorded sign-in offered; empty when none
                    was recorded
              additionalProperties: false
            - type: 'null'
          description: What its sign-in takes; null when it needs none
        mcp_name:
          type: string
          description: Its tool name on its integration's MCP, such as get_claim_status
      additionalProperties: false
    ToolsNotice:
      type: object
      required:
        - code
        - message
        - docs_url
      properties:
        code:
          type: string
          enum:
            - sign_in_to_see_all_tools
        message:
          type: string
          description: >-
            Says the list holds only tools you can run without an account, that
            signing up (free) or signing in adds tools that write, saved logins
            and building tools, and how to do it
        docs_url:
          type: string
          description: How to sign up or sign in
      additionalProperties: false
      description: >-
        Present only without credentials: the list holds only public read-only
        tools that need no login. Signing up (free) or signing in shows every
        tool.
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - retryable
            - docs_url
          properties:
            code:
              type: string
            message:
              type: string
            retryable:
              type: boolean
            docs_url:
              type: string
            details:
              type: object
              required: []
              properties: {}
              additionalProperties:
                $id: /schemas/unknown
          additionalProperties: false
      additionalProperties: false
    tool_id:
      type: string
      description: 'a tool ID: tool_ and 32 lowercase hex digits'
      examples:
        - tool_0f8e2d1c4b3a49e8a7f6e5d4c3b2a190
    integration_id:
      type: string
      description: 'an integration ID: int_ and 32 lowercase hex digits'
      examples:
        - int_0f8e2d1c4b3a49e8a7f6e5d4c3b2a190
  securitySchemes:
    bearer:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.