> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.airweave.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.airweave.ai/_mcp/server.

# Quickstart

Follow this guide to get up and running with Airweave in just a few steps.

#### Choose your deployment

The simplest way to use Airweave is through our hosted cloud platform at [app.airweave.ai](https://app.airweave.ai).

If you prefer to run Airweave yourself, you can deploy it locally on macOS, Linux or WSL. After cloning the repository and starting the server, you will be able to open the dashboard at [http://localhost:8080](http://localhost:8080)

```bash
git clone https://github.com/airweave-ai/airweave.git
cd airweave
./start.sh
```

#### Set-up Airweave client

Airweave provides SDKs for Python and Node.js. Install the package.

```bash title="Python"
pip install airweave-sdk
```

```bash title="Node.js"
npm install @airweave/sdk
```

Now, create and copy your API key from your Airweave dashboard.

Initialize the Airweave client with your new API key. For local deployments, set base\_url to `"http://localhost:8001"`.

```Python title="Python"
from airweave import AirweaveSDK

airweave = AirweaveSDK(api_key="YOUR_API_KEY", base_url="https://api.airweave.ai")
```

```javascript title="Node.js"
import { AirweaveSDKClient } from "@airweave/sdk";

const airweave = new AirweaveSDKClient({apiKey: "YOUR_API_KEY", base_url: "https://api.airweave.ai"});
```

#### Create a collection

A collection is a group of different data sources that you can search using a single endpoint.

```Python title="Python"
collection = airweave.collections.create(name="My First Collection")

print(f"Created collection: {collection.readable_id}")
```

```javascript title="Node.js"
const collection = await airweave.collections.create({name: "My First Collection"});

console.log(`Created collection: ${collection.readable_id}`);
```

```bash title="cURL"
curl -X POST 'https://api.airweave.ai/collections' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "My First Collection"
  }'
```

#### Add source connection(s) to your collection

A source connection links a specific app or database to your collection. It handles authentication and automatically syncs data.

```Python title="Python"
source_connection = airweave.source_connections.create(
    name="My Stripe Connection",
    short_name="stripe",
    readable_collection_id=collection.readable_id,
    authentication={
        "credentials": {
            "api_key": "your_stripe_api_key"  # Replace with real API key
        }
    }
)

print(f"Status: {source_connection.status}")
```

```javascript title="Node.js"
const sourceConnection = await airweave.sourceConnections.create({
  name: "My Stripe Connection",
  short_name: "stripe",
  readable_collection_id: collection.readable_id,
  authentication: {
    credentials: {
      api_key: "SK_TEST_YOUR_STRIPE_API_KEY"
    }
  }
});

console.log(`Status: ${sourceConnection.status}`);
```

```bash title="cURL"
curl -X POST 'https://api.airweave.ai/source-connections' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "My Stripe Connection",
    "short_name": "stripe",
    "readable_collection_id": "my-first-collection-abc123",
    "authentication": {
      "credentials": {
        "api_key": "SK_TEST_YOUR_STRIPE_API_KEY"
      }
    }
  }'
```

#### Search your collection

You can now search your collection and get the most relevant results from all connected sources.

```Python title="Python"
response = airweave.collections.search.instant(
    readable_id=collection.readable_id,
    query="Find returned payments from user John Doe?",
)

for result in response.results:
    print(result.name, result.relevance_score)
```

```javascript title="Node.js"
const response = await airweave.collections.search.instant(
  collection.readableId,
  { query: "Find returned payments from user John Doe?" }
);

response.results.forEach(result => console.log(result.name, result.relevanceScore));
```

```bash title="cURL"
curl -X POST 'https://api.airweave.ai/collections/my-first-collection-abc123/search/instant' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"query": "Find returned payments from user John Doe?"}'
```

You've now successfully deployed Airweave, connected your first data source, and searched your first collection. To continue, you can explore more integrations and dive into the API reference. For community and support, check out the links below.

#### [GitHub Repository](https://github.com/airweave-ai/airweave)

Join our growing open-source community.

View code, contribute, and report issues.

#### [Community Support](https://discord.gg/484HY9Ehxt)

Get help from our team and community.

Share feedback and feature requests.