AnythingLLM's software is free — the Desktop app is a $0 download and the self-hosted Docker edition is free under the project repository's MIT licence — so "AnythingLLM pricing" in practice means two bills nobody publishes: an optional hosting or licence subscription, and the model API tokens you bring yourself. The only official price list, anythingllm.com/cloud, prices hosting and says so in its own bullet: "Just bring an LLM API Key". Note that anythingllm.com/pricing is not a real page — it redirects to that same cloud page.
This guide separates the three layers: what AnythingLLM charges, what runs up the token bill, and which provider route wins for which workload. Every figure is sourced and dated, and the arithmetic is labelled as arithmetic.
Two different things are called "the AnythingLLM API"
Settle this before comparing prices, because the two have nothing to do with each other.
In AnythingLLM's own documentation, the API is the local developer and management API your instance serves at /api/docs — create workspaces, upload documents, chat with a workspace — authenticated by a key you generate inside your own instance. It has no price, because it is your server talking to itself.
The API a buyer searching "best API for AnythingLLM" almost always means is the upstream model endpoint that goes in the Base URL field of the chat provider. That one has a per-token price, and it is the only part of an AnythingLLM deployment that scales with use. Everything below is about the second one.
What AnythingLLM itself charges
| Product | Published price | What you get, and what it excludes |
|---|---|---|
| Desktop (macOS / Windows / Linux) | $0 | Free download. Ships a built-in local LLM engine and a built-in local embedder |
| Self-hosted Docker | $0, MIT | "Self-host with Docker for free". You pay for the machine and whatever model API you point at it |
| Desktop Pro — annual | $15/month, billed annually ($180/yr) | Unlimited daily use of three OS-wide Magic features plus watermark-free documents. Zero model tokens |
| Desktop Pro — monthly | $20/month | Same features, 14-day free trial, no annual commitment |
| Cloud — Basic | $50/month | Private instance, custom subdomain, "Just bring an LLM API Key". Hosting only |
| Cloud — Pro | $99/month | Priority resources and a 72-hour support SLA. Still hosting only |
| Cloud — Enterprise | Contact Us | On-premise deployment, SSO and RBAC. No published price |
| Mobile (Android) | Not published | The mobile documentation contains no pricing statement; this page did not check the store listing |
| Community Hub | No price published | Public items need no Connection key; only pulling private ones does. Still in beta |
Cloud prices read from anythingllm.com/cloud on September 19, 2026. Desktop Pro's numbers need a caveat: they come from the checkout screenshot AnythingLLM embeds in its own documentation, because the live Mintplex Labs checkout sits behind a bot challenge that was not bypassed. That image carries its own caveat — the price "does not reflect any promotions, eligible free trials, or coupons applied at checkout". Treat $15/$20/$180 as AnythingLLM's published figure and confirm the number in checkout before you buy.
Two traps around the word "Pro". Cloud Pro at $99 is not Desktop Pro. They are separate products, and several third-party summaries quote the hosting price as the desktop licence. And Desktop Pro is narrower than its name suggests: AnythingLLM's Pro overview states that "AnythingLLM Desktop will and forever will be free to use for 99% of our features" and that Pro "simply removes those daily limits" on Magic features. It gates no chat, no RAG, no agents and no model access. The free daily allowance for each Magic feature is described only as "generous" — no number is published, so none is quoted here. Separately, Magic Tab and Magic Beacon are macOS and Windows only; the Beacon page puts Linux as "Not currently supported".
One more disambiguation: unrelated publishers resell AnythingLLM VM images on the Microsoft and AWS marketplaces with their own hourly rates. Those listings are not published by Mintplex Labs and their prices are not AnythingLLM pricing. This page did not read their numbers — the marketplace pages returned 403 — so none appear here.
What none of those prices include
Not one AnythingLLM plan includes model tokens, and the Cloud plans are explicit about it. The Cloud limitations page states that "AnythingLLM hosted cloud does not ship with a built-in LLM you can use like in our desktop instance" — so a Cloud subscriber has to bring an external endpoint, which makes the $50 or $99 a floor rather than a total. The same page warns that the built-in embedder "will not block you from trying to embed a 5,000pg PDF, but it will crash your instance", and that custom agents are unsupported on hosted Cloud.
Desktop Pro is the same story in miniature. Its Magic Tab documentation says suggestion generation is "done on device using your configured LLM provider and model", so a Pro subscription buys no inference — it buys the removal of a daily cap on features that then spend your own token budget.
The genuine zero-token path exists and is Desktop-only: the built-in provider runs a local model using Ollama's MIT-licensed engine, marked "DESKTOP ONLY!" in the docs. If a local model answers your documents well enough, that half of the bill is $0 forever.
Where the token bill actually comes from
An AnythingLLM bill has two independent halves, billed by two separate providers you configure separately.
Intake is one-off: every document is split into chunks and embedded once. Chat is recurring: every turn resends a system prompt, the replayed history, the retrieved chunks and the question. The recurring half is the one that matters, and the shipped defaults are what size it.
| Shipped default | Value | What it multiplies |
|---|---|---|
| Text chunk size | 1,000 characters (~250 tokens) | The size of every chunk retrieved from those documents, until they are deleted and re-embedded |
| Chunk overlap | 20 characters | How much duplicate text lands in the index |
Retrieved chunks (topN) | 4 | Grounding context per turn |
| Chat history | 20 messages | Replayed input per turn — usually the largest term |
| Similarity threshold | 0.25 | How many chunks clear the bar at all |
Chunk size and overlap come from the text splitting documentation, which also gives the ~4 characters per token conversion used above, names LangChain's RecursiveCharacterTextSplitter as the only strategy, and warns that changes apply only to documents embedded afterwards. The other three are read from the shipped Prisma schema (topN 4, openAiHistory 20, similarityThreshold 0.25), which is authoritative. One conflict to know about: AnythingLLM's RAG page says "4-6 text chunks", but that page self-identifies as legacy documentation superseded in v1.8.5. The schema default is 4, and it is user-adjustable.
The expensive mistake here is not a setting at all. Attaching a document is not the same as embedding it. AnythingLLM's document chat introduction says that by default it "will insert the full text of your documents into the chat window", and that if you exceed the context window while adding documents it asks whether to chunk them instead — that is, to embed them. Until you take that offer, the attached path resends the whole document on every turn instead of four chunks, and the cost difference is an order of magnitude — quantified below.
The embedding half, and the part Kunavo does not serve
Be direct about this: Kunavo has no embedding model enabled. kunavo.com/llms.txt states that the /v1/embeddings wire format is implemented but no embedding model is listed today, and it tells agents not to recommend Kunavo for embeddings; the same is true of speech-to-text and text-to-speech (checked September 19, 2026). Because AnythingLLM's embedder is a separate provider from the chat model, set system-wide rather than per workspace, chat compatibility never implies embedding compatibility. Run the intake half locally or against a dedicated embedding vendor.
The cheapest option for that half is also the default. AnythingLLM's built-in embedder is all-MiniLM-L6-v2, a 25MB CPU model that needs about 2GB of RAM and is primarily trained on English. It costs nothing per document. If you need a hosted embedder instead, AnythingLLM publishes its own cost anchor in pages per dollar.
| Embedding option | ~Pages per dollar | Max input |
|---|---|---|
| Built-in local (all-MiniLM-L6-v2) | No per-page charge | Runs on your own CPU |
| text-embedding-3-small | 62,500 | 8,191 |
| text-embedding-ada-002 | 12,500 | 8,191 |
| text-embedding-3-large | 9,615 | 8,191 |
Kunavo does not serve this step and quotes no price for it — every rate in that table is billed directly to OpenAI, on OpenAI's own account. The pages-per-dollar figures are AnythingLLM's own, from its OpenAI embedder page (checked September 19, 2026); the same page notes the app shows a price estimate before it runs. They are consistent with OpenAI's published rates of $0.02, $0.10 and $0.13 per million tokens respectively. At the top row, a 500-page intake is roughly $0.008 — which is the real point: the intake half is almost never where an AnythingLLM bill lives.
The one exception is re-indexing. The embedder overview warns that once you start embedding "it is best to not change it", because switching means deleting and re-embedding every document. Budget a re-index as a repeat of the intake cost, and remember that a local embedder makes that repeat free.
The chat half: one provider, two expensive defaults
An OpenAI-compatible endpoint that AnythingLLM ships no named integration for enters through the provider literally named Generic OpenAI. Its setup page warns that this is "a developer-focused llm provider - you should not use it unless you know what you are doing", and describes it as the way to reach "any LLM provider that we do not explicitly integrate with". Check the provider list first: several OpenAI-shaped services have named providers with their own base-URL fields in the shipped .env.example — LM Studio, LocalAI, LiteLLM, KoboldCpp and Text Generation WebUI among them — and those keep their own defaults rather than the generic ones below.
| UI field | Environment key | Why it matters for cost |
|---|---|---|
| Base URL | GENERIC_OPEN_AI_BASE_PATH | Passed verbatim to the OpenAI SDK, so the /v1 suffix is required even though the placeholder omits it |
| API Key | GENERIC_OPEN_AI_API_KEY | Your gateway or vendor key |
| Selected Model | GENERIC_OPEN_AI_MODEL_PREF | No pre-flight validation — the check always returns true, so a typo fails at call time |
| Model context window | GENERIC_OPEN_AI_MODEL_TOKEN_LIMIT | Assumed 4096 when empty. History, system and user budgets are then computed against a fictional window |
| Max Tokens | GENERIC_OPEN_AI_MAX_TOKENS | Defaults to 1024, which truncates long answers until raised |
Field names and defaults read from AnythingLLM's shipped server/.env.example and the Generic OpenAI provider source on master, September 19, 2026 — the MAX_TOKENS key is in the source only, not in .env.example. Two extras: GENERIC_OPEN_AI_CUSTOM_HEADERS, documented in .env.example for gateways that need additional headers, and GENERIC_OPENAI_STREAMING_DISABLED in the provider source, which forces non-streaming responses.
# CHAT ONLY. Key names from AnythingLLM's server/.env.example, except
# GENERIC_OPEN_AI_MAX_TOKENS, which appears only in the provider source.
LLM_PROVIDER='generic-openai'
# The value is handed straight to the OpenAI SDK as baseURL, so /v1 is required.
# The UI placeholder ("eg: https://proxy.openai.com") omits it. Include it anyway.
GENERIC_OPEN_AI_BASE_PATH='https://api.kunavo.com/v1'
GENERIC_OPEN_AI_API_KEY='sk-kn-...'
# Any string is accepted here: the provider's pre-flight check always returns
# true, so a typo fails at call time rather than at save time.
GENERIC_OPEN_AI_MODEL_PREF='claude-sonnet-4-6'
# Leave this empty and AnythingLLM assumes 4096 — not your model's real window —
# then budgets history and context against that made-up number.
GENERIC_OPEN_AI_MODEL_TOKEN_LIMIT=1000000
# Defaults to 1024, which truncates long answers until you raise it.
GENERIC_OPEN_AI_MAX_TOKENS=8192One boundary to plan around, stated narrowly. AnythingLLM's native Anthropic provider builds its SDK client with an API key and default headers only: it passes no base URL, and AnythingLLM exposes no Base URL field and documents no override for that provider. That is as far as AnythingLLM's own surface goes — it is not a statement that the traffic cannot be redirected, because the Anthropic TypeScript SDK it constructs defaults its baseURL to process.env.ANTHROPIC_BASE_URL, so that server-process variable still reaches it. AnythingLLM neither documents nor supports that, so treat it as undocumented rather than as a route: the supported way in for a third-party endpoint is Generic OpenAI over chat completions.
The caching consequence is equally narrow. ANTHROPIC_CACHE_CONTROL is the switch that makes the native provider stamp a cache_control marker on the system prompt, and nothing on the Generic OpenAI path sends that marker — so a route whose protocol requires the client to ask for caching gets no cache hit through it. That says nothing about endpoints that cache automatically without a client marker; whether yours does is a question for your provider's own documentation. Prompt caching covers what the lever is worth where a route does support it.
Two further limits worth knowing before you budget. Vision and attachment support on this provider is best-effort — the source states in a comment that it assumes a genuinely OpenAI-shaped content array and will not be updated for providers that differ. And image generation has no generic base-URL option: the image generation page documents four named providers — OpenAI, OpenRouter, Ollama and Lemonade — and no custom-endpoint row, so /img reaches a gateway only when that gateway is one of the named integrations, as OpenRouter is, and not by pointing the Generic OpenAI Base URL at it.
A worked AnythingLLM API cost estimate
This is token arithmetic from published rates, not a measured task cost and not a bill ceiling. Assume the shipped defaults above and one turn made of: a 200-token system prompt, 4 retrieved chunks at 250 tokens each, 20 replayed history messages averaging 120 tokens, and a 40-token question — 3,640 input tokens — returning 400 output tokens. The system prompt, history length and answer length are assumptions; the chunk count, chunk size and history count are AnythingLLM's own defaults. The last column keeps everything the same but attaches a 30,000-token document instead of retrieving chunks, so the full text rides along every turn. Rates are live Kunavo catalog prices per million tokens.
| Model | Input / output per 1M | Per turn | 1,000 turns | 1,000 turns, document attached |
|---|---|---|---|---|
| GPT-5.6 Luna | $0.07 / $0.42 | $0.0004 | $0.42 | $2.45 |
| Claude Haiku 4.5 | $0.40 / $2.00 | $0.0023 | $2.26 | $13.86 |
| Gemini 3.8 Flash | $0.525 / $2.625 | $0.0030 | $2.96 | $18.19 |
| Claude Sonnet 4.6 | $1.20 / $6.00 | $0.0068 | $6.77 | $41.57 |
| Claude Opus 5 | $2.00 / $10.00 | $0.0113 | $11.28 | $69.28 |
Three readings. First, on these assumptions a month of grounded question-answering on Claude Sonnet 4.6 models out at $6.77 — under a single month of Cloud Basic at $50. For a workload this size the hosting decision, not the provider decision, is the larger line, which is why the two bills have to be sized separately rather than traded off. Second, attaching the document instead of indexing it takes the same workload on Claude Sonnet 4.6 to $41.57: under these assumptions the retrieval design moves more money than the provider choice does. Third, the model spread is real but secondary — GPT-5.6 Luna models at $0.42 against Claude Opus 5 at $11.28 for the same turns.
Scale these by your own turns per day before treating them as a budget, and add the intake cost only when you re-index. Kunavo's catalog amount is a billing floor rather than a cap: when the upstream reports its charge, the bill is the greater of catalog cost and upstream cost times the applicable markup. Cache charges and external tools sit outside this example. The minimum Kunavo top-up is $10 in prepaid credit, which is a funding minimum rather than a task fee or a subscription — see billing details.
Best API and best model for AnythingLLM: which route wins when
| Route | Wins when | What you give up |
|---|---|---|
| Built-in local model (Desktop only) | Private or small workloads, no per-request charge at all | Desktop only; not a full Ollama replacement, and a capability gap against hosted frontier models |
| Direct vendor API | One vendor's flagship all day, with its own caching and batch discounts | A second vendor means a second account and a second balance |
| OpenAI-compatible gateway | You switch models per workspace and want one key and one balance | You enter as Generic OpenAI, so the context window and max-tokens fields are yours to set, and AnythingLLM's Anthropic-native provider — with its cache_control switch — is not the path you are on |
| Cloud subscription plus your own key | You want the instance managed and do not want to run Docker | $50 or $99 a month on top of the token bill, no built-in LLM, and no custom agents on hosted Cloud |
| Desktop Pro licence | You use the OS-wide Magic features past their free daily allowance | $15–20 a month that includes no tokens; Magic Tab and Beacon are macOS and Windows only |
On "best model", AnythingLLM ships the honest answer as a feature. The Model Router — self-hosted single-user and multi-user, and Desktop since v1.13.0 — routes simple messages to a cheap or local model and only hard ones to an expensive remote one, with "Save money" given as its stated purpose. For grounded question-answering a mid-tier model is usually enough, because the retrieved chunks supply the facts; reserve a frontier model for synthesis and agent runs. Agents add their own token pressure, which AnythingLLM addresses with Intelligent Tool Selection — turned on by default in v1.15.0, it sends only the tools a chat needs to the prompt window instead of every registered tool, which its documentation says is worth "saving up to 80% every single chat". That is AnythingLLM's own figure, about the tokens tool definitions would otherwise add rather than about a whole bill, and not independently measured. A smaller recent win: v1.16.1 notes that cancelling inference now genuinely stops it upstream, so an abandoned answer no longer bills to completion.
For a wider provider comparison see OpenRouter alternatives and best LLM gateway; for the retrieval design that drives most of the bill above, RAG implementation and AI cost optimization. If you are still choosing the client itself, AnythingLLM vs Open WebUI compares the two on hosting and billing shape.
Setting it up, and checking the first bill
Kunavo is configured here as a Generic OpenAI endpoint using the settings above; the OpenAI-compatible API page covers the request shape, and the integrations index lists the clients that already have a written setup page. AnythingLLM has not been runtime-tested against Kunavo's endpoint for this guide, so treat the configuration above as a documented starting point rather than a compatibility result: keep a working route available, set the context window and max-tokens fields before your first real conversation, run one bounded workspace, then read the charge your account actually recorded. Create a Kunavo account when you are ready to fund a key — and keep the embedder on the free local model, because that half is not something Kunavo sells.
FAQ
How much does AnythingLLM cost?
The software is free. AnythingLLM Desktop for macOS, Windows and Linux is a $0 download, and the self-hosted Docker edition is free and MIT-licensed — anythingllm.com's own cloud page offers "Self-host with Docker for free" (checked September 19, 2026). Money appears in three optional places: AnythingLLM Cloud hosting at $50 or $99 a month, an AnythingLLM Desktop Pro licence shown at $15 a month billed annually or $20 monthly on AnythingLLM's own checkout documentation, and the model API bill from whichever provider you configure. None of the subscriptions include any model tokens.
Is AnythingLLM Pro $99 a month?
Only if you mean Cloud Pro. Two different products are called Pro. AnythingLLM Cloud Pro is $99 a month and is hosting for teams — a private instance, priority resources and what the page calls a 72-hour support SLA. AnythingLLM Desktop Pro is a licence key sold through Mintplex Labs' checkout, shown as $15 a month billed annually ($180 a year) or $20 a month billed monthly with a 14-day trial, and it unlocks only unlimited daily use of three OS-wide Magic features plus watermark-free generated documents. Quoting $99 as the desktop price is the most common error in third-party write-ups.
What is the best API for AnythingLLM?
First separate two things that share the name. The AnythingLLM API in its own documentation is the local developer and management API your own instance serves at /api/docs, authenticated by a key you generate inside the instance — it has no price. The API people mean when they search this is the upstream model endpoint that goes in the Generic OpenAI provider's Base URL field. For that, a direct vendor API wins when you use one vendor all day and want its own caching and batch discounts; an OpenAI-compatible gateway such as Kunavo wins when you switch models per workspace and want one key and one balance; a local model through the Desktop build's built-in engine wins when you want no per-request charge at all. Pick on how you work, not on a single winner.
What is the cheapest API for AnythingLLM?
For the indexing half, the cheapest option is free and it ships in the box: AnythingLLM's built-in embedder is all-MiniLM-L6-v2, a 25MB model that downloads on first embed and runs on CPU, so embedding costs nothing per document. For the chat half, cheapest listed rate and cheapest to finish the job are different questions — a cheap model that needs a second and third question about the same document can cost more than one that answers correctly the first time. Shortlist the least expensive model that answers your own documents acceptably, then read the charge your provider account actually recorded. Retrieval settings usually move the bill more than the provider does: chat history is replayed at 20 messages by default.
What is the best model for AnythingLLM?
There is no single answer, and AnythingLLM ships a feature that says so. The Model Router, available on self-hosted single-user and multi-user mode and on Desktop since v1.13.0, lets one workspace send simple messages to a cheap or local model and only hard ones to an expensive remote model; AnythingLLM's own documentation gives "Save money" as the reason it exists. For grounded question-answering over your own documents, a mid-tier model is usually enough because retrieval supplies the facts. Reserve a frontier model for synthesis and agent work, and note that the Generic OpenAI provider performs no model pre-flight — any model id string is accepted and only fails when a request is sent.
Can I point AnythingLLM's Anthropic provider at a third-party endpoint?
Not through anything AnythingLLM exposes or documents. Its native Anthropic provider constructs the Anthropic SDK client with an API key and default headers and nothing else — it passes no baseURL, and there is no Base URL field in the UI for that provider. That is a statement about AnythingLLM, not about the wire: the Anthropic TypeScript SDK defaults its baseURL to process.env.ANTHROPIC_BASE_URL, so that server-process variable still redirects the client AnythingLLM built. AnythingLLM does not document or support it, so the supported route for a third-party endpoint is the Generic OpenAI provider over chat completions. One consequence worth budgeting for: ANTHROPIC_CACHE_CONTROL is what makes the native provider stamp a cache_control marker on the system prompt, and the Generic OpenAI path sends no such marker — so a protocol that requires the client to ask for caching will not cache through it. Endpoints that cache automatically without a client marker are a separate question, for your provider's documentation.
Can Kunavo serve AnythingLLM's embedder?
No — Kunavo does not serve embeddings. kunavo.com/llms.txt states that the /v1/embeddings wire format exists but no embedding model is listed, and tells agents not to recommend Kunavo for embeddings. The same is true of speech-to-text and text-to-speech, which Kunavo does not serve either. Because AnythingLLM's embedder is a separate provider from its chat provider, this is a real half of the product Kunavo does not cover: use the free built-in local embedder, or a dedicated embedding vendor, and keep Kunavo for the chat provider only. Note also that the embedder is system-wide rather than per-workspace, and changing it means deleting and re-embedding every document.
AnythingLLM prices, documentation, shipped .env.example, Prisma schema and provider source checked September 19, 2026; Kunavo endpoint and embedding availability re-verified against kunavo.com/llms.txt the same day. The Desktop Pro price comes from AnythingLLM's own checkout screenshot rather than the live checkout, which was not reachable. Kunavo token rates come from the live catalog, and every dollar example on this page is illustrative token arithmetic rather than a measured task cost.