Ways to ingest data
If you already run a tracer, start with the Langfuse or LangSmith card. You forward data the tracer is already collecting, so there is nothing to instrument.Node.js SDK
Two-line integration. Wrap your Anthropic or OpenAI client and calado captures everything in the background.
LangChain
Python callback handler for LangChain and LangGraph with no tracer. Attach via
config={"callbacks": [...]}.Langfuse
Already on Langfuse? Point a webhook at calado. No SDK, no agent code changes.
LangSmith
Already on LangSmith? A LangSmith Automation forwards runs to calado. No SDK, no agent code changes.
Direct API
POST to
/api/ingest from any language. Use this when you’re not on Node, or when you need control the SDK doesn’t give.Serverless patterns
Next.js, Vercel Edge, AWS Lambda, Cloudflare Workers. Flush before the function freezes.
What gets captured
When you wrap your client with the SDK, every LLM call is recorded:
If your app runs an orchestrator that dispatches sub-agents, calado captures each sub-agent boundary as a step and renders the run as a tree, attributing behavior to the right sub-agent. Each path documents how: Node.js SDK, Direct API, Langfuse, LangSmith, and LangChain.
Endpoints
Batch limits
Privacy
Next: pick your integration path
The Node.js SDK is the fastest way in. Start there unless you need a different language.