Elasticsearch indexes everything in memory and local disks. That is fast but expensive — storing months of logs costs thousands per month. Quickwit indexes on object storage (S3, GCS), cutting costs by 90% while keeping search fast.
What Is Quickwit?
Quickwit is an open-source search engine for logs and traces. It stores indexes on object storage (S3, GCS, Azure Blob) instead of local disks, dramatically reducing infrastructure costs. It is Elasticsearch-compatible and can serve as a drop-in replacement for log analytics.
The Free Tool
Quickwit is completely free and open source:
- Object storage: Indexes live on S3/GCS (pennies per GB)
- Elasticsearch-compatible: ES-compatible API and query syntax
- Sub-second search: Fast despite storage on S3
- Schema-on-write: Structured and unstructured log search
- OpenTelemetry: Native OTLP trace ingestion
- Kafka integration: Ingest from Kafka topics
- Grafana plugin: Query from Grafana dashboards
- Jaeger integration: Distributed trace UI
Quick Start
Run Quickwit:
curl -L https://install.quickwit.io | sh
quickwit run
Create an index:
curl -X POST http://localhost:7280/api/v1/indexes \
-H 'Content-Type: application/yaml' \
--data-binary '
version: 0.8
index_id: app-logs
search_settings:
default_search_fields: [message, level]
doc_mapping:
field_mappings:
- name: timestamp
type: datetime
fast: true
input_formats: [iso8601]
- name: level
type: text
tokenizer: raw
- name: message
type: text
- name: service
type: text
tokenizer: raw
timestamp_field: timestamp
indexing_settings:
merge_policy:
type: stable_log
'
Ingest logs:
curl -X POST http://localhost:7280/api/v1/app-logs/ingest \
-H 'Content-Type: application/json' \
--data-binary '
{"timestamp":"2026-03-28T10:00:00Z","level":"ERROR","message":"Connection refused to database","service":"api"}
{"timestamp":"2026-03-28T10:00:01Z","level":"INFO","message":"Retry successful","service":"api"}
'
Search:
# Quickwit query syntax
curl 'http://localhost:7280/api/v1/app-logs/search?query=level:ERROR+AND+service:api&max_hits=10'
# Elasticsearch-compatible endpoint
curl -X POST 'http://localhost:7280/api/v1/_elastic/app-logs/_search' \
-d '{"query":{"bool":{"must":[{"match":{"level":"ERROR"}},{"range":{"timestamp":{"gte":"2026-03-28"}}}]}}}'
Why Teams Choose Quickwit
A SaaS company stored 6 months of logs in Elasticsearch: 12TB of data on 6 high-memory instances costing $4,200/month. After migrating to Quickwit backed by S3, the same data costs $140/month in S3 storage plus $200/month for a small compute instance. Search is slightly slower (2s vs 500ms) but perfectly acceptable for log analysis.
Who Is This For?
- Platform teams drowning in Elasticsearch costs for logs
- Companies needing long-term log retention without breaking the bank
- DevOps teams wanting OpenTelemetry-native log storage
- Anyone spending too much on log infrastructure
Start Saving on Logs
Quickwit gives you Elasticsearch-compatible search at object storage prices. Same queries, 90% less cost.
Need help with observability infrastructure? I build custom logging solutions — reach out to discuss your project.
Found this useful? I publish daily deep-dives into developer tools and APIs. Follow for more.
Top comments (0)