Skip to main content
Supermemory billing is usage-based USD credits. Plans include a monthly credit balance; metered product usage draws that balance down. You manage plan, invoices, top-ups, and auto top-up in the Developer Console. List prices and the public rate card also live on supermemory.ai/pricing. This page is the contract-level model: what we meter, when tokens are free (already seen), what an operation is, plan feature gates, and how to read usage programmatically.
Console charts are estimates. Invoice / customer-portal line items are authoritative.

Mental model

  1. You hold a USD credit balance (usd_credits).
  2. Product activity increments meters (tokens, queries, operations).
  3. Each meter unit multiplies by a USD-per-unit rate and debits the balance.
  4. Re-ingesting a document under the same id can reuse unchanged content — token charges follow added or changed text, not simply growth in the document’s total length.

Meters (what we count)

List rates (USD)

These match the console meter table (USD per unit; ×1000 ≈ price per 1K units): Rates can change; treat pricing + your invoice as source of truth.

Memory vs SuperRAG tokens

Ingestion is attributed by task type:
  • Memory (taskType: "memory") → sm_tokens_text / sm_tokens_rich
  • SuperRAG (taskType: "superrag") → sm_superrag_text / sm_superrag_rich
Text-like document types bill on the text meters; everything else bills as rich (OCR, video/audio, heavy extractors).

What is an operation?

sm_operations is the meter for discrete platform work that is not “how many tokens did we embed.” Examples include:
  • dreaming: "instant" extracts a document’s memories immediately instead of waiting for the next dynamic batch. It costs one extra operation per document on top of normal token metering. See processing modes.
  • Search add-ons: query rewriting (rewriteQuery), reranking and aggregation (v5 rerank: "order" / "aggregate", v3/v4 rerank, v4 aggregate) each add one operation when they run successfully. Failed or skipped add-ons do not necessarily charge an operation.
  • Query-based POST /v4/memories/forget-matching adds one operation per search round, up to five, including dryRun previews. Applying an explicit ids list bypasses that query-operation charge.
Search is primarily metered as sm_search_queries (one unit per gated search/profile request). Prefer thinking of operations as extra platform work, not as a synonym for “API call.”

Search and profile

Blocking metered cloud calls can return 402 (payment required) when the applicable balance or quota is exhausted. Billing exclusions, unlimited contracts, disabled billing, and gate configuration can differ. The current v5 profile route does not install a search-query billing gate; this is not a guarantee of future pricing.

Reusing unchanged content (diff billing)

This is the most important cost control in production agents.

How it works

When you re-add content under the same id (same org / document identity), the pipeline:
  1. Loads the document’s active chunks and plans the updated content.
  2. Reuses unchanged chunks where possible.
  3. Meters newly appended text on an append path, or added replacement chunks on a replace path.
This is not a subtraction of the old total token count from the new one. A same-length replacement can still incur charges if its content changed; an identical replacement can reuse its chunks without new token charges. Chunk boundaries and overlap can also affect the billable delta. Stable IDs let long-lived conversations and repeated document syncs reuse unchanged work rather than billing the whole history every time. Operation surcharges can still apply.

Requirements

Practical patterns

Connectors use stable IDs (e.g. Drive file id, Gmail thread id, s3://bucket/key), so re-syncs can reuse unchanged content. Changed replacement chunks can still incur token charges.

What is not free

  • First ingest of content still bills full token count
  • Gated searches still bill the query meter every call; legacy v4 profile does so only with a non-blank q. The current v5 profile implementation does not charge this meter.
  • Instant dreaming still bills the operation surcharge when used
  • Brand-new id = brand-new document = full tokens

Credits and balance behavior

Plan credit inclusion (approximate)

Legacy product IDs (memory_free, memory_starter, memory_growth, memory_enterprise) still resolve for existing customers.

Plans and feature access

Usage meters are shared; feature gates differ by tier.

Plan summary

Feature availability

Coding plugins are available on every plan, including Free. Their API usage still consumes your plan’s credits at the applicable rates. PDF uploads use the extraction tier available to your organization automatically; no extra API parameter is required. On plans without advanced extraction, uploads still use standard extraction rather than returning a feature-gate error. Advanced extraction can also fall back to standard extraction if needed. This tier distinction applies to PDFs, not all supported file types. Overrides can be applied per org in metadata (featureOverrides) for enterprise deals.

HTTP behavior when gated

  • 403 — plan too low for a feature (e.g. connector not on Free)
  • 402 — quota / credits exhausted for a metered call (search, tokens, etc.)

Programmatic access

Scoped API keys cannot read billing (403). GET /v3/auth/billing and POST /v3/auth/billing/auto-topups also require an org admin or owner. Base: https://api.supermemory.ai
Auth: Authorization: Bearer YOUR_API_KEY

Summary — plan + high-level usage

GET /v3/auth/billing
Typical fields:
CLI:

Feature breakdown (Autumn features)

GET /v3/auth/billing/usage Returns per-feature used / limit / unit for the org’s Autumn customer features (including usd_credits, token meters, search, operations), plus period bounds when available.

Meter events (day × feature)

GET /v3/auth/billing/usage-events Optional query: ?start=<ISO>&end=<ISO> to override the billing period.
Response includes byFeature, byDay, memoryTotal, superragTotal, period start/end.

Auto top-up config

Invoices

GET /v3/auth/billing/invoices

Product / request analytics (not the same as USD meters)

For request volume, errors, and per-key traffic (ops monitoring, not USD ledger): GET /v3/analytics/usage?period=24h|7d|30d See Analytics.

TypeScript sketch


Cost control checklist (production)

  1. Always set a stable id on conversations and docs so re-sync is free on old tokens.
  2. Prefer session-level conversation documents over one-line micro-adds (better memory and less wasted processing).
  3. Use dreaming: "instant" only when you need immediate memory (extra operation); default "dynamic" batches extraction.
  4. Cache profiles short-TTL in your app if you call them every turn.
  5. Scope with a namespace so you can delete/export a tenant without scanning the org.
  6. Configure auto top-up purchase limits on paid plans and monitor usage separately. These limits do not cap the entire invoice.
  7. Pull /v3/auth/billing/usage-events into your own FinOps dashboard for per-day Memory vs SuperRAG spend.