Guides → Playground & Guide → Embedding Cost - Indexing + Query Math for RAG

Embedding Cost - Indexing + Query Math for RAG

Meet Olivia Garrett. Solutions Engineer building a knowledge base RAG. "I have 500K docs to embed. Then ongoing query embedding. What does this actually cost?"

🔥 Spec said 'embeddings are basically free' - invoice came back $1,200.

The story

Embeddings are 10-30× cheaper than chat - but volume hides bills. OpenAI text-embedding-3-large: $0.13/1M tokens. text-embedding-3-small: $0.02/1M. Voyage 3: $0.12/1M. Cohere v3: $0.10/1M. At million-doc scale, the small numbers compound.

Olivia's 500K docs at ~1500 tokens each = 750M tokens to index. On text-embedding-3-small ($0.02/1M): $15 one-time. On text-embedding-3-large ($0.13/1M): $97. The shock came from re-embedding when she upgraded models - second pass was another $97. And ongoing query embeddings (1K queries/day × 100 tokens × $0.02/1M × 30 days): $0.06/mo. Negligible. So why $1,200? Because she had 4 fields per doc embedded separately and tested 3 models.

Three embedding cost levers. (1) Model choice - small vs large is 6× cost difference, often <5% quality difference. (2) Field strategy - embed one consolidated field, not 4 separate. (3) Re-embedding discipline - every model upgrade costs the full index again. Plan for it.

🎮 Playground

Embedding Cost Playground

Here are the inputs that move the result the most. Play with the sliders and check it out. The number updates live.

What will embeddings cost?

Embeddings are cheap. Indexing is a one-time cost amortized over a year; queries are ongoing. One rebuild/year assumed.

Estimated monthly cost

💡Monthly = (one-time index ÷ 12) + ongoing query embeddings. Corpus size sets indexing; queries/day set the ongoing trickle.

Three real scenarios

Same calculator, three team sizes. Click a tab to see how the numbers shift.

$0.40 / month ≈ $4.80 / year

Internal wiki, 10K docs. Indexing: $0.30. Ongoing: ~$0.50/mo. Annual re-index: $0.30. Total per year: <$10. Don't overthink.

Healthy range: <$5 indexing + ~$1/mo ongoing

See inputs used
totalDocsToIndex
10,000
tokensPerDoc
1,500
queriesPerDay
500
embeddingModelTier
balanced
rebuildsPerYear
1

Use cases

Same calculator, different applications. Sizes above, workloads here. Pick the one that looks like yours.

Pre-loaded scenarios for the most common applications. Click a tab to see realistic numbers, then hit "Try this scenario" to load it into the calculator above.

$36.25 / month ≈ $435.00 / year

Codebase indexing - small docs (~300 tokens), high query volume. 4 rebuilds/year (model + chunking iteration). Total ~$60/year. Real cost is the vector DB.

Healthy range: $30-80/year (high re-embed rate)

See inputs used
totalDocsToIndex
500,000
tokensPerDoc
300
queriesPerDay
100,000
embeddingModelTier
balanced
rebuildsPerYear
4

Ready to run the numbers?

Open the full calculator. Pick a model, enter your tokens, see per-call, daily, monthly, and annual cost.

🚀 Open the full calculator →

Embedding model providers right now

Verified 11 hours ago
  1. 1
    GPT-5 Mini
    $0.250 in · $2.00 out ·
  2. 2
    gpt-5.1-codex-mini
    $0.250 in · $2.00 out ·
  3. 3
    Command
    $1.00 in · $2.00 out ·

About this calculator: Embedding Cost - Indexing + Query Math for RAG

Embeddings are 10-30× cheaper than chat - but volume adds up. Index cost + query cost + re-embedding triggers. Real RAG pipeline math.

🎛 Inputs you control

Each input shapes the cost. Click an input on the calculator to set it. The explanations below match the live calculator field by field.

