QuestDB provides official client libraries for multiple programming languages to ingest data using the InfluxDB Line Protocol (ILP). These clients are optimized for high-throughput, low-latency ingestion.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/questdb/questdb/llms.txt
Use this file to discover all available pages before exploring further.
Available clients
Java
io.questdb.client.Sender for JVM applications
Python
questdb.ingress.Sender for Python applications
Node.js
@questdb/nodejs-client for JavaScript/TypeScript
Go
questdb-client-go for Go applications
Rust
questdb-rs for Rust applications
C/C++
line_sender API for C/C++ applications
.NET
QuestDB.Net for .NET applications
Comparison
| Language | Package | Protocol | Transport | Authentication |
|---|---|---|---|---|
| Java | io.questdb.client:questdb-client | ILP | TCP/HTTP | ✓ |
| Python | questdb | ILP | TCP/HTTP | ✓ |
| Node.js | @questdb/nodejs-client | ILP | TCP/HTTP | ✓ |
| Go | github.com/questdb/go-questdb-client | ILP | TCP/HTTP | ✓ |
| Rust | questdb-rs | ILP | TCP | ✓ |
| C/C++ | questdb.h | ILP | TCP/HTTP | ✓ |
| .NET | QuestDB.Net | ILP | TCP | ✓ |
Features
All clients support:- Auto-flush: Automatic batching and flushing
- Error handling: Comprehensive error reporting
- Type safety: Strong typing for fields and timestamps
- Authentication: Elliptic curve authentication
- Connection pooling: Efficient connection management
Default configuration
- Host: localhost
- Port: 9009 (TCP), 9000 (HTTP)
- Auto-flush: Enabled (varies by client)
- Buffer size: 64KB-128KB (varies by client)
Choosing a client
- High throughput
- Ease of use
- Systems programming
Use Java or C/C++ clients for maximum performance (millions of rows/second).
Next steps
Installation
Install your preferred client library
ILP Reference
Learn about the InfluxDB Line Protocol