Skip to main content
Airweave logo

Overview

Add Airweave to any ModuleX agent or workflow. AI-powered semantic search across your synced data collections via the Airweave Search REST API (api.airweave.ai). One tool retrieves relevant content from a collection using hybrid, neural, or keyword strategies, and can optionally synthesize an AI-generated answer.
Categories: Web Search & Scraping · Vector Search · Knowledge Base · Auth: API Key · Actions: 1

Authentication

API Key Authentication

Authenticate using your Airweave API key
1

Step 1

Go to https://app.airweave.ai and sign up or log in
2

Step 2

Open the API Keys section of your dashboard
3

Step 3

Create a new API key or copy your existing one
4

Step 4

Paste the API key below

Required Credentials

FieldDescriptionRequiredFormat
Airweave API KeyYour Airweave API key from app.airweave.aiYes-

Available Actions

Parameters

collection_id
string
required
The readable ID of the collection to search
query
string
required
The search query text
limit
integer
Maximum number of results to return
retrieval_strategy
string
Retrieval strategy: ‘hybrid’ (default), ‘neural’, or ‘keyword’
expand_query
boolean
Generate query variations to improve recall
rerank
boolean
Reorder results for improved relevance using an LLM
generate_answer
boolean
Generate a natural-language answer to the query

Response

{
  "$defs": {
    "SearchResultItem": {
      "additionalProperties": false,
      "description": "A single result row returned by ``search``.",
      "properties": {
        "entity_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Entity Id"
        },
        "source_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Source Name"
        },
        "md_content": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Md Content"
        },
        "score": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Score"
        },
        "metadata": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Metadata"
        },
        "breadcrumbs": {
          "items": {
            "type": "string"
          },
          "title": "Breadcrumbs",
          "type": "array"
        },
        "url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Url"
        }
      },
      "title": "SearchResultItem",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "results": {
      "items": {
        "$ref": "#/$defs/SearchResultItem"
      },
      "title": "Results",
      "type": "array"
    },
    "completion": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Completion"
    },
    "total_results": {
      "default": 0,
      "title": "Total Results",
      "type": "integer"
    }
  },
  "required": [
    "success"
  ],
  "title": "SearchOutput",
  "type": "object"
}

Limits & Quotas

  • Collection-scoped: every search runs against one collection’s readable ID; results carry per-source attribution (source_name, breadcrumbs, url).
  • Answer generation: setting generate_answer=true runs an extra LLM synthesis step and populates the completion field; expect higher latency.
  • Error model: non-2xx responses and timeouts are caught and returned as success=False + error rather than raising. Plan for retries on the agent side based on the error string.

Ahrefs

Apify

Exa Search