WCS Quickstart
Overview
Welcome to the Quickstart guide for Weaviate Cloud Services (WCS). Here, you will learn:
- How to set up a Weaviate instance on WCS, and
- How to instantiate a Weaviate client to communicate with the WCS instance.
Agenda
By the end of this tutorial, you will be familiar with the basics of WCS. You will have:
- Created a WCS account,
- Created a new free WCS sandbox instance without authentication,
- Installed a Weaviate client of your choice, and
- Queried your new WCS sandbox instance with the Weaviate client.
And if you wish, you will be ready to move onto our Weaviate Quickstart tutorial next.
Sign in to WCS
- First, go to the WCS Console, and click on "Sign in with the Weaviate Cloud Services".
- Click Sign in with the Weaviate Cloud Services.
- If you don't have a WCS account, click on Register.
- Sign in with your WCS username and password.
Create a Weaviate Cluster
To create a new Weaviate Cluster, click the Create cluster button.
Then:
- Select the Free sandbox tier.
- Provide a Cluster name. This will become a part of its URL, with a suffix added to ensure uniqueness.
- Set Enable Authentication? to YES.
Click Create. This will take ~2 minutes and you'll see a tick ✔️ when finished.
This will start the process to create a new instance, and you will see a progress indicator.

Instance creation should take a minute or two, and you will see a tick ✔️ when it's done, indicating that the instance is ready.
Your cluster details
To access your cluster, you will need:
- The Weaviate URL, and
- Authentication details (Weaviate API key).
Click Details to see them.
For the Weaviate API key, click on the API keys button.
The sandbox is free, but it will expire after 14 days. After this time, all data in the sandbox will be deleted.
If you would like to preserve your sandbox data, you can retrieve your data, or contact us to upgrade to a production SaaS instance.
In the meantime, let's start installing a client library.
Install a client library
We suggest using a Weaviate client. To install your preferred client :
You can perform all Weaviate requests with any of these clients. For the most seamless and language-native experience, we recommend using the client for your preferred programming language.
Install your preferred client by following the relevant instructions below:
- Python (v4)
- Python (v3)
- JavaScript/TypeScript
- Go
- Java
Add weaviate-client
to your Python environment with pip
.
Please note that the v4
client requires Weaviate 1.22
or higher.
(The v4
client is currently in beta.)
pip install --pre "weaviate-client==4.4b0"
Add weaviate-client
to your Python environment with pip
:
pip install "weaviate-client==3.*"
Add weaviate-ts-client
to your project with npm
:
npm install weaviate-ts-client
Add weaviate-go-client
to your project with go get
:
go get github.com/weaviate/weaviate-go-client/v4
Add this dependency to your project:
<dependency>
<groupId>io.weaviate</groupId>
<artifactId>client</artifactId>
<version>4.0.0</version> <!-- Check latest version -->
</dependency>
Connect to your WCS instance
By now, you should have:
- Set up a sandbox instance of Weaviate on WCS, and
- Installed a Weaviate client library.
From the Details tab in WCS, get:
- The Weaviate API key, and
- The Weaviate URL.
Replace the endpoint address and API key in the following code with your address and key, then run the code for your preferred client:
- Python
- JavaScript/TypeScript
- Go
- Java
- Curl
import weaviate
client = weaviate.Client(
url="https://some-endpoint.weaviate.network/", # Replace with your endpoint
auth_client_secret=weaviate.AuthApiKey(api_key="YOUR-WEAVIATE-API-KEY"), # Replace w/ your Weaviate instance API key
)
client.schema.get()
import weaviate, { WeaviateClient, ObjectsBatcher, ApiKey } from 'weaviate-ts-client';
const client: WeaviateClient = weaviate.client({
scheme: 'https',
host: 'some-endpoint.weaviate.network', // Replace with your endpoint
apiKey: new ApiKey('YOUR-WEAVIATE-API-KEY'), // Replace w/ your Weaviate instance API key
});
const response = await client
.schema
.getter()
.do();
console.log(JSON.stringify(response, null, 2));
package main
import (
"context"
"fmt"
"github.com/weaviate/weaviate-go-client/v4/weaviate"
)
func main() {
cfg := weaviate.Config{
Host: "some-endpoint.weaviate.network/", // Replace with your endpoint
Scheme: "https",
AuthConfig: auth.ApiKey{Value: "YOUR-WEAVIATE-API-KEY"}, // Replace w/ your Weaviate instance API key
}
client, err := weaviate.NewClient(cfg)
if err != nil {
panic(err)
}
schema, err := client.Schema().Getter().Do(context.Background())
if err != nil {
panic(err)
}
fmt.Printf("%+v", schema)
}
package io.weaviate;
import io.weaviate.client.Config;
import io.weaviate.client.WeaviateAuthClient;
import io.weaviate.client.base.Result;
import io.weaviate.client.v1.misc.model.Meta;
public class App {
public static void main(String[] args) {
Config config = new Config("https", "some-endpoint.weaviate.network/"); // Replace with your endpoint
WeaviateClient client = WeaviateAuthClient.apiKey(config, "YOUR-WEAVIATE-API-KEY"); // Replace w/ your Weaviate instance API key
// get the schema
Result<Schema> result = client.schema().getter().run();
if (result.hasErrors()) {
System.out.println(result.getError());
return;
}
// print the schema
System.out.println(result.getResult());
}
}
curl \
-H "Authorization: Bearer YOUR-WEAVIATE-API-KEY" \
https://some-endpoint.weaviate.network/v1/schema
You should receive a response confirming the server is ready.
True
Congratulations! You have successfully set up a cloud-based vector database with WCS.
Next
Now that you are set up with a WCS instance:
- If you are new to Weaviate at large, we recommend moving to the Weaviate Quickstart Tutorial.
- Otherwise, we hope you enjoy your experience with WCS.
More resources
We want you to have the best experience possible here. So if you find that something here doesn't work, or doesn't make sense, please let us know! You can:
- File an issue on GitHub, or
- Talk to us on the community forum, or
- Ping us on Slack
Support & Troubleshooting
All Weaviate users are welcome to join our community Slack and forum.
Additionally, paid customers can also contact support via channels provided during cluster creation and/or on-boarding.
For general contact details please see this page.