Number of documents: Total documents in your corpus to embed and index.
How to choose: Count what you index today; re-indexing frequency handles ongoing growth.
Avg tokens / doc: Average length of one document in tokens (chunk size times chunk count).
How to choose: About 750 words is ~1,000 tokens; use your real average, not the longest doc.
Re-indexing frequency: How often you re-embed the entire corpus from scratch.
How to choose: Match content churn: static docs rarely, fast-changing knowledge bases monthly or more.
Queries / month: Monthly retrieval queries; each query is embedded once before search.
How to choose: Use real query volume. Query-side cost dominates for high-traffic RAG.
Avg tokens / query: Average length of a user query string in tokens.
How to choose: Search queries are short, 20 to 100 tokens is typical.
Embedding model: The embedding model priced for indexing and queries.
How to choose: Balance dimensions (storage), MTEB retrieval quality, and dollars per 1M tokens.
Batch API: Use the provider async batch tier for indexing jobs.
How to choose: Enable when indexing can wait hours; typically ~50% cheaper (OpenAI).
📋 Typical values & starting points Don’t know a value yet? Start with these broad, sourced ballparks — the calculator’s ▾ Typical menus pre-load the same options.

Context: Embedding APIs Jul 2026: OpenAI 3-small $0.02/M tokens ($0.01 batch), 3-large $0.13/M; Voyage-4 $0.06 (lite $0.02); Cohere Embed v3 $0.10; Jina v3 $0.02; self-host BGE ~$0.001/M on spot GPU (crossover ~$500/mo API spend). Chunk overlap adds 11-25% billed tokens over raw corpus size.

Input Default Typical ballparks
totalDocsToIndex moves the needle 500,000 Team KB · 50K docs = 50,000 · Department · 500K docs = 500,000 · Enterprise · 5M docs = 5,000,000
tokensPerDoc moves the needle 1,500 Short (tickets/chats) · 500 = 500 · Typical (pages) · 1.5K = 1,500 · Long (reports) · 5K = 5,000
queriesPerDay moves the needle 5,000 Pilot · 500/day = 500 · Production · 5K/day = 5,000 · High-traffic · 50K/day = 50,000
rebuildsPerYear 1 Stable corpus · 1 = 1 · Evolving strategy · 2 = 2 · Active tuning · 4 = 4
embeddingModelTier balanced

Ballparks are broad industry starting points (sourced ranges; * = rough estimate) — your result gets more accurate as you replace them with measured numbers. Try them live in the calculator; API & agent users get the same data from the MCP resource aicost://input-reference/embedding-cost.

📊 CALCULATOR AT A GLANCE
Embedding Cost - Indexing + Query Math for RAG full size

Reading your result

Indexing is one-time but real. 750M tokens × $0.02/1M = $15. Sounds free. At 100M docs, becomes $300. At 1B docs, $3K. Plan for the magnitude.

Query embedding is essentially free. 5K queries/day × 100 tokens × $0.02/1M × 30 days = $3/mo. Don't optimize query embedding - focus on storage + retrieval.

Re-embedding is the surprise cost. Every model upgrade = full re-index. Budget for at least 1 re-embedding per year (vendors release new models). Two re-embeddings per year is normal during the optimization phase.

The bigger cost is downstream. Embedding cost is small. Vector DB storage + queries usually 10-50× more. Don't optimize the cheap line.

What "good" looks like:
  • Small embedding (text-embedding-3-small): $0.02/1M tokens - best for most cases
  • Mid embedding (Cohere v3): $0.10/1M - strong multi-language
  • Large (text-embedding-3-large): $0.13/1M - marginal quality gain on most workloads
  • Voyage 3: $0.12/1M - purpose-built for retrieval, often best quality

What this calculator can't tell you

Honest limitations. Every model is wrong; some are useful. Where this one falls short:

For these, use: Vector DB Cost for storage. RAG Pipeline for full architecture.

Trade-offs

Cost isn't the only dimension. Click any constraint to see how recommendations change.

What matters most to you? Click any dimension — recommendations update.

Best fit for "cost":

  1. text-embedding-3-small $0.02/1M - best default
  2. Cohere v3 $0.10/1M - multi-language strong
  3. Voyage 3 $0.12/1M - purpose-built retrieval

Default to small models for most workloads. Quality differences are modest (5-10% retrieval recall) for most use cases. Only go large/premium for specialized domains.

Most popular

Everything above is the 80% case. The last 20% is where the money is.

The gaps we just listed are real, and they are the expensive ones: your actual prompts, your switching cost, your MLOps overhead. An AICost expert spends the hour on your AI and cloud costs, not a generic playbook. You leave with a written report: the way forward, in 30 days of concrete steps.

  • An hour with the people who built the engines
  • Report the same day
  • The fee credits toward any AICost plan
  • Two slots a week
Book a Solution Session: $299 → or $99 for small business →

