C
Contextly
Add a live chatbot to any website

Any website, a working chatbot in minutes.

Point Contextly at your docs, drop in one script tag, and a grounded AI chatbot goes live on your site — no infrastructure to manage.

Open, portable, self-hostable

FastAPIAPI
PostgreSQL + pgvectorvector store
Redisbroker + cache
Dramatiqasync workers
Azure OpenAIembeddings + LLM
Dockerself-host
Prometheusmetrics
Next.jsdashboard
Capabilities

Everything you need to ship a production RAG chatbot

No infrastructure to manage. We handle ingestion, retrieval, auth, and monitoring so you can focus on your users.

Document Ingestion

Upload PDFs, Markdown, or paste a URL — Contextly chunks, embeds, and indexes it with Azure OpenAI embeddings.

guide.pdf
faq.md
docs.site/api

Embeddable Widget

One script tag drops a secure chat widget onto any site. Iframe isolation keeps customer data where it belongs.

Assistant · online

Semantic Search

High-performance vector retrieval over pgvector HNSW indexes, tuned for relevance and context-window limits.

Tenant Isolation

Every database query is scoped to a project_id, with Row-Level Security as defense-in-depth. Your data never leaks across tenants.

Tenant A
Tenant B

Async Ingestion

Heavy processing is offloaded to Dramatiq workers via Redis, so uploads never block your API or dashboard.

invoice.pdf
faq.md
handbook.pdf

Observability

Structured JSON logs, Prometheus metrics, and real-user widget telemetry give you full visibility into performance and usage.

How it works

From docs to live chatbot in four steps

Step 1

Upload your content

Drop in PDFs, paste a URL, or add Markdown. We accept the formats your docs already live in.

docs.pdf
Step 2

Chunk & embed

Content is split into context-aware chunks and converted into embeddings by Azure OpenAI, stored in pgvector.

chunk 1chunk 2chunk 3
Step 3

Users ask questions

Your visitors chat through the embedded widget or your own API integration. Every request is tenant-scoped.

“What are your refund terms?”
Step 4

Get grounded answers

The model answers from retrieved chunks with inline citations, reducing hallucinations and building trust.

refund-policy.md

Integration

Add Contextly to your site in seconds

Drop one script tag before the closing body tag. The widget fetches a short-lived token, loads the iframe, and starts answering questions from your indexed content.

  • No build step required
  • Works on any website or CMS
  • Automatic token refresh before expiry
  • Origin-validated for your domain
embed.html

Security

Built safe by default

Security is not a checkbox here. It shapes how we store keys, issue tokens, and isolate tenant data.

Tenant isolation

Every database query includes project_id. Combined with Row-Level Security, your data stays strictly separated — no cross-tenant leakage, ever.

WHERE project_id = $1+ROW LEVEL SECURITY

bcrypt API keys

API keys are hashed with bcrypt, never SHA-256. They resist GPU cracking and are easy to rotate or revoke.

JWT widget tokens

Short-lived tokens validated for signature, expiry, issuer, audience, and origin on every request.

No wildcard postMessage

Widget and parent communicate with explicit targetOrigin. No open wildcards, ever.

Guarantees

What holds true from day one

Row-level security on every query

project_id scoping enforced in-app and by PostgreSQL RLS.

Short-lived widget tokens

24h signed JWTs, origin-validated, auto-refreshed.

bcrypt-hashed API keys

Keys are never stored or logged in plaintext.

Observability out of the box

Structured JSON logs, Prometheus metrics, widget telemetry.

Pricing

Start free, scale with confidence

Generous free tier for side projects. Pro when you need more projects, higher token limits, and priority support.

Free

For getting started

₹0forever
  • 1 project
  • 200K token cap
  • Community support
Most Popular

Pro

For serious projects

₹499/ 30 days
  • 5 projects
  • 2M token cap
  • Higher token limits
  • Priority support

FAQ

Questions? Answered.

Ready to ship your AI assistant?

Join teams building the next generation of customer-facing support and documentation chatbots.