API KEY
PDF PROCESSING
PDF.co gives your agent PDF processing: convert PDFs to text, CSV, Excel, and JSON, generate PDFs from HTML and office files, parse invoices and documents, fill forms, and merge, split, and secure files.
For more tools, view docs.
import { ScalekitClient } from "@scalekit-sdk/node";
import { createReactAgent } from "@langchain/langgraph/prebuilt";
const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
// PDF.co tools scoped to this user
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["pdfco"], toolNames: [
"pdfco_parse_invoice",
"pdfco_pdf_to_text",
"pdfco_merge_pdfs"] },
pageSize: 100,
});
const agent = createReactAgent({ llm, tools });
await agent.invoke({ messages: [{ role: "user", content: "Extract the line items from this invoice PDF" }] });import OpenAI from "openai";
import { ScalekitClient } from "@scalekit-sdk/node";
const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
const openai = new OpenAI();
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["pdfco"] }, pageSize: 100,
});
const res = await openai.chat.completions.create({
model: "gpt-5",
messages: [{ role: "user", content: "Extract the line items from this invoice PDF" }],
tools,
});
// Execute the tool call with the user's vaulted PDF.co API key
await sk.tools.executeTool(res.choices[0].message.tool_calls[0], "user_123");import Anthropic from "@anthropic-ai/sdk";
import { ScalekitClient } from "@scalekit-sdk/node";
const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
const anthropic = new Anthropic();
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["pdfco"] }, pageSize: 100,
});
const msg = await anthropic.messages.create({
model: "claude-sonnet-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Extract the line items from this invoice PDF" }],
tools,
});
// Tool call runs with the user's vaulted PDF.co API key
await sk.tools.executeTool(msg.content, "user_123");import { Agent } from "@google/adk/agents";
import { ScalekitClient } from "@scalekit-sdk/node";
const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["pdfco"] }, pageSize: 100,
});
const agent = new Agent({
name: "document_agent",
model: "gemini-2.5-pro",
instruction: "PDF.co tools scoped to this user",
tools,
});
await agent.run("Extract the line items from this invoice PDF");// shared key
audit → bot_service_account
// scalekit
audit → user_abc ✓