Not sure yet? The $39 AICost Blueprint credits toward a Session, and the Session fee credits toward any plan. You never pay twice for the same ground. See all pricing →

Ready to run your own numbers?

You have seen the shape of it. Open the calculator with your model, your tokens, your volume.

🚀 Open the full calculator →

Where to go next

Vector storage cost →

Pinecone, Weaviate, Qdrant, pgvector compared.

Full RAG architecture cost →

Embedding + storage + retrieval + LLM read.

RAG vs fine-tuning math →

When to fine-tune instead.

Methodology

Source
https://platform.openai.com/docs/guides/embeddings
Extraction
Per-vendor embedding pricing pulled daily.
Editorial gate
8-layer defense, see aicost.ai/ai-cost-economics
Last verified
7/27/2026, 8:00:00 PM

Author: Subu Vdaygiri, Founder & CEO of CloudIntelligence.ai. 17 years Fortune 100 (Ingram Micro, Siemens). Wharton CTO program · Kellogg CPO program · 10× AWS+Azure certified.

3 years of pricing history

Why this matters: pricing for major vendors has dropped 40-90% in the last 24 months. A budget set 12 months ago is probably wrong by 30%+.

View 3-year history for →
📖 Data sources & methodology 163 text models · 9 embeddings · 37 vision · 55 audio · 8 vector DBs across 10 vendor pages · last verified 2026-07-28

Methodology

  • All prices are USD per 1 million tokens, current as of 2026-07-28.
  • Vendor-published values have no mark. Inferred/extrapolated values are marked with * and listed below.
  • Batch API discounts are 50% off standard rates across providers that offer Batch mode.
  • Prompt caching discounts vary by provider (typically 80-90% off cached input tokens).
  • Regional data-residency surcharges (Anthropic 1.1x, OpenAI 1.1x, Google regional tiers) are NOT included in base rates.
  • Long-context pricing tiers apply when input exceeds model threshold.
  • Embedding prices are input-only (no output tokens generated).

Primary sources

Last-verified date is the most recent successful daily snapshot (aicost_pricing_snapshots) or, when no snapshot exists yet, the latest successful crawler run (aicost_crawler_runs). 10 of 10 vendors are currently verified. Aggregator services (TokenCost, AI Pricing Guru, etc.) are not listed.

Anthropic
2026-07-28
https://www.anthropic.com/pricing
Daily snapshot since Sep 2023 · 631 days captured
Anthropic Docs
2026-07-28
https://platform.claude.com/docs/en/about-claude/pricing
Daily snapshot since Sep 2023 · 631 days captured
OpenAI
2026-07-28
https://openai.com/api/pricing/
Daily snapshot since Sep 2023 · 632 days captured
Google AI
2026-07-28
https://ai.google.dev/gemini-api/docs/pricing
Daily snapshot since Dec 2023 · 607 days captured
Google Vertex
2026-07-28
https://cloud.google.com/vertex-ai/generative-ai/pricing
Daily snapshot since Dec 2023 · 607 days captured
DeepSeek
2026-07-28
https://api-docs.deepseek.com/quick_start/pricing
Daily snapshot since May 2024 · 546 days captured
xAI
2026-07-28
https://x.ai/api
Daily snapshot since Nov 2024 · 464 days captured
Mistral
2026-07-28
https://mistral.ai/pricing
Daily snapshot since Dec 2023 · 605 days captured
Cohere
2026-07-28
https://cohere.com/pricing
Daily snapshot since Sep 2023 · 631 days captured

Inferred values (marked with * in calculator tables)

Derived from industry conventions, not directly published by the vendor. Typical conventions: cached input = 10% of base (90% off), Batch API = 50% of base (50% off).

