Connect to Weaviate Cloud
Weaviate Cloud (WCD) offers multiple options on how to connect to your cluster:
- Connect with APIs:
- Use client libraries to connect to a Weaviate Cloud instance.
- Use a tool, such as cURL, to connect to the REST API.
- Open the Weaviate Cloud console:
- Login to manage your clusters, users, and billing.
- Use built-in tools to work with your data.
Connect with an API programmatically
Section titled “Connect with an API programmatically”The guide below applies to clusters that have RBAC (Role-Based Access Control) enabled. New clusters with Weaviate version v1.30 (or later) have RBAC enabled by default.
Retrieve your API key and REST endpoint
Section titled “Retrieve your API key and REST endpoint”When connecting to a Weaviate Cloud cluster, you need an API key and the REST endpoint URL for authentication.
If you don't have an existing API key, you'll need to create one. Follow these steps to find the API keys section and create a new key if necessary:
Steps to create a new API key
- Open the Weaviate Cloud console and select your cluster.
- Navigate to the
API Keyssection, found in theCluster detailspanel. - If you need a new API key, click the
New keybutton. - In the
Create API Keyform, provide a descriptive name for your key. - Choose the role for this API key. You can either select an existing role like
adminorviewer, or create a new role with specific permissions. - Click the
Create keybutton. - Important: This is the only time your API key will be displayed. Make sure to copy it or download it and store it in a secure location immediately after creation. You will not be able to retrieve the full key again.
Steps to retrieve your REST Endpoint
- On the
Cluster detailspage or within the API Keys section, find theREST EndpointURL. - Copy the
REST EndpointURL and store it securely.
Environment variables
Section titled “Environment variables”Do not hard-code your API key and Weaviate URL in your client code. Consider passing them as environment variables or using a similar secure coding technique.
export WEAVIATE_URL="replaceThisWithYourRESTEndpointURL"
export WEAVIATE_API_KEY="replaceThisWithYourAPIKey"Connection example
Section titled “Connection example”To connect, use the REST Endpoint URL and the Admin API key:
import weaviatefrom weaviate.classes.init import Authimport os# Best practice: store your credentials in environment variablesweaviate_url = os.environ["WEAVIATE_URL"]weaviate_api_key = os.environ["WEAVIATE_API_KEY"]client = weaviate.connect_to_weaviate_cloud( cluster_url=weaviate_url, auth_credentials=Auth.api_key(weaviate_api_key),)print(client.is_ready()) # Should print: `True`client.close() # Free up resourcesimport weaviate, { WeaviateClient } from 'weaviate-client';// Best practice: store your credentials in environment variablesconst weaviateUrl = process.env.WEAVIATE_URL as string;const weaviateApiKey = process.env.WEAVIATE_API_KEY as string;const client: WeaviateClient = await weaviate.connectToWeaviateCloud( weaviateUrl, // Replace with your Weaviate Cloud URL { authCredentials: new weaviate.ApiKey(weaviateApiKey), // Replace with your Weaviate Cloud API key });var clientReadiness = await client.isReady();console.log(clientReadiness); // Should return `true`client.close(); // Close the client connection// Set these environment variables// WEAVIATE_HOSTNAME your Weaviate instance hostname// WEAVIATE_API_KEY your Weaviate instance API keypackage mainimport ( "context" "fmt" "os" "github.com/weaviate/weaviate-go-client/v5/weaviate" "github.com/weaviate/weaviate-go-client/v5/weaviate/auth")func main() { cfg := weaviate.Config{ Host: os.Getenv("WEAVIATE_HOSTNAME"), Scheme: "https", AuthConfig: auth.ApiKey{Value: os.Getenv("WEAVIATE_API_KEY")}, } client, err := weaviate.NewClient(cfg) if err != nil { fmt.Println(err) } // Check the connection ready, err := client.Misc().ReadyChecker().Do(context.Background()) if err != nil { panic(err) } fmt.Printf("%v", ready)}// Best practice: store your credentials in environment variablesString weaviateUrl = System.getenv("WEAVIATE_URL");String weaviateApiKey = System.getenv("WEAVIATE_API_KEY");WeaviateClient client = WeaviateClient.connectToWeaviateCloud( weaviateUrl, // Replace with your Weaviate Cloud URL weaviateApiKey // Replace with your Weaviate Cloud key);System.out.println(client.isReady()); // Should print: `True`client.close(); // Free up resources// Best practice: store your credentials in environment variablesstring weaviateUrl = Environment.GetEnvironmentVariable("WEAVIATE_URL");string weaviateApiKey = Environment.GetEnvironmentVariable("WEAVIATE_API_KEY");WeaviateClient client = await Connect.Cloud(weaviateUrl, weaviateApiKey);// GetMeta returns server info. A successful call indicates readiness.var meta = await client.IsReady();Console.WriteLine(meta);# Best practice: store your credentials in environment variables
# export WEAVIATE_URL="YOUR_INSTANCE_URL" # Your Weaviate instance URL
# export WEAVIATE_API_KEY="YOUR_API_KEY" # Your Weaviate instance API key
curl -w "\nResponse code: %{http_code}\n" \
-H "Authorization: Bearer $WEAVIATE_API_KEY" \
$WEAVIATE_URL/v1/.well-known/ready
# You should see "Response code: 200" if the instance is readyOpen the Weaviate Cloud console
Section titled “Open the Weaviate Cloud console”The Weaviate Cloud console uses your email address and password for authentication. You create the password when you create your Weaviate Cloud account.
To connect to the console, follow these steps:
- Open the Weaviate Cloud login page in a browser.
- Enter your email address and click
Continue. - Enter your password and click
Login.
Once you are logged in, the console has built-in tools for working with your data:
- The Explorer tool browses a collection and runs keyword, semantic, hybrid, and aggregation searches, without writing a query.
- The Collections tool creates, configures, and deletes collections.
- The Query Agent answers natural language questions about your data.
Troubleshooting
Section titled “Troubleshooting”This section has solutions for some common problems. For additional help, contact support.
Reset your password
Section titled “Reset your password”To reset your Weaviate Cloud password, follow these steps:
- Go to the Weaviate Cloud login page.
- Click the login button.
- Click
Forgot Password. - Check your email account for a password reset email from Weaviate Cloud.
- Click the link and follow the instructions to reset your password. The link is only valid for five minutes.
Connection timeouts
Section titled “Connection timeouts”The new Python client uses the gRPC protocol to connect to Weaviate Cloud. The gRPC protocol improves query performance, but the protocol is sensitive to network speeds. If you run into timeout errors, increase the connection timeout value in your connection code.
from weaviate.classes.init import AdditionalConfig, Timeout, Auth
import weaviate
# Set these environment variables
URL = os.getenv("WEAVIATE_URL")
APIKEY = os.getenv("WEAVIATE_API_KEY")
# Connect to Weaviate Cloud
client = weaviate.connect_to_weaviate_cloud(
cluster_url=URL,
auth_credentials=Auth.api_key(APIKEY),
additional_config=AdditionalConfig(timeout=Timeout(init=10)),
)
# Check connection
client.is_ready()Alternatively, leave the default timeout values, but skip the initial connection checks.
import weaviate
from weaviate.classes.init import Auth
# Set these environment variables
URL = os.getenv("WEAVIATE_URL")
APIKEY = os.getenv("WEAVIATE_API_KEY")
# Connect to Weaviate Cloud
client = weaviate.connect_to_weaviate_cloud(
cluster_url=URL,
auth_credentials=Auth.api_key(APIKEY),
skip_init_checks=True,
)
# Check connection
client.is_ready()gRPC health check error
Section titled “gRPC health check error”Problem: gRPC returns a health check error after you update a Shared Cloud cluster.
weaviate.exceptions.WeaviateGRPCUnavailableError: gRPC health check could not be completed.Solution: Verify the cluster URL is correct and update the URL if needed.
When a Shared Cloud cluster is updated, the cluster URL may change slightly. Weaviate Cloud still routes the old URL, so some connections continue to work. However, the new gRPC URL and the old HTTP URL are different, so connections that require gRPC fail.
To check the URLs, open the Weaviate Cloud Console and check the details panel for your cluster. If you prefix Cluster URL with grpc-, the Cluster URL and the Cluster gRPC URL should match. Compare the Cluster URL with the connection URL in your application. The old URL and the new URL are similar, but the new one may have an extra subdomain such as .c0.region. If the URLs are different, update your application's connection code to use the new Cluster URL.
More resources
Section titled “More resources”To authenticate with a Weaviate client library, see the following:
Support
Section titled “Support”If you use Weaviate Cloud (Database cluster(s) or Weaviate product in the cloud) or have a self-hosted support package, open a ticket in the Support Portal or email Weaviate support directly. To add a support plan, contact Weaviate sales.
Use the Support Portal for direct help from the Weaviate team: open and track tickets, and we'll respond in line with your support plan. The Community Forum is open to everyone, and a great place to ask questions, get help with your cluster, and connect with other developers. For all the ways to get help, see the Support overview.