Connectors overview

The built-in connectors that move data in and out of a CocoIndex flow — object stores, message streams, and relational, vector, and graph databases. Many work as a source, a target, or both.

Version
v 1.0.14
Last reviewed
Nov 4, 2026
ExperimentalThe Rust SDK is experimental. It is outside CocoIndex's compatibility promise: any release, including a minor one, may change or remove its API. It is not yet published on crates.io.

A connector links a CocoIndex flow to an external system. It plays one or both of two roles:

  • As source — imports rows into a flow, with change capture so only what actually changed is reprocessed.
  • As target — exports target states from a flow and keeps the external system in sync via incremental upserts and deletions.

Some connectors do both. Each page documents the APIs for whichever roles the system supports, under ## As source / ## As target sections.

Each connector lives in cocoindex::connectors::<name> behind a Cargo feature of the same name: cocoindex::connectors::postgres needs the postgres feature, cocoindex::connectors::qdrant the qdrant feature, and so on. Two names differ: the Google Drive source is cocoindex::connectors::gdrive behind the google_drive feature, and the local filesystem connector is cocoindex::resources::fs, which is always compiled (its live watch needs the fs_live feature).

Different from Python

The Discord source is Python-only: the Rust SDK has no Discord connector, so this page does not list it. See the Python Discord connector.

Sources

Connectors that feed rows into a flow.

ConnectorAlso a targetReads from
Local filesystem✅Local files and directories, with live watch mode
Amazon S3S3 buckets and S3-compatible stores (MinIO, Tigris)
Azure Blob StorageAzure Blob Storage containers
Google DriveGoogle Drive folders, via a service account or a personal account signed in with OAuth
OCI Object StorageOracle Cloud object storage, driven by OCI Streaming events
Postgres✅PostgreSQL tables via read_table
Kafka✅Topics as live keyed maps or raw event streams
Iggy✅Apache Iggy topics as live streams or maps

Targets

Connectors that export data out of a flow. They’re grouped by the kind of store, but most also handle vector search.

Relational and analytical

ConnectorAlso a sourceNotes
Postgres✅Relational database with pgvector (ivfflat / hnsw)
Apache DorisAnalytical database, HNSW/IVF vector + inverted full-text indexes
SQLiteEmbedded database, optional vector search via sqlite-vec
SnowflakeCloud data warehouse — managed DDL, MERGE upserts, incremental deletes
BigQueryCloud data warehouse with managed DDL, MERGE upserts, incremental deletes

Vector databases

ConnectorNotes
LanceDBEmbedded vector DB, vector + full-text (FTS) indexes
QdrantSingle, named, and multi-vector points with schemaless payloads
TurbopufferNamespaces with single or named vectors
ValkeySearch indexes with vector similarity (HNSW / FLAT)
zvecEmbedded, in-process vector DB with dense and sparse vectors

Property graph

ConnectorNotes
Neo4jProperty graph over Bolt — node and relationship tables, vector indexes
FalkorDBRedis-backed Cypher graph, per-graph multitenancy, vector indexes
SurrealDBMulti-model — normal and relation (edge) tables, vector indexes

Message streams

ConnectorAlso a sourceNotes
Kafka✅Produce messages as target states with at-least-once semantics
Iggy✅Produce messages to Apache Iggy topics

Beyond the built-ins

If you need a system that isn’t listed here, implement a custom target connector as a building block of your flow.