Actian Corporation Search API

Vector similarity search operations

Operations 2

POST /collections/{collection_name}/points/search Search vectors #
POST /collections/{collection_name}/points/search/batch Batch search #

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/actian:actian-search-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

actian-search-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Actian VectorAI DB Search API
  description: Vector similarity search operations for Actian VectorAI DB.
  version: 1.0.0
  contact:
    name: Actian Corporation
    url: https://www.actian.com
servers:
- url: http://localhost:6573
  description: Local development server (REST API)
- url: https://api.vectorai.actian.com
  description: Production server
security:
- bearerAuth: []
tags:
- name: Search
  description: Vector similarity search operations
paths:
  /collections/{collection_name}/points/search:
    post:
      tags:
      - Search
      summary: Search vectors
      description: Find the most similar vectors in a collection using approximate nearest neighbor search. Supports score thresholds, payload filtering, and tunable HNSW parameters.
      operationId: search_points
      parameters:
      - name: collection_name
        in: path
        required: true
        schema:
          type: string
        description: The name of the collection to search.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - vector
              properties:
                vector:
                  type: array
                  items:
                    type: number
                  example:
                  - 0.1
                  - 0.2
                  - 0.3
                  - 0.4
                  description: The query vector to search for. The number of dimensions must match the collection's configured vector size.
                limit:
                  type: integer
                  default: 10
                  example: 5
                  description: Maximum number of results to return. Defaults to 10.
                offset:
                  type: integer
                  default: 0
                  example: 0
                  description: Number of results to skip for pagination. Use with `limit` to page through results.
                score_threshold:
                  type: number
                  example: 0.7
                  description: Minimum similarity score for results. Only points with scores at or above this threshold are returned.
                filter:
                  type: object
                  description: Optional filter to narrow search results based on payload metadata. See the Filters API for syntax.
                with_payload:
                  type: boolean
                  default: true
                  example: true
                  description: Whether to include payload metadata in the response.
                with_vector:
                  type: boolean
                  default: false
                  example: false
                  description: Whether to include vector data in the response. Set to `false` to reduce response size.
                params:
                  type: object
                  description: Advanced search parameters for tuning search quality and performance.
                  properties:
                    hnsw_ef:
                      type: integer
                      example: 128
                      description: Controls the number of candidates HNSW evaluates during search. Higher values improve accuracy at the cost of latency.
                    exact:
                      type: boolean
                      example: false
                      description: If `true`, performs an exact brute-force search instead of approximate. Slower but guarantees finding true nearest neighbors.
            examples:
              basic_search:
                summary: Basic search
                value:
                  vector:
                  - 0.1
                  - 0.2
                  - 0.3
                  - 0.4
                  limit: 5
                  offset: 0
                  with_payload: true
                  with_vector: false
              search_with_threshold:
                summary: With score threshold
                value:
                  vector:
                  - 0.1
                  - 0.2
                  - 0.3
                  - 0.4
                  limit: 10
                  offset: 0
                  score_threshold: 0.7
                  with_payload: true
                  with_vector: false
                  params:
                    hnsw_ef: 128
                    exact: false
              search_with_filter:
                summary: With payload filter
                value:
                  vector:
                  - 0.1
                  - 0.2
                  - 0.3
                  - 0.4
                  limit: 10
                  offset: 0
                  filter:
                    must:
                    - key: category
                      match:
                        value: electronics
                  with_payload: true
                  with_vector: false
      responses:
        '200':
          description: Search results
          content:
            application/json:
              schema:
                type: object
                properties:
                  usage:
                    type: object
                    properties:
                      hardware:
                        type:
                        - object
                        - 'null'
                        description: Hardware resource counters for the operation, including CPU, payload I/O, payload index I/O, and vector I/O metrics.
                  time:
                    type: number
                    format: double
                    example: 5.53e-05
                    description: Time spent to process this request, in seconds.
                  status:
                    type: string
                    example: ok
                    description: Operation status.
                  result:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          oneOf:
                          - type: integer
                          - type: string
                          example: 1
                          description: The point's unique identifier.
                        version:
                          type: integer
                          example: 0
                          description: The point's version number.
                        score:
                          type: number
                          example: 0.9843740463256836
                          description: Similarity score between the query vector and this point.
                        payload:
                          type:
                          - object
                          - 'null'
                          example: null
                          description: Payload metadata, or null if `with_payload` is false.
                        vector:
                          type:
                          - array
                          - 'null'
                          items:
                            type: number
                          example: null
                          description: Vector data, or null if `with_vector` is false.
              example:
                usage:
                  hardware: null
                time: 5.53e-05
                status: ok
                result:
                - id: 1
                  version: 0
                  score: 1
                  payload: null
                  vector: null
                - id: 3
                  version: 0
                  score: 0.9843740463256836
                  payload: null
                  vector: null
                - id: 2
                  version: 0
                  score: 0.9688639640808105
                  payload: null
                  vector: null
        4XX:
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-codeSamples:
      - lang: Python
        label: Basic search
        source: "from actian_vectorai_client import VectorAIClient\nimport random\n\nwith VectorAIClient(\"localhost:6574\") as client:\n    # Basic vector search\n    query = [random.gauss(0, 1) for _ in range(64)]\n    results = client.points.search(\"my_collection\", vector=query, limit=5)\n    \n    for r in results:\n        print(f\"ID: {r.id}, Score: {r.score:.4f}\")\n        print(f\"Payload: {r.payload.get('category')}\")\n"
      - lang: Python
        label: Search with score threshold
        source: "from actian_vectorai_client import VectorAIClient\nimport random\n\nwith VectorAIClient(\"localhost:6574\") as client:\n    # Search with minimum score\n    query = [random.gauss(0, 1) for _ in range(64)]\n    results = client.points.search(\n        \"my_collection\",\n        vector=query,\n        limit=10,\n        score_threshold=0.7\n    )\n    print(f\"Found {len(results)} results above threshold\")\n"
      - lang: Python
        label: Search with custom HNSW
        source: "from actian_vectorai_client import VectorAIClient, SearchParams\nimport random\n\nwith VectorAIClient(\"localhost:6574\") as client:\n    # Search with custom HNSW parameters\n    query = [random.gauss(0, 1) for _ in range(64)]\n    results = client.points.search(\n        \"my_collection\",\n        vector=query,\n        limit=5,\n        params=SearchParams(hnsw_ef=256, exact=False)\n    )\n    print(f\"Found {len(results)} results\")\n"
      - lang: Python
        label: Exact search
        source: "from actian_vectorai_client import VectorAIClient, SearchParams\nimport random\n\nwith VectorAIClient(\"localhost:6574\") as client:\n    # Exact (brute-force) search\n    query = [random.gauss(0, 1) for _ in range(64)]\n    results = client.points.search(\n        \"my_collection\",\n        vector=query,\n        limit=5,\n        params=SearchParams(exact=True)\n    )\n    for r in results:\n        print(f\"ID: {r.id}, Score: {r.score:.4f}\")\n"
      - lang: JavaScript
        label: Basic search
        source: "import { VectorAIClient } from '@actian/vectorai-client';\n\nconst client = new VectorAIClient('localhost:6574');\n\nconst results = await client.points.search('my_collection', [0.1, 0.2, 0.3, 0.4], {\n    limit: 5,\n    withPayload: true,\n});\nfor (const r of results) {\n    console.log(`id=${r.id}  score=${r.score.toFixed(4)}  payload=${JSON.stringify(r.payload)}`);\n}\n\nclient.close();\n"
      - lang: JavaScript
        label: Filtered search
        source: "import { VectorAIClient, Field } from '@actian/vectorai-client';\n\nconst client = new VectorAIClient('localhost:6574');\n\nconst filter = Field.of('category').eq('electronics');\nconst results = await client.points.search('my_collection', [0.1, 0.2, 0.3, 0.4], {\n    limit: 5,\n    filter,\n    withPayload: true,\n});\nconsole.log(`Found ${results.length} results`);\n\nclient.close();\n"
      - lang: cURL
        label: Search
        source: "curl -X POST \"http://localhost:6573/collections/my_collection/points/search\" \\\n  -H \"Content-Type: application/json\" \\\n  -H 'Authorization: Bearer <admin-jwt-or-access-token>' \\\n  -d '{\n    \"vector\": [0.1, 0.2, 0.3, 0.4],\n    \"limit\": 5\n  }'\n"
  /collections/{collection_name}/points/search/batch:
    post:
      tags:
      - Search
      summary: Batch search
      description: Execute multiple search queries in a single request. This is more efficient than sending individual search requests when you have several queries to run.
      operationId: search_batch
      parameters:
      - name: collection_name
        in: path
        required: true
        schema:
          type: string
        description: The name of the collection to search.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - searches
              properties:
                searches:
                  type: array
                  description: Array of search request objects to execute.
                  items:
                    type: object
                    required:
                    - vector
                    properties:
                      vector:
                        type: array
                        items:
                          type: number
                        example:
                        - 0.1
                        - 0.2
                        - 0.3
                        - 0.4
                        description: The query vector for this search.
                      limit:
                        type: integer
                        example: 3
                        description: Maximum number of results for this search.
                      offset:
                        type: integer
                        example: 0
                        description: Number of results to skip for pagination.
                      score_threshold:
                        type: number
                        example: 0.7
                        description: Minimum similarity score for results.
                      filter:
                        type: object
                        description: Optional filter conditions for this search.
                      with_payload:
                        type: boolean
                        example: true
                        description: Whether to include payload metadata in the response.
                      with_vector:
                        type: boolean
                        example: false
                        description: Whether to include vector data in the response.
            examples:
              batch_search:
                summary: Multiple queries
                value:
                  searches:
                  - vector:
                    - 0.1
                    - 0.2
                    - 0.3
                    - 0.4
                    limit: 3
                    with_payload: true
                    with_vector: false
                  - vector:
                    - 0.5
                    - 0.6
                    - 0.7
                    - 0.8
                    limit: 3
                    with_payload: true
                    with_vector: false
                  - vector:
                    - 0.9
                    - 0.8
                    - 0.7
                    - 0.6
                    limit: 3
                    with_payload: true
                    with_vector: false
      responses:
        '200':
          description: Batch search results
          content:
            application/json:
              schema:
                type: object
                properties:
                  usage:
                    type: object
                    properties:
                      hardware:
                        type:
                        - object
                        - 'null'
                        description: Hardware resource counters for the operation, including CPU, payload I/O, payload index I/O, and vector I/O metrics.
                  time:
                    type: number
                    format: double
                    example: 7.06e-05
                    description: Time spent to process this request, in seconds.
                  status:
                    type: string
                    example: ok
                    description: Operation status.
                  result:
                    type: array
                    description: Array of result arrays, one per search query.
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            oneOf:
                            - type: integer
                            - type: string
                            example: 1
                            description: The point's unique identifier.
                          version:
                            type: integer
                            example: 0
                            description: The point's version number.
                          score:
                            type: number
                            example: 0.9843740463256836
                            description: Similarity score between the query vector and this point.
                          payload:
                            type:
                            - object
                            - 'null'
                            example: null
                            description: Payload metadata, or null if `with_payload` is false.
                          vector:
                            type:
                            - array
                            - 'null'
                            items:
                              type: number
                            example: null
                            description: Vector data, or null if `with_vector` is false.
              example:
                usage:
                  hardware: null
                time: 7.06e-05
                status: ok
                result:
                - - id: 1
                    version: 0
                    score: 1
                    payload: null
                    vector: null
                  - id: 3
                    version: 0
                    score: 0.9843740463256836
                    payload: null
                    vector: null
                  - id: 2
                    version: 0
                    score: 0.9688639640808105
                    payload: null
                    vector: null
                - - id: 2
                    version: 0
                    score: 1
                    payload: null
                    vector: null
                  - id: 3
                    version: 0
                    score: 0.9973233938217163
                    payload: null
                    vector: null
        4XX:
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-codeSamples:
      - lang: Python
        label: Batch search
        source: "from actian_vectorai_client import VectorAIClient\nimport random\n\nwith VectorAIClient(\"localhost:6574\") as client:\n    # Execute multiple searches at once\n    queries = [\n        {\"vector\": [random.gauss(0, 1) for _ in range(64)], \"limit\": 3}\n        for _ in range(3)\n    ]\n    batch_results = client.points.search_batch(\"my_collection\", queries)\n    \n    for i, results in enumerate(batch_results):\n        ids = [r.id for r in results]\n        print(f\"Query {i + 1}: top IDs = {ids}\")\n"
      - lang: JavaScript
        label: Batch search
        source: "import { VectorAIClient } from '@actian/vectorai-client';\n\nconst client = new VectorAIClient('localhost:6574');\n\nconst batchResults = await client.points.searchBatch('my_collection', [\n    { vector: [0.1, 0.2, 0.3, 0.4], limit: 3 },\n    { vector: [0.5, 0.6, 0.7, 0.8], limit: 3 },\n]);\nconsole.log(`Batch search: ${batchResults.length} result sets`);\nfor (let i = 0; i < batchResults.length; i++) {\n    console.log(`  Query ${i}: ${batchResults[i].length} results`);\n}\n\nclient.close();\n"
      - lang: cURL
        label: Batch search
        source: "curl -X POST \"http://localhost:6573/collections/my_collection/points/search/batch\" \\\n  -H \"Content-Type: application/json\" \\\n  -H 'Authorization: Bearer <admin-jwt-or-access-token>' \\\n  -d '{\n    \"searches\": [\n      {\"vector\": [0.1, 0.2, 0.3, 0.4], \"limit\": 3},\n      {\"vector\": [0.5, 0.6, 0.7, 0.8], \"limit\": 3}\n    ]\n  }'\n"
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        status:
          type: object
          properties:
            error:
              type: string
        time:
          type: number
          format: double
          description: Time spent to process this request, in seconds.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Admin JWT or access token for authenticating requests to VectorAI DB.