ForHosting KIT · Semantic Search & RAG

Chat with a website

A support bot that answers from general knowledge will eventually invent a policy your company never had. This endpoint restricts every answer to what's actually published on your site, so the bot can't say more than your pages actually do.

● StablePer request + per query$0.003
Use it from WebAPIEmailApp soonTelegram soon

Run this on our servers with your account. Free tools run in your browser; this one bills your KIT balance per the price above.

The scoping problem every site chatbot runs into

A generic chatbot answers fluently whether or not it actually knows your return policy, your pricing tiers, or your onboarding steps — and a confident wrong answer is worse for a support experience than no answer at all. rag.chat_website solves the scoping problem directly: the bot's knowledge is bounded by the pages you point it at, so a question outside that scope gets treated as out of scope, not guessed at.

How a request is structured

POST /rag/chat-website with the site or set of pages to draw from and the visitor's question, and the task runs asynchronously — you receive a task_id right away and the answer arrives afterward, through a signed webhook call or a signed link valid for 24 hours. The answer stays grounded in the site content that was indexed, which means updating the source pages is how you correct or expand what the bot knows, not retraining anything.

Why a website is a harder source than a single document

A website isn't one static text — it's dozens or hundreds of pages that get edited, added, and occasionally left stale, with the real answer to a question sometimes split across a pricing page and a separate FAQ. Retrieval has to find the right pages among all of them before an answer can be generated, which is a different problem than answering from a single self-contained file. That's also exactly why this pattern outperforms a hardcoded FAQ script: it adapts automatically as the site's actual content changes, rather than drifting out of sync with a script nobody remembered to update.

Deploying it as a live support surface

Because the task is billed per request plus per query and runs async, teams typically sit this behind a chat widget where each visitor question fires one request and the answer streams back through a webhook. A handful of questions a day and a few thousand cost the same per unit, so a launch that suddenly gets traffic doesn't require replanning the integration — it just runs more instances of the same request.

The honest failure mode matters as much as the answer

The real test of a site-scoped bot isn't how well it answers the easy questions — it's what it does when a visitor asks something your pages simply don't cover. Because the bot only draws on indexed site content, a genuinely unanswerable question surfaces as an unanswerable question rather than a plausible-sounding invention, which is the difference between a support tool people trust and one that quietly erodes that trust the first time it's wrong.

Pre-sales chat on a marketing site

A SaaS company lets visitors ask pricing and feature questions answered strictly from the published pricing page and docs, not invented specs.

Onboarding help inside a product

A product team answers 'how do I set up X' questions by drawing only from the current help centre articles, staying accurate as those articles change.

Store policy questions on an e-commerce site

An online store answers shipping and return questions from its actual policy pages, avoiding the risk of a bot inventing a more generous policy.

Documentation search for developers

A developer platform lets users ask a plain-language question and get an answer sourced from the current API documentation pages.

How does the chat with website API work?

POST the site or pages to index along with the visitor's question to /rag/chat-website, and receive the grounded answer by webhook or a signed link valid for 24 hours.

Is the website chatbot API free?

No, there is no free tier or trial; it costs $0.003 per request plus $0.015 per query, and a failed task is never charged.

Will the bot answer questions unrelated to my site?

No, answers are drawn only from the indexed site content, so questions outside that scope are treated as unanswerable rather than guessed.

How do I update what the bot knows?

Update the source pages you point the endpoint at; there's no separate retraining step, since each request re-reads the current content.

Can it handle a large multi-page website?

Yes, it retrieves the relevant pages from your full site before generating each answer, regardless of how many pages you have.

Can I embed this in a live chat widget?

Yes, each visitor question maps to one async request, and the answer can be delivered through a webhook to your chat interface as it completes.

Is this endpoint live?

Yes, /rag/chat-website is live and accepting production traffic now.

Is my site content stored after answering?

No, indexed content and results are deleted after the retention window and never used for training.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/rag/chat-website

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, and soon from our app, email and Telegram.

curl -X POST https://api.kit.forhosting.com/rag/chat-website \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":"…"}'
{
  "input": "…"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "rag.chat_website",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.003
Per query$0.015

Published price — no tokens, no invented credits. A failed task is never charged.

max_chunks10000
max_tokens20000
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.
422task_failedThe task failed after 3 retries. You are never charged for it.

Read the full KIT documentation →