Chat with any filing.
Streaming chat over every 10-K, 10-Q, and Nordic annual report. Cited answers. Drop the React component into your app or stream the API directly.
Cited answers in seconds.
Every answer is grounded in the source filing. Tokens stream as they are generated; citations resolve at end of turn.
> What are Volvo's largest revenue exposures by geography in the latest 10-K? → get_filing(org_nr="5560125485", form="annual") → extract_sections(["segment_revenue", "mdna"]) Volvo Group's 2024 annual report breaks revenue exposure into three dominant geographies: 1. Europe - 38% of net sales, anchored by Trucks and Construction Equipment. 2. North America - 31%, with Mack and Volvo Trucks combined the largest single market. 3. Asia - 18%, with China and India the fastest-growing sub-regions. ↳ Sources: Annual Report 2024 pp. 42-47 · Note 4 (Segment information) · accession SE-5560125485-2024
Stream from the API.
One endpoint, three SDKs. Server-sent events for token streaming, structured citation events at end-of-turn.
$ curl -N https://regnaverkt.com/api/v1/chat \ -H "Authorization: Bearer rk_live_..." \ -H "Content-Type: application/json" \ -d '{"messages":[{"role":"user","content":"Volvo revenue by geography?"}],"org_nr":"5560125485","stream":true}'
const r = await fetch("https://regnaverkt.com/api/v1/chat", { method: "POST", headers: { "Authorization": `Bearer ${process.env.REGNA_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ org_nr: "5560125485", messages: [{ role: "user", content: "Volvo revenue by geography?" }], stream: true, }), }); const reader = r.body.getReader(); const dec = new TextDecoder(); while (true) { const { done, value } = await reader.read(); if (done) break; process.stdout.write(dec.decode(value)); }
import os, requests r = requests.post( "https://regnaverkt.com/api/v1/chat", headers={"Authorization": f"Bearer {os.environ['REGNA_KEY']}"}, json={ "org_nr": "5560125485", "messages": [{"role": "user", "content": "Volvo revenue by geography?"}], "stream": True, }, stream=True, ) for chunk in r.iter_content(chunk_size=None, decode_unicode=True): print(chunk, end="", flush=True)
Server-sent events. Tokens stream in <100ms; citations land at end-of-turn.
Drop-in React components.
Two shipped components from @regna-verkt/ui. Tree-shakeable - importing one does not pull the other.
Full-page chat surface, scoped to one company. Wires straight to /v1/chat with your tenant key.
Floating bubble in the corner of any page. Same backend, less real estate.
import { ChatBot, FloatingChatBot } from '@regna-verkt/ui'
// Full-page chat surface, scoped to one company:
<ChatBot companyId="5560125485" publishableKey={key} />
// Floating bubble in the corner of any page:
<FloatingChatBot publishableKey={key} defaultCompanyId="5560125485" />
See the full component catalogue at /ui/.
Daily quota by plan.
| Plan | Chats / day |
|---|---|
| Basic | 15 |
| Starter | 50 |
| Pro | 300 |
| Business | 2,000 |
Each chat is one user turn. Tool calls and citations are free. Rate limit: 5 per minute regardless of tier.
Already in Claude Desktop or Cowork?
Add Regna's MCP server in 30 seconds and chat over filings inline.
Start chatting.
Chat ships on every paid tier from $9/mo. 14-day trial on Starter, Pro, and Business.