SDKs
One first-party SDK today: TypeScript. Every other language talks to the same REST API (see the API reference) — the OpenAPI spec ships with the SDK package and is available on request until public launch.
TypeScript / JavaScript
The TypeScript client is not on the public npm registry yet (it's on the roadmap). Until then, request the package tarball at api@forumatlas.com and install it directly:
npm install ./forumatlas-sdk-latest.tgzimport { ForumAtlas } from "@forumatlas/sdk";
const forum = new ForumAtlas({ apiKey: process.env.FORUMATLAS_API_KEY! });
// Latest persisted briefs in your workspace
const { briefs } = await forum.briefs.list({ sector: "cyber", limit: 5 });
console.log(briefs[0].headline);
// Ask a question — synthesized + cited
const answer = await forum.query.ask({
query: "What changed in the cyber-insurance market this quarter?",
sectors: ["cyber"],
});
console.log(answer.headline, answer.sources.length);Retries are replay-safe: the client attaches an Idempotency-Key on the synthesis endpoints and never auto-retries non-idempotent writes. Errors surface the API's Problem Details (RFC 9457) title/detail fields.
Python
No Python SDK yet. The REST API works with any HTTP client:
import os, requests
r = requests.post(
"https://api.forumatlas.com/v1/query",
headers={"Authorization": f"Bearer {os.environ['FORUMATLAS_API_KEY']}"},
json={"query": "What did Lockheed disclose about Sentinel cost overruns?",
"sectors": ["defense"]},
)
body = r.json()
print(body["headline"])
for s in body["sources"]:
print(f'[{s["index"]}] {s["title"]} — {s["url"]}')Other languages
Go, Rust, and generated clients: point your favorite OpenAPI generator at packages/contracts/openapi.yaml. If you build one worth sharing, tell us — api@forumatlas.com.