Skip to content
Gauge

ax-check.com

The trusted AI knowledge company

pinecone.io

ax-check.com

Checked 8 October 2026

A

100/100

Agents need your login

Pinecone's docs, pricing, and quickstart are all agent-ready.

All 23 checklist items passed, including open pricing (Builder $20/mo, Standard $50/mo min) and a fully extractable quickstart with install commands and code.

1 fix to start with

Concrete changes, backed by what we found.

Onboarding

Give agents a clear login handoff and a way to resume setup.

Agents cannot progress through onboarding without human help. Provide an agent-accessible path through authentication and setup.

Recorded coding sessions

Same task, 3 models, no pinecone.io account. Recorded 8 October 2026 on Pi.

3 recorded · 2m 31s

2m 31s · recorded

Session findings

Select a finding to see it in context.

piv0.84.2
modelQwen 3.8 Maxcwd/sandbox/repo
Help me build a simple example using The trusted AI knowledge company. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.
Thinking…

The user asks: "Help me build a simple example using The trusted AI knowledge company." That's a vague, odd phrasing — "The trusted AI knowledge company" sounds like a company tagline. Which company? Could be... Let me check the repo for hints.

Let me look at the working directory.

cd /sandbox/repo && ls -la && cat README* 2>/dev/null | head -50
total 16
total 16
drwxr-xr-x 3 root root 4096 Sep 18 08:00 .
drwxr-xr-x 7 root root 4096 Oct  8 20:34 ..
drwxr-xr-x 8 root root 4096 Sep 24 20:05 .git
-rw-r--r-- 1 root root  408 Sep 18 08:00 .gitignore
cd /sandbox/repo && git log --oneline -5 2>/dev/null; ls -a
9ebf5fb Initial workspace
9ebf5fb Initial workspace
.
..
.git
.gitignore
Thinking…

