ClousDocs

SDKs & Install

Install the official Clous SDKs — Python (pip install clous), TypeScript / Node (@clousai/sdk), and the MCP server (@clousai/mcp) — or skip the SDK entirely with any OpenAI-compatible client.

SDKs & Install

Clous ships three official, published packages plus a zero-install path. They all talk to the same live API at https://api.clous.ai, send the same Bearer key, and return the same response envelope.

No signup needed to try. Every snippet below uses the public sandbox key clous_live_sandbox_public_demo. Paste and run. When you're ready for your own credits, get a free key (100 credits, no card) from app.clous.ai — see Authentication.

Install

pip install clous
npm install @clousai/sdk
# Run the MCP server locally over npx…
npx @clousai/mcp
# …or use the zero-install hosted server at https://mcp.clous.ai
# Nothing to install — point any OpenAI-compatible client at Clous:
#   base_url = https://api.clous.ai/v1
#   model    = "clous"

Quickstart

The snippets below all make the same call — resolve the entity "apple" — using the public sandbox key, so you can run them with no account.

curl
curl -s "https://api.clous.ai/v1/entities?q=apple&limit=1" \
  -H "Authorization: Bearer clous_live_sandbox_public_demo"
from clous import Clous

# api_key defaults to CLOUS_API_KEY; here we pass the public sandbox key explicitly.
client = Clous(api_key="clous_live_sandbox_public_demo")

page = client.entities.search(q="apple", limit=1)

for entity in page:           # a Page iterates over page.data
    print(entity)

# Envelope metadata stays available as attributes on the Page:
print(page.as_of, page.source, page.has_more, page.next_cursor)
import { Clous } from "@clousai/sdk";

// apiKey defaults to process.env.CLOUS_API_KEY; here we pass the sandbox key.
const clous = new Clous({ apiKey: "clous_live_sandbox_public_demo" });

const res = await clous.entities.search({ q: "apple", limit: 1 });

for (const entity of res.data) {
  console.log(entity);
}

// Standard envelope fields:
console.log(res.as_of, res.source, res.page.has_more, res.page.next_cursor);

MCP

Connect any MCP client (Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Zed) to Clous and your agent gets typed SEC tools with no HTTP glue. Use the hosted server (zero install) or run @clousai/mcp locally.

{
  "mcpServers": {
    "clous": {
      "type": "http",
      "url": "https://mcp.clous.ai",
      "headers": { "Authorization": "Bearer clous_live_sandbox_public_demo" }
    }
  }
}
{
  "mcpServers": {
    "clous": {
      "command": "npx",
      "args": ["-y", "@clousai/mcp"],
      "env": { "CLOUS_API_KEY": "clous_live_sandbox_public_demo" }
    }
  }
}

Zero-SDK (OpenAI-compatible)

Already wired to OpenAI? Point your existing client at Clous — no Clous SDK required. Set base_url to https://api.clous.ai/v1 and model to "clous". Answers are grounded strictly in SEC filing text, with citations on the completion.

from openai import OpenAI

oai = OpenAI(
    base_url="https://api.clous.ai/v1",
    api_key="clous_live_sandbox_public_demo",
)
resp = oai.chat.completions.create(
    model="clous",
    messages=[{"role": "user", "content": "Summarize Apple's most recent 8-K."}],
)
print(resp.choices[0].message.content)
import OpenAI from "openai";

const openai = new OpenAI({
  baseURL: "https://api.clous.ai/v1",
  apiKey: "clous_live_sandbox_public_demo",
});
const res = await openai.chat.completions.create({
  model: "clous",
  messages: [{ role: "user", content: "Summarize Apple's most recent 8-K." }],
});
console.log(res.choices[0].message.content);

The response envelope

Every REST endpoint — and every MCP tool — returns the same shape, so you learn it once:

{
  "data": [ /* records */ ],
  "page": { "limit": 1, "next_cursor": "…", "has_more": true },
  "as_of": "2026-06-13T00:00:00Z",
  "source": "edgar",
  "query_echo": { "q": "apple", "limit": 1 },
  "warnings": []
}

Paginate by passing page.next_cursor back as ?cursor=. Both SDKs also expose an iterate(...) auto-paginator on every list resource that streams records across all pages for you. See Pagination, Errors & Rate limits.

Next steps

On this page