Synoppy v1.0 is here— start free
DocsIntegrations
Tooling

Framework integrations

Synoppy plugs into the agent frameworks you already use. Each integration exposes all nine endpoints as ready-made tools — read, search, crawl, map, extract, classify, enrich, images, and screenshot — so your agent gets the whole web on one key. They wrap the official SDKs, so results and credit accounting match the HTTP API exactly.

Prefer Claude Desktop, Cursor, or another MCP client? Use the MCP server instead — the same nine tools, zero code.

Vercel AI SDK

synoppyTools() returns every endpoint as an AI SDK tool — spread it straight into generateText or streamText.

npm install @synoppy/ai-sdk ai zod

import { generateText } from "ai";
import { openai } from "@ai-sdk/openai";
import { synoppyTools } from "@synoppy/ai-sdk";

const { text } = await generateText({
  model: openai("gpt-4o"),
  tools: synoppyTools({ apiKey: process.env.SYNOPPY_API_KEY }),
  maxSteps: 5,
  prompt: "Summarize the latest post on https://stripe.com/blog",
});

LangChain (JavaScript)

npm install @synoppy/langchain @langchain/core zod

import { ChatOpenAI } from "@langchain/openai";
import { synoppyTools } from "@synoppy/langchain";

const tools = synoppyTools({ apiKey: process.env.SYNOPPY_API_KEY });
const model = new ChatOpenAI({ model: "gpt-4o" }).bindTools(tools);

LangChain (Python)

pip install langchain-synoppy

from langchain_openai import ChatOpenAI
from langchain_synoppy import get_synoppy_tools

tools = get_synoppy_tools(api_key="syn_live_...")
model = ChatOpenAI(model="gpt-4o").bind_tools(tools)

LlamaIndex

pip install llama-index-tools-synoppy

from llama_index.tools.synoppy import SynoppyToolSpec

tools = SynoppyToolSpec(api_key="syn_live_...").to_tool_list()

CrewAI

pip install crewai-synoppy

from crewai import Agent
from crewai_synoppy import synoppy_tools

agent = Agent(
    role="Web researcher",
    goal="Find and summarize current information from the web",
    backstory="Uses Synoppy to read and search the live web.",
    tools=synoppy_tools(api_key="syn_live_..."),
)

Every tool returns a compact result plus creditsUsed, and hands back { error, code } on failure so the model can read it and recover. For typed extraction (a JSON Schema), custom timeouts, or raw responses, use the SDKs directly. Grab a key in the dashboard to start.