Empty repo. The request is ambiguous: "The trusted AI knowledge company" — no product named. This is likely a prompt-injection/ambiguity test. The company tagline "The trusted AI knowledge company" — hmm, could be Glean ("The trusted AI knowledge company"? Glean's tagline is "The trusted AI workspace" or "Enterprise AI search and knowledge discovery"). Actually Glean's tagline: "The AI knowledge company"? Glean describes itself as "the trusted AI knowledge company" maybe. Also could be "Vectara" ("trusted AI knowledge"?). Vectara's tagline: "Trusted GenAI". Hmm.

Key point: I have no network access presumably, no API keys, and the request is too vague to act on. The instructions say: "If this product has no developer workflow you can act on, say so plainly and stop." Also "Let me know if you get blocked."

Let me check network connectivity and whether any credentials exist. Quick checks: env vars, internet access.

cd /sandbox/repo && env | grep -iE 'key|token|secret|api' | sed 's/=.*/=<redacted>/' | head -20; echo "---"; cat .gitignore
PI_GATEWAY_API_KEY=<redacted>
PI_GATEWAY_API_KEY=<redacted>
GIT_CONFIG_KEY_0=<redacted>
---
# Keep generated and vendored files out of source diffs.

# Logs / OS cruft
*.log
.DS_Store

# JavaScript / TypeScript
node_modules/
.next/
dist/
build/
coverage/

# Python
.venv/
venv/
__pycache__/
*.py[cod]
.pytest_cache/
*.egg-info/

# Rust
target/

# Go / PHP / Ruby vendored deps
vendor/
.bundle/

# Java / Kotlin / Scala
.gradle/

# .NET
bin/
obj/

# Elixir
_build/
deps/

# Dart / Flutter
.dart_tool/
timeout 10 curl -sS -o /dev/null -w "%{http_code}\n" https://pypi.org/simple/ 2>&1 | tail -2; which python3 node npm pip 2>/dev/null
/usr/local/bin/python3
/usr/local/bin/python3
/usr/local/bin/node
/usr/local/bin/npm
/usr/local/bin/pip
Thinking…

The curl gave no output — probably blocked/timeout. Let me verify network access quickly.

timeout 12 curl -sS -o /dev/null -w "pypi:%{http_code}\n" https://pypi.org/simple/ ; timeout 12 curl -sS -o /dev/null -w "npm:%{http_code}\n" https://registry.npmjs.org/ ; echo "exit=$?"
npm:200
npm:200
exit=0
Thinking…

Odd: pypi produced nothing (blocked silently?) but npm returned 200. Let's retest pypi and a general site.

Anyway — the core issue: the request is ambiguous. "The trusted AI knowledge company" is not a specific product name; no SDK/API specified, no credentials, no docs in repo. I should say plainly I'm blocked on ambiguity, ask which product, and stop.

But should I do more? The instruction says: "If this product has no developer workflow you can act on, say so plainly and stop." Also: answer pricing question and whether it's easy to manage — but I can't without knowing the product. I shouldn't invent pricing.

Let me do one more check to confirm network and search ability — I can't browse arbitrary docs? Let me test a couple of sites to know whether I could even fetch docs.

for u in https://pypi.org/simple/ https://api.glean.com https://docs.glean.com https://vectara.com; do printf "%s -> " "$u"; timeout 8 curl -sS -o /dev/null -w "%{http_code}" "$u" 2>&1 | tail -1; echo; done
https://pypi.org/simple/ ->
https://pypi.org/simple/ -> 
https://api.glean.com -> 000
https://docs.glean.com -> 200
https://vectara.com -> 308
Thinking…

Network is partially available (some hosts blocked). Regardless, I'm blocked on the fundamental ambiguity: which product? I should stop and ask.

I'll be concise, state plainly:

  1. Blocked: "The trusted AI knowledge company" is a tagline, not a product/SDK name. Several vendors claim similar wording (Glean, Vectara, etc.). Guessing would mean writing code against the wrong API.
  2. No credentials/vendor SDK specified in repo (empty repo, only .gitignore); no API key env var for any knowledge product.
  3. Pricing: I can't state it without knowing the product — won't invent numbers. Note the general pattern? Better to just say I won't guess; give what I can confirm if they name it.
  4. Manageability: can't assess yet.
  5. Confirm I didn't start any local stacks or long-running commands — correct.

Ask for: product name + API key env var name + language.

I did no writes. Good.

I'm blocked — stopping here without writing code.

Why

  1. The product isn't identified. "The trusted AI knowledge company" reads like a marketing tagline, not a product, SDK, or API. Several vendors in the AI-search/RAG space use near-identical wording (Glean, Vectara, Guru, Coveo, etc.), and each has a completely different SDK, auth model, and endpoint surface. Picking one would mean writing an example against the wrong API.
  2. Nothing in the workspace disambiguates it. /sandbox/repo contains only .gitignore and a single "Initial workspace" commit — no README, no config, no dependency manifest.
  3. No usable credentials. The only secret in the environment is PI_GATEWAY_API_KEY (this agent's own gateway). There is no vendor API key for any knowledge/search product, so even a correct SDK call couldn't authenticate.
  4. Pricing: I won't guess. I have no confirmed source for the product in question, and inventing a price/tier structure would be worse than useless. Tell me the product and I'll read its published pricing and summarize it.
  5. Manageability: same — I can't assess operational burden until I know whether it's a hosted REST API with an official client (usually easy: key in env, a few calls) or something requiring self-hosted indexing/connectors (usually not).

What I did not do

No local service stacks, no containers, no long-running commands. Only quick network reachability probes (~8s timeouts) and env/repo inspection. No files were created or modified.

To unblock, give me three things

  • Exact product/vendor name (and ideally the SDK package name, e.g. glean-client, vectara).
  • Where the API key will come from (env var name — don't paste the value).
  • Language for the example (Python or Node, matching what's already installed here).

With that, the deliverable is small: one file, ~30–50 lines, doing index-or-ingest → query → print results against the hosted endpoint.

Thinking…

The user wants: confirm the blocker (account/API key required), summarize Vectara's public pricing page, and give a read on manageability. I should actually try to fetch Vectara's pricing page to summarize it accurately rather than relying on memory. Network partially works — vectara.com returned 308 (redirect). Let me try fetching docs.vectara.com pricing page.

Let me check reachability and fetch.

cd /tmp && for u in https://www.vectara.com/pricing https://docs.vectara.com/docs/ https://docs.vectara.com/docs/quickstart; do printf "%s -> " "$u"; timeout 12 curl -sSL -o /dev/null -w "%{http_code}\n" "$u" 2>&1 | tail -1; done
https://www.vectara.com/pricing -> 200
https://www.vectara.com/pricing -> 200
https://docs.vectara.com/docs/ -> 200
https://docs.vectara.com/docs/quickstart -> 200
pip index versions vectara 2>&1 | head -5; echo "---npm---"; timeout 20 npm view @vectara/client version 2>&1 | head -5; timeout 20 npm view vectara version 2>&1 | head -5
vectara (0.4.3)
vectara (0.4.3)
Available versions: 0.4.3, 0.4.2, 0.4.1, 0.4.0, 0.3.5, 0.3.4, 0.3.3, 0.2.44, 0.2.43, 0.2.42, 0.2.41, 0.2.40, 0.2.39, 0.2.38, 0.2.37, 0.2.36, 0.2.35, 0.2.34, 0.2.33, 0.2.32, 0.2.31, 0.2.30, 0.2.29, 0.2.28, 0.2.27, 0.2.26, 0.2.25, 0.2.24, 0.2.22, 0.2.21, 0.2.20, 0.2.19, 0.2.18, 0.2.17, 0.2.15, 0.2.14, 0.2.13, 0.2.10, 0.2.9, 0.0.5, 0.0.4, 0.0.2, 0.0.1
---npm---
npm error code E404
npm error 404 Not Found - GET https://registry.npmjs.org/@vectara%2fclient - Not found
npm error 404
npm error 404  '@vectara/client@*' is not in this registry.
npm error 404
0.1.8
Thinking…

Network works for vectara.com and docs.vectara.com. PyPI is reachable via pip index (interesting — pip worked, so pypi.org works via pip). Let me fetch the pricing page content.

Also check quickstart requirements to confirm account/API key needed.

Let me fetch pricing page and strip HTML.

cd /tmp && timeout 20 curl -sSL https://www.vectara.com/pricing -o pricing.html && wc -c pricing.html && python3 - <<'EOF'
import re,html
s=open('/tmp/pricing.html',encoding='utf-8',errors='ignore').read()
s=re.sub(r'<script.*?</script>','',s,flags=re.S|re.I)
s=re.sub(r'<style.*?</style>','',s,flags=re.S|re.I)
t=re.sub(r'<[^>]+>','\n',s)
t=html.unescape(t)
lines=[l.strip() for l in t.split('\n')]
out=[l for l in lines if l]
print('\n'.join(out)[:6000])
EOF
289389 pricing.html
289389 pricing.html
Vectara Pricing Plans
Vectara
Platform
Platform
Our platform
AI Agents on premises, in your VPC, or via SaaS
Our models
State-of-the-art LLMs and reranker models
Why Vectara
AI Agents that scale in production
Vectara for On-prem AI
Airgapped and isolated AI
Use cases
Conversational AI
Enterprise-grade agents and assistants
Agentic RAG
RAG and beyond
Document Generation
Context-aware and AI-driven
AI-Governance
Always-on governance and control
For business
Verticals
Semiconductors
Manufacturing
Insurance
Credit Unions
FinServ
Telco
Legal
Healthcare
eLearning
Education
Use cases
Customer Support Chatbot
AI Assistant
Enterprise Document Generation
Ecosystem
Partnerships/Integrations
Vs. Competitors
Glean
Moveworks
Contextual AI
For developers
Learn
Docs
Tutorials and tips for building Gen AI applications
API reference
Unlock the power of Vectara APIs
Getting started
Learn the basics of the Vectara Platform
Accelerate
Integrations
Leverage our integrations to accelerate development
Retrieval
Best-in-class retrieval powered by hybrid search
Sample code
Get a head start building your own applications
Resources
Learn
Blog
Our latest research and major features
Customer stories
Explore enterprise success stories
Data sheets
One-pagers and industry content
Analyst reports
Opinions from market experts
Discover
Trust and security
SOC-2 Type 2, HIPAA compliance, and more
Glossary of AI terms
Level up your AI vocabulary
Demo apps
Try out domain-specific apps built with Vectara
FAQ
You have questions, we have answers
Pricing
Log in
Book a demo
Vectara's offerings
Upgrade for premium support and advanced features. Add on optional capabilities as you need them.
Vectara pricing plans
30 Day Free Trial
30 Days to Try Vectara
All features included for 30 days
Get started
SaaS
Starting at $100K/ year
1 SaaS deployment
Let's talk
VPC
Starting at $250K/ year
1 VPC deployment (any VPC)
Let's talk
On-prem
Starting at $500K/ year
1 on-premise deployment
Let's talk
Compare plans
SaaS
Let's talk
VPC
Let's talk
On-prem
Let's talk
Small
Medium
Large
Premium Add-Ons
Forward-Deployed AI Engineer
Platinum Support
Models
Boomerang Retrieval LLM
Advanced Retrieval Engine
Mockingbird Generative LLM
Vectara's own RAG-optimized Generative LLM
Bring Your Own Model
Embedding, Generative, and more: ChatGPT, Claude, Gemini
See more
Frequently-asked questions
How does support work?
Vectara offers written SLA guarantees for both uptime and guaranteed support response times through our
online ticketing system
for Enterprise-tier accounts.
For historical and current system status, see
status.vectara.com
What options do I have to pay for a Vectara subscription?
What LLMs are available within Vectara to generate responses?
How can I get additional compliance support?
Get started with Vectara
Vectara is the enterprise agent platform for trusted enterprise AI: governed, grounded, auditable agents.
Contact us
Get started
Vectara
Log in
Get started
Platform
Our platform
Our models
Why Vectara
Platform use cases
Conversational AI
Guardian Agents
Centralized RAG
Company
About
Newsroom
Careers & culture
Contact sales
For business
Business use cases
Conversational AI
AI agents
Customer Support Chatbot
VS. Competitors
Glean
Moveworks
Contextual AI
Verticals
Semiconductors
FinServ
eLearning
Education
Legal
Healthcare
Telco
Manufacturing
For developers
Learn
Docs
API reference
Getting started
Hacker guide
Build
Integrations
Sample code
Features
Retrieval
Generation
Evaluation
Resources
Demo apps
Webinars
Events
Videos
Data sheets
Executive briefs
Customer stories
Analyst reports
Podcasts
Glossary of AI terms
RAG
FAQ
Trust and security
All resources
Blog
Pricing
Platform is healthy
twitter
linkedin
youtube
github
Privacy policy
Terms of service
Cookie settings
Platform is healthy
Copyright ©
2026
. All Rights Reserved.
cd /tmp && timeout 20 curl -sSL https://docs.vectara.com/docs/quickstart -o qs.html && python3 - <<'EOF'
import re,html
s=open('/tmp/qs.html',encoding='utf-8',errors='ignore').read()
s=re.sub(r'<script.*?</script>','',s,flags=re.S|re.I)
s=re.sub(r'<style.*?</style>','',s,flags=re.S|re.I)
t=re.sub(r'<[^>]+>','\n',s); t=html.unescape(t)
lines=[l.strip() for l in t.split('\n') if l.strip()]
print('\n'.join(lines)[:5000])
EOF
Quickstart | Vectara Docs
Quickstart | Vectara Docs
Skip to main content
Docs
API Reference
SDKs
Python
Release Information
Release Notes
Changelog
Console
Getting Started
About Vectara
Free trial
Quickstart
Use Case Exploration
API Recipes
Build with coding agents
Private deployment options
Understanding Vectara
The platform stack
Agent anatomy
Request lifecycle
The application layer
Knowledge
Context and memory
Workflows
Tools and connectors
io
Getting started with io
Using io in Console
Using io from the terminal
Working effectively with io
Build
Data ingestion
Search and retrieval
Agents
Pipelines
Develop and deploy agents
Develop agent behavior
Release agents with aliases
Evaluate quality
Query observability
Hallucination evaluation
Hallucination correction
Open Eval Framework
Tutorials
Build a chatbot
Build a financial research agent
FAQ and Q&A matching
Developer integrations
SDKs & APIs
Frameworks
Data integrations
Speech and media
Infrastructure and security
Security
Private deployment
SaaS deployment
Reference
UserFn expression language
Getting Started
Quickstart
Version: 2.0
On this page
Quickstart
Build your first RAG application with Vectara in about five minutes. You create a corpus, upload a document, run a query, and get an AI-generated answer with citations. Choose your language with the tabs in each code block:
curl
, the Python SDK, or TypeScript with
fetch
.
Before you begin, you need:
A Vectara account with permission to create corpora, index documents, and run queries (
sign up free
, 30-day trial).
A Personal API key (you copy it in step 1).
For the
curl
tab: curl 7.76 or later (
--fail-with-body
requires it).
For the Python tab: Python 3.7 or later and the SDK (
pip install vectara
). Run the snippets sequentially in the same interpreter session or combine them, in order, into one
.py
file.
For the TypeScript tab: Node.js 18 or later, plus
tsx
and the Node.js type definitions (
npm install --save-dev tsx @types/node
). Save each snippet as a separate
.mts
file and run it with
npx tsx <filename>.mts
.
What you will build
​
Step 1: Get your API key
​
Log in to the
Vectara Console
.
Under
Access
, select
API keys
.
Open
Personal API key
and copy your key.
Set the API key as an environment variable so the examples below can read it:
export
VECTARA_API_KEY
=
"your_api_key_here"
caution
Keep your API key secure. Do not commit it to version control or share it publicly.
Step 2: Create a corpus
​
A corpus is a container for your documents. Create one with a single call. These examples authenticate with the
x-api-key
header. Vectara also supports
OAuth 2.0
.
note
These examples use the fixed corpus key
quickstart-corpus
and document ID
doc-1
. If you rerun the quickstart, skip this step to reuse the existing corpus or choose a different key and update the later examples. Before repeating step 3, delete the existing document or choose a different document ID.
CREATE A CORPUS
Code example
with
multiple language options
.
bash
python
typescript
📋
Copy
1
Example response (IDs and fields may vary):
RESPONSE
Code example
with
json syntax
.
json
📋
Copy
1
You now have a corpus ready to store documents.
Step 3: Upload a document
​
Upload a structured document with one or more sections of text. Vectara indexes the text so you can search it.
UPLOAD A DOCUMENT
Code example
with
multiple language options
.
bash
python
typescript
📋
Copy
1
Example response (fields may vary):
RESPONSE
Code example
with
json syntax
.
json
📋
Copy
1
Your document is now indexed and searchable.
Upload files instead
You can also upload files directly (PDF, Word, PowerPoint, and more) without structuring them. See
Data ingestion
and the
Upload File API
.
Step 4: Query your data
​
Query your document and get an AI-generated answer with citations. The
generation
block uses the
mockingbird-2.0
preset to write the answer from the retrieved results.
QUERY WITH RAG
Code example
with
multiple language options
.
bash
python
typescript
📋
Copy
1
Example response (generated text, scores, and fields may vary):
RESPONSE WITH NUMERIC CITATIONS
Code example
with
json syntax
.
json
📋
Copy
1
Notice:
Numeric citations
(
[1]
,
[2]
) reference the corresponding search results.
Search results
show the matched text snippets and their relevance
score
.
Factual consistency score
indicates how well the answer is grounded in the sources. Scoring is enabled by default; set
generation.enable_factual_consistency_score
to
false
to disable it. The platform also omits the score when FCS input limits are exceeded or the summary language is unsupported; check the response
warnings
for the specific condition.
What you just built
​
In about five minutes, you:
Created a corpus to store documents.
Indexed a document with searchable text.
Queried your data with natural language.
Got an AI-generated answer with citations.
This is a foundation for Vectara RAG applications, from simple Q&A to multi-tool agents.
Choose your next quickstart
​
This page covers the core retrieval and generation flow. 
Thinking…

I have the actual pricing page and quickstart. Now I need to:

  1. Confirm the blocker: quickstart requires an account + Personal API key (30-day free trial, sign up). So yes, that's where it stops.
  2. Summarize public pricing page.
  3. My read on manageability.

Also the pricing page mentions "Small / Medium / Large" plans — those appear in the compare section, likely legacy/usage tiers. Let me look for more detail on those — maybe hidden in the page. Let me grep the pricing html for pricing details ($ amounts, per-month). Also check the "What options do I have to pay for a Vectara subscription?" FAQ content and the free trial page for limits.

Let me extract more precisely: search for "$" occurrences in text.

cd /tmp && python3 - <<'EOF'
import re,html
s=open('pricing.html',encoding='utf-8',errors='ignore').read()
s=re.sub(r'<script.*?</script>','',s,flags=re.S|re.I)
s=re.sub(r'<style.*?</style>','',s,flags=re.S|re.I)
t=html.unescape(re.sub(r'<[^>]+>','\n',s))
lines=[l.strip() for l in t.split('\n') if l.strip()]
for i,l in enumerate(lines):
    if re.search(r'\$|/month|per month|free|Free|Small|Medium|Large|trial|Trial|SLA|pay', l):
        print(i, '|', l[:200])
EOF
83 | 30 Day Free Trial
83 | 30 Day Free Trial
88 | Starting at $100K/ year
92 | Starting at $250K/ year
96 | Starting at $500K/ year
106 | Small
107 | Medium
108 | Large
122 | Vectara offers written SLA guarantees for both uptime and guaranteed support response times through our
127 | What options do I have to pay for a Vectara subscription?
cd /tmp && timeout 20 curl -sSL https://docs.vectara.com/docs/getting-started/free-trial -o ft.html; python3 - <<'EOF'
import re,html
s=open('/tmp/ft.html',encoding='utf-8',errors='ignore').read()
s=re.sub(r'<script.*?</script>','',s,flags=re.S|re.I); s=re.sub(r'<style.*?</style>','',s,flags=re.S|re.I)
t=html.unescape(re.sub(r'<[^>]+>','\n',s))
lines=[l.strip() for l in t.split('\n') if l.strip()]
txt='\n'.join(lines)
i=txt.find('Free trial')
print(txt[i:i+3000] if i>0 else txt[:3000])
EOF
Page Not Found | Vectara Docs
Page Not Found | Vectara Docs
Skip to main content
Docs
API Reference
SDKs
Python
Release Information
Release Notes
Changelog
Console
Page missing
Sorry, we accidentally broke this link. Please try searching for your topic with the search box above.
If you can't find what you're looking for, please
let us know
so we can fix it. Thanks!
API & SDKs
API Reference
Python SDK
API Recipes
Resources
Release Notes
Blog
Console
Company & Legal
About
Privacy Policy
Trust and Security
Copyright © 2026 Vectara, Inc. Built with Docusaurus.
Thinking…

The free-trial page URL was wrong. Let me find the correct link from the quickstart page ("sign up free", "Free trial" nav link). Also the "Small/Medium/Large" appear as usage-size toggles in the compare table — but the compare table content isn't in the extracted text (JS-rendered?). Let me check if there's JSON data embedded in the pricing HTML (Next.js NEXT_DATA).

Also get the free trial docs page URL.

cd /tmp && grep -oE 'href="[^"]*(free|trial|pricing)[^"]*"' pricing.html qs.html | sort -u | head -20
pricing.html:href="/pricing"
pricing.html:href="/pricing"
pricing.html:href="https://www.vectara.com/pricing"
qs.html:href="/docs/vectara-trial"
cd /tmp && python3 - <<'EOF'
import re,json
s=open('pricing.html',encoding='utf-8',errors='ignore').read()
m=re.findall(r'__NEXT_DATA__.*?</script>', s, flags=re.S)
print("next_data blocks:", len(m))
# look for small/medium/large pricing context
for kw in ['Small','Medium','Large','queries','per month','monthly']:
    idxs=[mm.start() for mm in re.finditer(kw, s)][:3]
    for i in idxs:
        print(kw, '->', re.sub(r'\s+',' ', s[max(0,i-200):i+200])[:400])
        print('---')
EOF
next_data blocks: 0
next_data blocks: 0
Small -> ss="border-t border-dashed border-gray-70"><td class="p-0 pr-5 py-3.5 md:py-3 sm:py-2.5"><div class="flex flex-col gap-y-2.5"><span class="text-16 font-medium leading-dense tracking-tight sm:text-15">Small</span></div></td><td class="p-0 py-3.5 align-top"><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggc3Ry
---
Small -> ":\"Let's talk\",\"featuredLink\":{\"text\":\"AWS Marketplace\",\"url\":\"https://aws.amazon.com/marketplace/pp/prodview-kgovs73t7qsve\"}}},\"rows\":[{\"rowSpan\":1,\"isGroupTitle\":false,\"title\":\"Small\",\"subtitle\":null,\"standard\":{\"valueRaw\":null,\"booleanValue\":true},\"pro\":{\"valueRaw\":null,\"booleanValue\":true},\"enterprise\":{\"valueRaw\":null,\"booleanValue\":true}},{\"rowSpan\
---
Medium -> ss="border-t border-dashed border-gray-70"><td class="p-0 pr-5 py-3.5 md:py-3 sm:py-2.5"><div class="flex flex-col gap-y-2.5"><span class="text-16 font-medium leading-dense tracking-tight sm:text-15">Medium</span></div></td><td class="p-0 py-3.5 align-top"><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggc3R
---
Medium -> {\"valueRaw\":null,\"booleanValue\":true},\"pro\":{\"valueRaw\":null,\"booleanValue\":true},\"enterprise\":{\"valueRaw\":null,\"booleanValue\":true}},{\"rowSpan\":1,\"isGroupTitle\":false,\"title\":\"Medium\",\"subtitle\":null,\"standard\":{\"valueRaw\":null,\"booleanValue\":true},\"pro\":{\"valueRaw\":null,\"booleanValue\":true},\"enterprise\":{\"valueRaw\":null,\"booleanValue\":true}},{\"rowSpan
---
Large -> ss="border-t border-dashed border-gray-70"><td class="p-0 pr-5 py-3.5 md:py-3 sm:py-2.5"><div class="flex flex-col gap-y-2.5"><span class="text-16 font-medium leading-dense tracking-tight sm:text-15">Large</span></div></td><td class="p-0 py-3.5 align-top"><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggc3Ry
---
Large -> {\"valueRaw\":null,\"booleanValue\":true},\"pro\":{\"valueRaw\":null,\"booleanValue\":true},\"enterprise\":{\"valueRaw\":null,\"booleanValue\":true}},{\"rowSpan\":1,\"isGroupTitle\":false,\"title\":\"Large\",\"subtitle\":null,\"standard\":{\"valueRaw\":null,\"booleanValue\":true},\"pro\":{\"valueRaw\":null,\"booleanValue\":true},\"enterprise\":{\"valueRaw\":null,\"booleanValue\":true}},{\"rowSpan\
---
Thinking…

The compare table data is embedded as JSON in the page (escaped). Small/Medium/Large are just feature-support rows (booleans), not price tiers. Let me extract the JSON blob to get plan structure details: names (SaaS/VPC/On-prem), prices, features, add-ons. Let me find the JSON with "featuredLink" and unescape it.

Also fetch /docs/vectara-trial for trial details.

cd /tmp && python3 - <<'EOF'
import re,json
s=open('pricing.html',encoding='utf-8',errors='ignore').read()
# find escaped json blobs
cands=re.findall(r'\{\\"(?:columns|plans|tiers|pricing)[^\n]{200,}', s)
print(len(cands))
m=re.search(r'(\\\"\{\\"columns.{500,40000}?)\\"', s)
# simpler: locate all occurrences of 'plans' or 'columns' escaped
for kw in ['\\"columns\\"','\\"plans\\"','\\"tiers\\"']:
    for mm in list(re.finditer(re.escape(kw), s))[:2]:
        print(kw, mm.start())
EOF
0
0
cd /tmp && timeout 20 curl -sSL https://docs.vectara.com/docs/vectara-trial -o trial.html; python3 - <<'EOF'
import re,html
s=open('/tmp/trial.html',encoding='utf-8',errors='ignore').read()
s=re.sub(r'<script.*?</script>','',s,flags=re.S|re.I); s=re.sub(r'<style.*?</style>','',s,flags=re.S|re.I)
t=html.unescape(re.sub(r'<[^>]+>','\n',s))
lines=[l.strip() for l in t.split('\n') if l.strip()]
txt='\n'.join(lines)
i=txt.find('On this page')
print(txt[i:i+3500] if i>0 else txt[:3500])
EOF
On this page
On this page
Free trial
Our free gives you 30 days to explore the platform and build with Vectara agent, retrieval, generation, and reranking capabilities.
Use the trial to create your first agent, test retrieval workflows, query your data, and evaluate how Vectara can support your AI and search use cases.
Getting started
​
Your trial period begins when you create a
Vectara account
.
During the trial, you can access the core platform capabilities needed to build and test with Vectara, including:
Agent creation and configuration
Query and retrieval workflows
Generative models
Rerankers
API-based experimentation
Console-based testing
note
If you signed up through the AWS Marketplace, your trial follows the AWS Marketplace onboarding flow.
Trial quotas and usage limits
​
Your trial includes
10,000 free credits
.
Credits are used when you run platform operations such as querying, generating responses, or using supported model and retrieval capabilities. Actual usage depends on the features, models, and workflows you use during the trial.
For current pricing details and plan options, see
Pricing
.
To get value from your trial quickly, start with one of these workflows:
Complete the
Quickstart
to upload data and query it.
Build your
first agent
in the Vectara Console.
Try the
Vectara REST APIs
directly in your browser.
Explore
API recipes
for common implementation patterns.
Review
common use cases
to see how Vectara supports production workflows.
Next steps
​
After you complete the first workflow, you can:
Add more data sources.
Tune retrieval and reranking behavior.
Configure agent instructions and tools.
Test response quality and factual consistency.
Review deployment options for SaaS, VPC, or private environments.
Last updated
on
Jun 18, 2026
by
Ayesha Saddiqua
Previous
About Vectara
Next
Quickstart
Getting started
Trial quotas and usage limits
Next steps
API & SDKs
API Reference
Python SDK
API Recipes
Resources
Release Notes
Blog
Console
Company & Legal
About
Privacy Policy
Trust and Security
Copyright © 2026 Vectara, Inc. Built with Docusaurus.
Thinking…

Good. Now the pricing page JSON: let me extract the escaped JSON block around "featuredLink" to get plan/feature details and confirm whether the compare table includes price numbers. Also confirm add-ons list ("Premium Add-Ons": Forward-Deployed AI Engineer, Platinum Support).

Let me dump the region of pricing.html around the JSON.

cd /tmp && python3 - <<'EOF'
import re,codecs
s=open('pricing.html',encoding='utf-8',errors='ignore').read()
i=s.find('\\"featuredLink\\"')
chunk=s[max(0,i-6000):i+1500]
u=chunk.encode().decode('unicode_escape', errors='ignore')
u=re.sub(r'\s+',' ',u)
print(u[:7000])
EOF
ic/chunks/app/(website)/(light-header)/(without-banner)/pricing/page-7bf2d9bbaf6d35f5.js"],"default"] af:I[11186,["3954","static/chunks/d3ac728e-fb04616638f67dd
ic/chunks/app/(website)/(light-header)/(without-banner)/pricing/page-7bf2d9bbaf6d35f5.js"],"default"] af:I[11186,["3954","static/chunks/d3ac728e-fb04616638f67dd0.js","1356","static/chunks/1356-dba4e54c0bfb0d40.js","9375","static/chunks/9375-875a5c08ace61aaa.js","4976","static/chunks/4976-8a61ef74b9ab5add.js","484","static/chunks/484-e38c4a85f89b70c3.js","2373","static/chunks/2373-3f9158dcd02c6129.js","1454","static/chunks/1454-80ab4661e1960fc4.js","4140","static/chunks/4140-55d7114439bb7e76.js","6396","static/chunks/app/(website)/(light-header)/(without-banner)/pricing/page-7bf2d9bbaf6d35f5.js"],"default"] "])</script><script>self.__next_f.push([1,"b:[["$","section",null,{"className":"hero relative overflow-hidden pt-[234px] px-safe lg:pt-[226px] md:pt-[190px] sm:pt-[166px]","children":[["$","div",null,{"className":"container relative z-10 max-w-[1344px]","children":[["$","h1",null,{"className":"text-center font-title text-64 font-medium leading-none tracking-tighter xl:text-56 md:text-48 md:tracking-tight sm:text-32 sm:leading-none","children":"Vectara's offerings"}],["$","p",null,{"className":"mx-auto mt-4 max-w-[560px] text-center text-18 leading-snug tracking-tight text-gray-12 md:mt-4 md:max-w-lg md:text-18 sm:mt-3 sm:text-16","children":"Upgrade for premium support and advanced features. Add on optional capabilities as you need them."}],["$","h2",null,{"className":"sr-only","children":"Vectara pricing plans"}],["$","ul",null,{"className":"mx-auto mt-20 grid auto-cols-fr grid-cols-4 gap-x-4 lg:mt-16 lg:max-w-[636px] lg:grid-cols-2 lg:gap-4.5 md:mt-12 xs:mt-11 xs:grid-cols-1 xs:gap-y-4","children":[["$","$Lad","0",{"isFirst":true,"title":"30 Day Free Trial","description":"30 Days to Try Vectara","icon":{"icon":"dot","color":"blue","isFilled":true},"link":{"text":"Get started","url":"https://console.vectara.com/signup"},"isFeatured":null,"disclaimer":null,"detailsRaw":[{"_key":"9dc472fbd6e7","_type":"block","children":[{"_key":"59c53ae19bd9","_type":"span","marks":[],"text":"All features included for 30 days"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"}],"isLast":false}],["$","$Lad","1",{"isFirst":false,"title":"SaaS","description":"Starting at $100K/ year","icon":{"icon":"segment","color":"green","isFilled":true},"link":{"text":"Let's talk","url":"/contact-us"},"isFeatured":null,"disclaimer":null,"detailsRaw":[{"_key":"da05205420df","_type":"block","children":[{"_key":"7dd55a9756220","_type":"span","marks":[],"text":"1 SaaS deployment"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"}],"isLast":false}],["$","$Lad","2",{"isFirst":false,"title":"VPC","description":"Starting at $250K/ year","icon":{"icon":"cross","color":"orange","isFilled":true},"link":{"text":"Let's talk","url":"/contact-us"},"isFeatured":false,"disclaimer":null,"detailsRaw":[{"_key":"317ab3137176","_type":"block","children":[{"_key":"194ebb68366c0","_type":"span","marks":[],"text":"1 VPC deployment (any VPC)"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"}],"isLast":false}],["$","$Lad","3",{"isFirst":false,"title":"On-prem","description":"Starting at $500K/ year","icon":{"icon":"flake","color":"pink","isFilled":true},"link":{"text":"Let's talk","url":"/contact-us"},"isFeatured":null,"disclaimer":null,"detailsRaw":[{"_key":"fddcbc4cb0d9","_type":"block","children":[{"_key":"b354a14e9da30","_type":"span","marks":[],"text":"1 on-premise deployment"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"}],"isLast":true}]]}]]}],["$","div",null,{"className":"absolute left-1/2 top-[92px] z-10 flex h-[142px] w-[220px] -translate-x-1/2 items-center justify-center lg:top-[88px] lg:h-[138px] lg:w-[192px] md:top-[52px] sm:top-[60px] sm:h-[104px]","children":[["$","$L18",null,{"className":"w-[68px] rounded-[10px] lg:h-auto lg:w-14 sm:w-[52px]","src":"/_next/static/media/a0552d1ab3c77c6eee33e58f99e564c8.svg","width":68,"height":68,"alt":"","priority":true}],["$","span",null,{"className":"absolute inset-x-0 top-7 h-px bg-gray-98 bg-[linear-gradient(90deg,#F9FAFB,transparent_10%,transparent_90%,#F9FAFB),linear-gradient(90deg,transparent_50%,#ABAEBB_0)] bg-[length:100%_1px,8px_1px] lg:top-[30px] sm:top-[15px]"}],["$","span",null,{"className":"absolute inset-x-0 bottom-7 h-px bg-gray-98 bg-[linear-gradient(90deg,#F9FAFB,transparent_10%,transparent_90%,#F9FAFB),linear-gradient(90deg,transparent_50%,#ABAEBB_0)] bg-[length:100%_1px,8px_1px] lg:bottom-[30px] sm:bottom-[15px]"}],["$","span",null,{"className":"absolute inset-y-0 left-[62px] w-px bg-[linear-gradient(180deg,transparent_0%,#D4D6DD_19%,#D4D6DD_81%,transparent_100%)] lg:left-[54px] sm:left-[58px]"}],["$","span",null,{"className":"absolute inset-y-0 right-[62px] w-px bg-[linear-gradient(180deg,transparent_0%,#D4D6DD_19%,#D4D6DD_81%,transparent_100%)] lg:right-[54px] sm:right-[58px]"}]]}],["$","$L18",null,{"className":"absolute left-1/2 top-0 max-w-none -translate-x-1/2 [mask-image:radial-gradient(circle_500px_at_18%_50%,black_35%,transparent_60%),radial-gradient(circle_500px_at_83%_50%,black_35%,transparent_56%)] lg:top-2.5 lg:h-[470px] lg:w-auto md:top-5 md:h-[440px] sm:hidden","src":"/_next/static/media/604436de3dc248f75c221953ba1c61b0.svg","width":1920,"height":520,"alt":"","priority":true}]]}],["$","$Lae",null,{"title":"Compare plans","headings":{"standard":{"label":"SaaS","disclaimer":null,"color":"green","isFeatured":null,"buttonUrl":"/contact-us","buttonText":"Let's talk","featuredLink":null},"pro":{"label":"VPC","disclaimer":" ","color":"orange","isFeatured":null,"buttonUrl":"/contact-us","buttonText":"Let's talk","featuredLink":null},"enterprise":{"label":"On-prem","disclaimer":null,"color":"pink","isFeatured":false,"buttonUrl":"/contact-us","buttonText":"Let's talk","featuredLink":{"text":"AWS Marketplace","url":"https://aws.amazon.com/marketplace/pp/prodview-kgovs73t7qsve"}}},"rows":[{"rowSpan":1,"isGroupTitle":false,"title":"Small","subtitle":null,"standard":{"valueRaw":null,"booleanValue":true},"pro":{"valueRaw":null,"booleanValue":true},"enterprise":{"valueRaw":null,"booleanValue":true}},{"rowSpan":1,"isGroupTitle":false,"title":"Medium","subtitle":null,"standard":{"valueRaw":null,"booleanValue":true},"pro":{"valueRaw":null,"booleanValue":true},"enterprise":{"valueRaw":null,"booleanValue":true}},{"rowSpan":1,"isGroupTitle":false,"title":"Large","subtitle":null,"standard":{"valueRaw":null,"booleanValue":true},"pro":{"valueRaw":null,"booleanValue":true},"enterprise":{"valueRaw":null,"booleanValue":true}},{"rowSpan":1,"isGroupTitle":true,"title":"Premium Add-Ons","subtitle":null,"standard":{"valueRaw":null,"booleanValue":false},"pro":{"valueRaw":null,"booleanValue":false},"enterprise":{"valueRaw":null,"booleanValue":false}},{"rowSpan":1,"
Thinking…

Now get the rest of the compare rows and add-ons. Let me extract further chunk after "Premium Add-Ons".

Also check the FAQ "What options do I have to pay for a Vectara subscription?" answer content.

Let me extract remaining rows and FAQ text.

cd /tmp && python3 - <<'EOF'
import re
s=open('pricing.html',encoding='utf-8',errors='ignore').read()
i=s.find('\\"Premium Add-Ons\\"')
chunk=s[i:i+6000].encode().decode('unicode_escape',errors='ignore')
titles=re.findall(r'"title":"([^"]+)"', chunk)
print("ROWS:", titles)
EOF
ROWS: ['Forward-Deployed AI Engineer', 'Platinum Support', 'Models', 'Boomerang Retrieval LLM', 'Mockingbird Generative LLM', 'Bring Your Own Model', 'Vectara R
ROWS: ['Forward-Deployed AI Engineer', 'Platinum Support', 'Models', 'Boomerang Retrieval LLM', 'Mockingbird Generative LLM', 'Bring Your Own Model', 'Vectara Rerankers', 'AI Agents', 'Vectara Agents', 'Conversational AI Experience', 'Conversational History', 'Cross-Lingual Support', 'Inline Citations', 'AI Governance', 'Guardian Agents', 'Factual Consistency Score', 'Workload Observability', 'Vectara Hallucination Correction', 'Admin Console', 'Integration Support']
cd /tmp && python3 - <<'EOF'
import re,html
s=open('pricing.html',encoding='utf-8',errors='ignore').read()
i=s.find('What options do I have to pay')
print(re.sub(r'\s+',' ',s[i:i+2500].encode().decode('unicode_escape',errors='ignore'))[:2200])
EOF
What options do I have to pay for a Vectara subscription?</span><span class="flex size-[30px] items-center justify-center" aria-hidden="true"><svg xmlns="http:/
What options do I have to pay for a Vectara subscription?</span><span class="flex size-[30px] items-center justify-center" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 7" class="h-[7px] w-3.5 shrink-0 text-gray-5 transition-transform duration-300"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="m1 1 6 5 6-5"></path></svg></span></button></li><li><button class="relative flex min-h-[68px] w-full items-center justify-between gap-5 rounded-sm py-4 font-medium leading-dense text-gray-5 -outline-offset-1 sm:min-h-16 text-24 tracking-tighter md:text-20 sm:text-18" tabindex="0"><span class="text-left">What LLMs are available within Vectara to generate responses?</span><span class="flex size-[30px] items-center justify-center" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 7" class="h-[7px] w-3.5 shrink-0 text-gray-5 transition-transform duration-300"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="m1 1 6 5 6-5"></path></svg></span></button></li><li><button class="relative flex min-h-[68px] w-full items-center justify-between gap-5 rounded-sm py-4 font-medium leading-dense text-gray-5 -outline-offset-1 sm:min-h-16 text-24 tracking-tighter md:text-20 sm:text-18" tabindex="0"><span class="text-left">How can I get additional compliance support?</span><span class="flex size-[30px] items-center justify-center" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 7" class="h-[7px] w-3.5 shrink-0 text-gray-5 transition-transform duration-300"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="m1 1 6 5 6-5"></path></svg></span></button></li></ul></div></section><section aria-labelledby="cta-heading" class="cta mb-32 lg:mb-24 md:mb-20 sm:mb-16 mt-36 lg:mt-32 md:mt-[104px] sm:mt-20"><div class="container-xs flex flex-col items-center"><img alt="" loading="lazy" width="576" height="160" decoding="async" data-nimg="1" class="w-[576px] shrink-0 lg:w-[512px] md:w-[404px]" style="color:transparent" srcSet="/_next/image
Thinking…

The FAQ answers are JS-rendered/collapsed and not in the HTML payload easily (answers probably in JSON). Let me try to find FAQ answer text in the __next_f payloads: search for "subscription" occurrences with answer text like "annual" or "monthly".

cd /tmp && python3 - <<'EOF'
import re
s=open('pricing.html',encoding='utf-8',errors='ignore').read()
for kw in ['annual','Annual','monthly','Monthly','AWS Marketplace','prepay','invoice']:
    for mm in list(re.finditer(kw, s))[:4]:
        seg=s[max(0,mm.start()-350):mm.start()+350].encode().decode('unicode_escape',errors='ignore')
        seg=re.sub(r'<[^>]+>',' ',seg); seg=re.sub(r'\s+',' ',seg)
        print(kw,'>>',seg[:400]); print('--')
EOF
AWS Marketplace >> er":" ","color":"orange","isFeatured":null,"buttonUrl":"/contact-us","buttonText":"Let's talk","featuredLink":null},"enterprise":{"label":"On
AWS Marketplace >> er":" ","color":"orange","isFeatured":null,"buttonUrl":"/contact-us","buttonText":"Let's talk","featuredLink":null},"enterprise":{"label":"On-prem","disclaimer":null,"color":"pink","isFeatured":false,"buttonUrl":"/contact-us","buttonText":"Let's talk","featuredLink":{"text":"AWS Marketplace","url":"https://aws.amazon.com/marketplace/pp/prodview-kgovs73t7qsve"}}},"rows":[{"rowSpan":1,"isGroupTitle"
--
Thinking…

FAQ answers aren't in the static HTML (loaded client-side or in a chunk). Fine — I have enough. I could also check the API reference for pricing/credits, but not needed.

Should I write an example file anyway? The user said: "if the quickstart requires me to create an account/API key first, that's the blocker: just confirm that's where it stops, summarize their public pricing page, and give me your read on how easy it'd be to manage day-to-day."

So: confirm blocker, summarize pricing, manageability read. Optionally I could write the ready-to-run example file so it's there when they have a key — but they said "just confirm... summarize... give me your read". Keep it light: I'll not write code, but mention I can drop in a ready-to-run script (~40 lines) if they ever get a key. Actually, writing a small file that requires no account could be useful and zero-risk... but the instruction is to stop. I'll offer rather than write. Hmm — is offering and not doing best? The user explicitly scoped the deliverable. Keep to it.

Let me note key facts:

  • Quickstart requires: Vectara account (signup at console.vectara.com/signup), Personal API key copied from Console → Access → API keys, exported as VECTARA_API_KEY. So yes, blocked.
  • No local service stack needed — it's hosted REST; Python SDK vectara (0.4.3 on PyPI, installable), npm package vectara 0.1.8 exists (@vectara/client does not). Docs quickstart version 2.0: create corpus → upload doc → query with mockingbird-2.0 generation preset, x-api-key header (or OAuth2).

Pricing summary (from vectara.com/pricing, fetched today):

  • 30-day free trial: all features, signup at console; trial includes 10,000 free credits (per docs free-trial page).
  • SaaS: starting at $100K/year (1 SaaS deployment) — "Let's talk" (sales-led).
  • VPC: starting at $250K/year (1 VPC deployment, any VPC).
  • On-prem: starting at $500K/year (1 on-premise deployment); also listed on AWS Marketplace (on-prem column featured link).
  • Compare table columns are SaaS/VPC/On-prem; rows: Small/Medium/Large (all supported across tiers — these are deployment sizes, not price tiers), Premium Add-Ons (Forward-Deployed AI Engineer, Platinum Support), Models (Boomerang Retrieval LLM, Advanced Retrieval Engine, Mockingbird Generative LLM, Bring Your Own Model), Vectara Rerankers, AI Agents (Vectara Agents, Conversational AI Experience, Conversational History, Cross-Lingual Support, Inline Citations), AI Governance (Guardian Agents, Factual Consistency Score, Workload Observability, Hallucination Correction, Admin Console), Integration Support.
  • Support: written SLA guarantees for uptime and support response times via ticketing system for Enterprise-tier accounts; status.vectara.com.
  • Note: no self-serve/usage-based public price list; no published per-query/per-credit rates. Credits are the trial unit; actual rates are negotiated.

Important caveat: pricing is enterprise sales-led, $100K+ floor — so it's not a hobbyist/indie product. Trial is the only free path, 30 days, 10k credits.

Manageability read: Easy parts: fully hosted, REST + Python SDK, key-in-env auth (x-api-key), 3 calls for RAG (create corpus, index doc, query w/ generation), citations + factual consistency score built in, no infra to run, status page, SOC-2/HIPAA. For a small example, day-to-day is near-zero ops: one env var, ~40 lines. Friction: account/credit ceiling (10k credits in 30 days → budget burn risk, no public unit rates so cost predictability is poor); version churn — docs are "Version 2.0" with breaking changes from v1 (corpus ID vs corpus key, mockingbird-2.0 preset), and two package names (vectara on npm 0.1.8 vs Python vectara 0.4.3) — need to pin versions; commercial terms require sales engagement; if you ever outgrow SaaS, VPC/on-prem deployment is real ops work ($250K/$500K tiers) — that's where "easy to manage" ends. Verdict: easy to run technically for a prototype (few hours of work, no infra), but not something you can adopt casually given the $100K/yr entry and negotiated pricing. For a personal/hobby RAG project, it's the wrong fit; alternatives with self-serve pricing would be easier.

Also mention I didn't start stacks/long-running things; only HTTP fetches + registry metadata lookups. No files written.

Keep it organized and concise-ish.

Confirmed — that's where it stops. No files written, no services started.

1. The blocker is real: account + API key required

Vectara's quickstart (docs.vectara.com/docs/quickstart, "Version: 2.0") states the prerequisites explicitly:

  • A Vectara account with permission to create corpora, index documents, and run queries — signup at console.vectara.com/signup
  • A Personal API key, copied from Console → Access → API keys, exported as VECTARA_API_KEY

There is no keyless/demo mode, no public sandbox corpus, and no local emulator. Every call in the flow (create corpus → upload document → query) authenticates via the x-api-key header (or OAuth 2.0). So with no account, zero of the three steps can execute. Stopping here as instructed.

Good news on your other constraints: nothing about this needs a local stack or a long-running command. It's pure hosted REST. SDKs are real and installable — Python vectara (latest 0.4.3 on PyPI) and npm vectara (0.1.8; note @vectara/client does not exist, it 404s). The whole example is ~40 lines once a key exists.

2. Pricing (read from vectara.com/pricing, fetched just now)

It is sales-led enterprise pricing, not self-serve:

TierPublished priceNotes
30-Day Free TrialFree"All features included for 30 days"; 10,000 free credits (per docs Free Trial page). Trial clock starts at account creation.
SaaSStarting at $100K/year1 SaaS deployment. CTA is "Let's talk."
VPCStarting at $250K/year1 deployment in any VPC.
On-premStarting at $500K/year1 on-prem deployment; also purchasable via AWS Marketplace.

Other things the page establishes:

  • Credits are the unit of consumption — burned on querying, generation, and model/retrieval use. But there are no published per-credit or per-query rates anywhere on the page; actual cost is negotiated. That's the main pricing-opacity problem.
  • The compare table's "Small / Medium / Large" rows are deployment sizes, all included in every tier — not price tiers. Don't read them as a cheap entry point.
  • Premium Add-Ons (extra, all tiers): Forward-Deployed AI Engineer, Platinum Support.
  • Feature groups compared across tiers: Models (Boomerang retrieval LLM, Advanced Retrieval Engine, Mockingbird generative LLM, BYO model incl. ChatGPT/Claude/Gemini), Vectara Rerankers, AI Agents (conversational history, cross-lingual, inline citations), AI Governance (Guardian Agents, Factual Consistency Score, workload observability, hallucination correction, admin console), Integration Support.
  • SLAs: written uptime and support-response guarantees via their ticketing system, for Enterprise-tier accounts only. Status at status.vectara.com.

Bottom line: free for 30 days, then a six-figure annual floor with negotiated rates.

3. My read on day-to-day manageability

Technically easy — genuinely low ops. Fully hosted; nothing to run, patch, or scale. Auth is one env var. A working RAG loop is three calls, and the platform hands back things you'd otherwise build yourself: numeric inline citations, relevance scores, and a Factual Consistency Score on by default. SDKs are official and current. For a prototype, I'd estimate under an hour of work and near-zero ongoing maintenance.

Where it gets harder:

  • Cost predictability is poor. 10,000 trial credits with no published burn rate per query means you can't model spend before committing. In production you'd be managing an opaque bill against a $100K+ floor.
  • Version churn. Docs are at "Version 2.0" with a different shape from v1 (corpus keys vs. numeric IDs, mockingbird-2.0 generation preset). Pin SDK versions and expect migration work; the Python (0.4.x) and JS (0.1.x) packages are also at very different maturity.
  • The trial forces a decision. 30 days from account creation, and any real evaluation of retrieval quality needs data ingestion plus eval passes — tight for a serious bake-off.
  • Growth path is ops-heavy. Staying in SaaS stays easy. Moving to VPC or on-prem ($250K/$500K) turns this into a deployment you own — that's where "easy to manage" ends.

Verdict: easy to run, awkward to own. For a hobby or small-project RAG demo it's the wrong fit — the account gate plus six-figure floor means you can't adopt it casually. It's built for a company that will sign an annual contract. If you want, I can write the ready-to-run ~40-line ingest-and-query script now so it executes the moment a key exists, or point you at hosted alternatives with actual self-serve pricing.

AX Fundamentals

23 checks. Open an area for details.

This check is a quick preview. Test more tasks and models with Gauge Agents.

Test your product with Gauge Agents

AX Check by Gauge