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, access WCS by navigating to the Weaviate Cloud Console, and click on "Sign in with the Weaviate Cloud Services".
- If you don't have an account with WCS yet, click on the "Register" button and create a new account.
- Then, 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 plan tier.
- Provide a cluster name, which will become a part of its URL. A suffix will be added to this to ensure uniqueness.
- Set the
Enable Authentication?
option toNO
.
Your selections should look like this:

Finally, press Create to create your sandbox instance. Note that the sandbox will expire after a set number of days.

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.
Sandbox expiry & options
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 with our cursor API, or contact us to upgrade to a production SaaS instance.
In the meantime, let's start installing a client library.
Install a client library
You can communicate with Weaviate using the available client libraries (currently for Python
, JavaScript
, TypeScript
, Java
and Go
), the GraphQL API, or the RESTful API.
With these clients you can perform all RESTful and GraphQL requests. This means you can use any endpoint, and perform all GraphQL queries directly from your Python, TypeScript/JavaScript, Java or Go scripts.
The Weaviate documentation, including the RESTful API and GraphQL reference pages, include code snippets using each client. The methods of the clients are designed to reflect the API functions 1:1, but are designed (structured and named) in the way native to the language.
Install your preferred client by following the relevant instructions below:
- Python
- TypeScript
- Go
- Java
Add weaviate-client
to your Python environment with pip
:
$ pip install weaviate-client
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/semi-technologies/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.
Let's put the pieces together by connecting to the Weaviate instance and retrieving the existing schema, which should be empty.
This can be done by sending a request to the schema
endpoint.
If you have enabled authentication in your sandbox for added security, this step will require that you pass on the authentication credentials. Please see the authentication guide for how.
Run the below code for your preferred client, replacing the endpoint address with your own:
You can get the URL for your WCS instance from the WCS dashboard, once you've logged in and the instance creation is complete. Click through to see the detail on your cluster, and you'll see the URL there.
- Python
- JavaScript
- TypeScript
- Go
- Java
- Curl
import weaviate
client = weaviate.Client(
url="https://some-endpoint.weaviate.network/", # Replace with your endpoint
)
client.schema.get()
const { default: weaviate } = require('weaviate-ts-client');
const client = weaviate.client({
scheme: 'https',
host: 'some-endpoint.weaviate.network', // Replace with your endpoint
});
client
.schema
.getter()
.do()
.then(res => {
console.log(res);
})
.catch(err => {
console.error(err)
});
import weaviate, { WeaviateClient } from 'weaviate-ts-client';
const client: WeaviateClient = weaviate.client({
scheme: 'https',
host: 'some-endpoint.weaviate.network', // Replace with your endpoint
});
client
.schema
.getter()
.do()
.then((res: any) => {
console.log(res);
})
.catch((err: Error) => {
console.error(err)
});
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",
}
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.WeaviateClient;
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 = new WeaviateClient(config);
// 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 https://some-endpoint.weaviate.network/v1/schema
You should receive a response confirming the instance to be empty.
{'classes': []}
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.