Vendor / Model Field Why it’s inferred
Anthropic — Claude Sonnet 4.6 cachedInput Derived at 10% of input rate — Anthropic publishes 90% cache-hit discount on this tier.
Anthropic — Claude Sonnet 4.5 cachedInput Derived at 10% of input rate; same 90% cache-hit convention as Sonnet 4.6.
Anthropic — Claude Sonnet 4.5 batchInput Derived at 50% of standard input — Anthropic documents uniform 50% Batch discount.
Anthropic — Claude Sonnet 4.5 batchOutput Derived at 50% of standard output — Anthropic documents uniform 50% Batch discount.
Anthropic — Claude Haiku 4.5 cachedInput Derived at 10% of input rate — Anthropic 90% cache-hit discount convention.
OpenAI — GPT-5.4 Mini cachedInput Derived at 10% of input — OpenAI documents automatic 90% discount on cache hits across GPT-5.x tier.
OpenAI — GPT-5.4 Nano cachedInput Derived at 10% of input — OpenAI 90% cache-hit convention.
OpenAI — GPT-5.4 Nano batchInput Derived at 50% of input — OpenAI Batch API uniform 50% discount.
OpenAI — GPT-5.4 Nano batchOutput Derived at 50% of output — OpenAI Batch API uniform 50% discount.
OpenAI — GPT-5.4 Pro cachedInput Derived at 10% of input — OpenAI 90% cache-hit convention.
OpenAI — GPT-5.4 Pro batchInput Derived at 50% of input — OpenAI Batch API uniform 50% discount.
OpenAI — GPT-5.4 Pro batchOutput Derived at 50% of output — OpenAI Batch API uniform 50% discount.
OpenAI — GPT-5.2 cachedInput Derived at 10% of input; no residency uplift.
OpenAI — GPT-5.2 batchInput Derived at 50% of input.
OpenAI — GPT-5.2 batchOutput Derived at 50% of output.
OpenAI — GPT-5 cachedInput Derived at 10% of input.
OpenAI — GPT-5 batchInput Derived at 50% of input.
OpenAI — GPT-5 batchOutput Derived at 50% of output.
OpenAI — GPT-5.5 Pro cachedInput Derived at 10% of input — OpenAI does not publish a cached rate for *-pro models; using the family convention.
OpenAI — GPT-5.5 Pro batchInput Derived at 50% of input.
OpenAI — GPT-5.5 Pro batchOutput Derived at 50% of output.
OpenAI — GPT-5.2 Pro cachedInput Derived at 10% of input — pro-tier convention.
OpenAI — GPT-5.2 Pro batchInput Derived at 50% of input.
OpenAI — GPT-5.2 Pro batchOutput Derived at 50% of output.
OpenAI — GPT-5.1 batchInput Derived at 50% of input.
OpenAI — GPT-5.1 batchOutput Derived at 50% of output.
OpenAI — GPT-5 Pro batchInput Derived at 50% of input.
OpenAI — GPT-5 Pro batchOutput Derived at 50% of output.
OpenAI — GPT-5 Nano cachedInput Derived at 10% of input.
OpenAI — GPT-5 Nano batchInput Derived at 50% of input.
OpenAI — GPT-5 Nano batchOutput Derived at 50% of output.
Google — Gemini 3 Flash cachedInput Derived at 10% of input — Google caching discount convention ~90%.
Google — Gemini 3.1 Flash-Lite cachedInput Derived at 10% of input — Google caching convention.
Google — Gemini 3.1 Flash-Lite batchInput Derived at 50% of input — Google Batch API uniform 50% discount.
Google — Gemini 3.1 Flash-Lite batchOutput Derived at 50% of output — Google Batch API uniform 50% discount.
Google — Gemini 2.5 Pro cachedInput Derived at 10% of input.
Google — Gemini 2.5 Flash cachedInput Derived at 10% of input.
Google — Gemini 2.5 Flash-Lite cachedInput Derived at 10% of input — Google caching convention.
Google — Gemini 2.5 Flash-Lite batchInput Derived at 50% of input — Google Batch API uniform 50% discount.
Google — Gemini 2.5 Flash-Lite batchOutput Derived at 50% of output — Google Batch API uniform 50% discount.
Google — Gemini 2.0 Flash cachedInput Derived at 25% of input per Google 2.0 family caching rates.
Google — Gemini 2.0 Flash batchInput Derived at 50% of input — Google Batch API uniform 50% discount.
Google — Gemini 2.0 Flash batchOutput Derived at 50% of output — Google Batch API uniform 50% discount.
Google — Gemini 2.0 Flash-Lite cachedInput Derived at 10% of input — Google caching convention.
Google — Gemini 2.0 Flash-Lite batchInput Derived at 50% of input — Google Batch API uniform 50% discount.
Google — Gemini 2.0 Flash-Lite batchOutput Derived at 50% of output — Google Batch API uniform 50% discount.
xAI — Grok 4 (legacy) cachedInput Extrapolated at 25% of base.

Pricing is cross-verified against the LiteLLM community registry when available. Daily snapshots are kept in aicost_pricing_snapshots; every change is logged to aicost_price_changelog with old & new values for full audit trail. Read the full methodology →