Pricing

no

Original Documentation

Documentation Index#

Fetch the complete documentation index at: https://docs.trychroma.com/llms.txt Use this file to discover all available pages before exploring further.

Chroma Cloud uses a simple, transparent, usage-based pricing model. You pay for what you use across writes, reads, and storage-with no hidden fees or tiered feature gating.

Need an estimate? Try our pricing calculator.

Writes#

Chroma Cloud charges $2.50 per logical GiB written via an add, update, or upsert.

  • A logical GiB is the raw, uncompressed size of the data you send to Chroma-regardless of how it’s stored or indexed internally.
  • You are only billed once per write, not for background compactions or reindexing.

Forking#

  • Forking a collection costs $0.03 per fork request.
  • Forks are copy-on-write. You only pay for incremental storage written after the fork; unchanged data remains shared.
  • Forking is available on Chroma Cloud. Learn more on the Collection Forking page.

Reads#

Read costs are based on both the amount of data queried and the volume of data returned:

  • $0.0075 per TiB queried
  • $0.09 per GiB returned

How queries are counted:

  • A single vector similarity query counts as one query.
  • Each metadata or full-text predicate in a query counts as an additional query.
  • Full-text and regex filters are billed as (N - 2) queries, where N is the number of characters in the search string.

Example:

collection.query(
   query_embeddings=[[1.0, 2.3, 1.1, ...]],
   where_document={"$contains": "hello world"}
)
await collection.query({
    queryEmbeddings: [[1.0, 2.3, 1.1, ...]],
    whereDocument: { "$contains": "hello world" }
});
use chroma::types::{Key, QueryVector, RankExpr, SearchPayload};

let search = SearchPayload::default()
    .r#where(Key::Document.contains("hello world"))
    .rank(RankExpr::Knn {
        query: QueryVector::Dense(vec![1.0, 2.3, 1.1]),
        key: Key::Embedding,
        limit: 10,
        default: None,
        return_rank: false,
    })
    .limit(Some(10), 0);

let results = collection.search(vec![search]).await?;

For the query above (a single vector search and a 10-character full-text search), querying against 10 GiB of data incurs:

  • 10,000 queries × 10 units (1 vector + 9 full-text) = 100,000 query units
  • 10 GiB = 0.01 TiB scanned → 100,000 × 0.01 TiB × $0.0075 = **$7.50**

Storage#

Storage is billed at $0.33 per GiB per month, prorated by the hour:

  • Storage usage is measured in GiB-hours to account for fluctuations over time.
  • Storage is billed based on the logical amount of data written.
  • All caching, including SSD caches used internally by Chroma, are not billed to you.

Frequently Asked Questions#

We offer \$5 in credits to new users. Billing is account-based. All data across your collections and tenants within a Chroma Cloud account is aggregated for pricing. Yes. We offer a BYOC (bring your own cloud) option for single-tenant deployments. [Contact us](/cloud) for more details. No. You're only billed for the logical data you write and the storage you consume. Background jobs like compaction or reindexing do not generate additional write or read charges.
Link last verified June 7, 2026. View original ↗
Source: Chroma Docs
Link last verified: 2026-03-04