Skip to main content
Sift’s gRPC API handles high-frequency telemetry ingestion and real-time analysis. It uses Protocol Buffers to define services and messages for efficient, high-throughput communication. You can interact with it in multiple ways:
  • Directly using standard tools like grpcurl or by writing your own gRPC clients.
  • Using Sift’s pre-built client libraries, available for select programming languages to simplify setup.
Client libraries use gRPC interceptors to automate authentication and request handling. To authenticate a request directly, see Authenticate with the API.

Listing services from the command line

You can use grpcurl to explore Sift’s available gRPC services directly from the command line.
gRPC base URL and port: Do not include https:// in the base URL, use only the hostname. $PORT_NUM is always 443.

Official client libraries

Sift provides pre-built client libraries for Python, Rust, and Go, maintained as open source in the Sift GitHub repository. These libraries use the gRPC API internally. Supported languages:

Other languages

If your preferred language doesn’t yet have a dedicated client library, you can instead:

URL formatting for official gRPC clients

The required format for official gRPC API URLs depends on your client library. Some libraries require you to omit the URL scheme and port number, while others expect them to be included. Refer to the documentation of your chosen client library to confirm the expected URL format.
Port: The gRPC API uses port 443 by default in all environments.

Connect with an official client

Python

  1. Create a Python environment.
  2. In your Python environment (venv) install the Sift Python package:
  3. In your Python environment directory, create a file named main.py and paste the following code:
  4. In your Python environment directory, run the following command after replacing the placeholders ($SIFT_API_KEY and $SIFT_GRPC_BASE_URL) with your actual values:
See the Python client documentation for the full API reference.

Rust

  1. Create a Rust project.
  2. In your Rust project, add the sift_rs crate.
  3. In your Rust project, add the tokio runtime.
  4. Copy and paste the following into your my_sift_project/src/main.rs:
  5. In your Rust project directory, run the following command after replacing the placeholders ($SIFT_API_KEY and $SIFT_GRPC_BASE_URL) with your actual values:

Go

  1. Set up a dedicated directory and initialize it as a Go module using go mod:
  2. Use go get to fetch the Sift Go SDK and include it in your project:
  3. In the sift_go_project directory, create a main.go file and copy and paste the following into that file:
  4. Verify and tidy up your module dependencies:
  5. In your Go module, run the following command after replacing the placeholders ($SIFT_API_KEY, $SIFT_GRPC_BASE_URL, and $PORT_NUM) with your actual values: