langchain-snaprender
v0.1.0
Published
LangChain.js tools for SnapRender Screenshot API — capture websites as PNG, JPEG, WebP, or PDF
Downloads
24
Maintainers
Readme
langchain-snaprender
LangChain.js tools for SnapRender Screenshot API. Lets your LangChain agents capture website screenshots as PNG, JPEG, WebP, or PDF.
Install
npm install langchain-snaprender @langchain/coreSetup
export SNAPRENDER_API_KEY="sk_live_your_key_here"Get a free key at app.snap-render.com — 50 screenshots/month, no credit card.
Usage
import { SnapRenderScreenshot, SnapRenderCacheCheck, SnapRenderUsage } from "langchain-snaprender";
// Pass API key explicitly or use SNAPRENDER_API_KEY env var
const screenshotTool = new SnapRenderScreenshot();
const cacheTool = new SnapRenderCacheCheck();
const usageTool = new SnapRenderUsage();
// Use standalone
const result = await screenshotTool.invoke({ url: "https://example.com" });
console.log(result);
// Or bind to a LangChain agent
import { ChatOpenAI } from "@langchain/openai";
import { createReactAgent } from "@langchain/langgraph/prebuilt";
const llm = new ChatOpenAI({ model: "gpt-4o" });
const tools = [screenshotTool, cacheTool, usageTool];
const agent = createReactAgent({ llm, tools });
const response = await agent.invoke({
messages: [{ role: "user", content: "Take a screenshot of stripe.com" }],
});Tools
SnapRenderScreenshot (name: take_screenshot)
Capture any website as PNG, JPEG, WebP, or PDF.
Parameters: url, format, full_page, dark_mode, block_ads, block_cookie_banners, device, width, height
SnapRenderCacheCheck (name: check_screenshot_cache)
Check if a screenshot is cached (free, doesn't count against quota).
Parameters: url, format
SnapRenderUsage (name: get_screenshot_usage)
Get current month's usage stats.
License
MIT
