The NLWeb /ask Endpoint
Most sites make agents scrape HTML to answer a simple question. NLWeb's /ask convention lets a site answer directly, in structured JSON, in one request.
What is NLWeb?
NLWeb (Natural Language Web) is an open specification, backed by Microsoft, for adding a conversational-search layer on top of any website. Instead of an agent crawling pages and inferring an answer from rendered HTML, a site conforming to NLWeb exposes a single convention — an /askendpoint — that accepts a natural-language question and returns a structured answer.
This matters because question-answering is one of the most common things an agent does on a site it has never seen before: “what’s your refund policy,” “do you support webhooks,” “what’s the rate limit on this endpoint.” Without /ask, every one of those questions costs the agent a full crawl-and-parse cycle. With it, the answer is one HTTP request away.
What a Conformant Response Looks Like
A real /ask implementation (this is ainative.ax’s own, live) returns structured JSON with a few key fields: a direct answer when the question maps to known content, a message explaining the result, and a sources array citing where the answer came from.
GET /ask?q=what+standards+do+you+scan+for
{
"query": "what standards do you scan for",
"answer": "AX Audit checks 18 named signals across six AR-* categories...",
"message": null,
"sources": [
{ "title": "Methodology", "url": "https://ainative.ax/methodology" }
]
}When a query doesn’t map to anything the site knows about, a conformant response still returns valid JSON with a clear messagerather than a 404 or an empty body — an agent can treat “no answer found” as a real, parseable outcome instead of a failure to handle.
The Four Things Checked
Responds, and differs from baseline
/ask must return something other than your generic site-wide fallback or 404 page — a real, query-aware response.
Valid application/json
The response must be parseable JSON with the correct Content-Type, not an HTML page that happens to mention the query.
NLWeb-shaped body
The JSON carries the fields an agent expects: a _meta block, a results or sources array, and an answer field (even if null).
SSE streaming support
For longer answers, the endpoint can optionally stream partial results via Server-Sent Events instead of blocking until the full answer is ready.
Where This Fits in AR-* and the AX Score
NLWeb /ask falls under AR-CAP, the category covering what an agent can actually do with your capabilities once it has found them. In the live AX Audit, NLWeb /ask Endpoint is its own named check worth up to 4 of the 100 points, broken into the four signals above.
ainative.ax runs its own /askas a reference implementation. It responds, returns valid NLWeb-shaped JSON, and currently scores 3 of 4 — the point it’s missing is SSE streaming support, which it doesn’t yet implement. That’s a disclosed gap on this site’s own scan, not a claimed capability.
Frequently Asked Questions
Do I need an LLM behind /ask?▼
What should /ask return when it has no answer?▼
Is this the same as a chatbot widget?▼
Check Your NLWeb /ask Score
The AX Audit sends a real query to /ask and checks whether the response is valid, query-aware, NLWeb-shaped JSON — and whether it supports streaming.
Check your /ask score→Free audit. No signup required.