# Tabstack ## Docs - [Changelog](/changelog/index.md): All notable changes to the Tabstack SDK and API, newest first. - [CLI Changelog](/cli-changelog/index.md): All notable changes to the Tabstack CLI, newest first. - [Tabstack vs. Apify](/comparisons/vs-apify/index.md): Apify is a broad crawling and actor platform. Tabstack is a focused managed web API for schema-first extraction, transformation, and research. - [Tabstack vs. Bright Data](/comparisons/vs-brightdata/index.md): Bright Data is a broad proxy and web data infrastructure platform. Tabstack is a managed web API for schema-first extraction and cited research. - [Tabstack vs. Browser Use](/comparisons/vs-browser-use/index.md): Browser Use orchestrates agent workflows. Tabstack handles the web calls inside those workflows. They are complementary layers, not alternatives. - [Tabstack vs. Browserbase](/comparisons/vs-browserbase/index.md): Tabstack is a managed web API. Browserbase is browser infrastructure. How they differ, when to use each, and how they work together in the same agent stack. - [Tabstack vs. building it yourself](/comparisons/vs-diy/index.md): What it takes to build the search-to-answer loop on your own stack, what you get for it, and when owning that loop is the right decision rather than the expensive one. - [Tabstack vs. Exa](/comparisons/vs-exa/index.md): Exa is a search API for retrieval. Tabstack is a managed web API for extraction, transformation, and cited research. - [Tabstack vs. fastCRW](/comparisons/vs-fastcrw/index.md): fastCRW emphasizes open-source, self-hostable web data infrastructure. Tabstack emphasizes managed schema-first extraction and research calls. - [Tabstack vs. Firecrawl](/comparisons/vs-firecrawl/index.md): Firecrawl is built for site-wide crawling and content ingestion. Tabstack is built for matching JSON and cited research calls. How they compare and when to use each. - [Tabstack vs. LangChain Browser Tools](/comparisons/vs-langchain/index.md): LangChain's WebBaseLoader and PlaywrightURLLoader work for prototypes. Here is why they break in production and how Tabstack replaces them with a single API call. - [Tabstack vs. Parallel AI](/comparisons/vs-parallel-ai/index.md): Parallel AI focuses on high-accuracy web search and evidence-oriented retrieval. Tabstack focuses on schema-first extraction and single-call intelligence outputs. - [Tabstack vs. Perplexity](/comparisons/vs-perplexity/index.md): Perplexity is an answer and search experience with APIs. Tabstack is a managed web API that returns clean text, matching JSON, or a cited answer from live sources. - [Tabstack vs. Playwright (and Puppeteer)](/comparisons/vs-playwright/index.md): How Tabstack compares to Playwright and Puppeteer for web extraction, what each is for, where they overlap, and when to use both. - [Tabstack vs. search APIs](/comparisons/vs-search-apis/index.md): Ollama Web Search, Brave Search, and SearXNG return results for your model to work through. Tabstack returns the finished result. What each one hands back, and when search is the better choice. - [Tabstack vs. Stagehand](/comparisons/vs-stagehand/index.md): Stagehand gives you hybrid code-plus-AI browser control. Tabstack gives you full abstraction - one API call, structured output. How to choose, and how they complement each other. - [Tabstack vs. Steel](/comparisons/vs-steel/index.md): How Tabstack compares to Steel. Managed web API vs. self-hosted browser infrastructure. When each is the right choice. - [Tabstack vs. Tavily](/comparisons/vs-tavily/index.md): Tavily and Tabstack both return cited research from live sources. Where they differ: crawling breadth, browser automation, streaming shape, and the self-hosted path. - [Verify a Model Answer Against Live Sources](/examples/claim-verification/index.md): Take a claim your model produced, check it against live sources with /research, and return a verdict plus the pages behind it. Shows how to read claim-level citations off the complete event. - [Competitor Briefing Agent](/examples/competitor-briefing-agent/index.md): Extract structured pricing from a competitor's page and research their recent announcements. A complete working example combining /extract/json and /research. - [Documentation Lookup for a Coding Agent](/examples/documentation-lookup/index.md): Give a coding agent a tool that reads current documentation instead of answering from training data. Uses /extract/markdown for a known URL and /research when the right page is unknown. - [Job Listings Aggregator](/examples/job-listings/index.md): Extract structured job listings from multiple company career pages. Shows how to apply a consistent schema across a list of URLs using /extract/json. - [Keep a Knowledge Base Current](/examples/knowledge-base-refresh/index.md): Re-read a defined set of public pages with /extract/markdown, detect what actually changed with a content hash, and reprocess only those pages in your own pipeline. - [Competitor Pricing Monitor](/examples/price-monitor/index.md): Extract structured pricing from multiple competitor pages in parallel. Shows how to use /extract/json with a consistent schema across a list of URLs. - [Technical Landscape Researcher](/examples/technical-landscape-researcher/index.md): Turn a single question into a cited, multi-source report with /research. Shows streaming progress, fast vs balanced mode, and how to read the cited sources off the complete event. - [Build Your First Tabstack App](/getting-started/build-your-first-tabs-app/index.md): In this tutorial, you'll build a command-line tool that converts a public documentation site into an AI-friendly AGENTS.md file. This file helps AI assistants understand and work with the documented API or tool. - [Tabstack CLI](/getting-started/cli/index.md): Use the full Tabstack API from your terminal. The Tabstack CLI is a single, dependency-free binary for browser automation, web research, and structured extraction, built for shell workflows and CI. - [Ground Your Own Model in Live Sources](/getting-started/ground-your-model/index.md): Build a command-line tool that answers a current question with your own model, grounded in live sources through one /research call. Shows the difference between an ungrounded answer and a cited one. - [Quickstart](/getting-started/quick-start/index.md): Authenticate, verify your key with one cheap call, then make your first /research call and get a cited answer from live sources. - [Understanding Automate Event Flow](/guides/automate-event-flow/index.md): Consume the Server-Sent Event stream from the Tabstack automate endpoint, covering the event lifecycle, typed payloads, and how to drive a UI from each phase. - [Choosing an Effort Level](/guides/effort-levels/index.md): Every extract and generate request accepts an optional effort parameter that controls the tradeoff between speed and capability. - [Extract vs. Generate](/guides/generate/index.md): When to use /extract/json vs /generate/json: extract returns data already on the page, generate has a model produce new data from it. - [Geotargeting](/guides/geotargeting/index.md): Route requests through a proxy in a specific country to extract the content your target page serves to visitors in that region. - [How to Extract JSON Data](/guides/how-to-extract-json/index.md): Use the Tabstack SDK to extract structured JSON from a public web page by defining a schema and letting the API handle the rest. - [How to Generate JSON Data with AI](/guides/how-to-generate-json/index.md): Learn how to use the Tabstack API `/v1/generate/json` endpoint to generate JSON data with AI. - [How to Use the Automate Endpoint](/guides/how-to-use-automate-endpoint/index.md): Run multi-step browser tasks from natural-language instructions with the Tabstack automate endpoint, streaming typed events from task start to final answer. - [Mastering the Markdown Endpoint](/guides/how-to-use-markdown-endpoint/index.md): Convert a public URL to clean, LLM-ready Markdown with the Tabstack /extract/markdown endpoint, with optional metadata and cache control. - [How to Use Interactive Mode](/guides/interactive-mode/index.md): Interactive Mode allows the automation agent to pause and request information from the caller when it encounters forms requiring user data like email addresses, credentials, or preferences. Instead of failing or hallucinating, the agent asks for what it needs. - [Quickstart: Your First Interactive Automation](/guides/interactive-mode-quickstart/index.md): Build a working interactive automation in under 5 minutes. Start a browser task, receive a mid-task form request from the agent, and supply values so the task can continue to completion. - [Orchestrator-in-the-loop](/guides/orchestrator-interactive-pattern/index.md): Handle interactive form events programmatically in autonomous pipelines. Your orchestrator resolves field values from its own context store and passes them back. No human required. - [Pilo: self-hosted automation](/guides/pilo/index.md): Pilo is the open-source automation engine behind Tabstack. Run browser automation on your own machine, with your own model provider, when hosted /automate does not fit. - [Production Reliability](/guides/production-reliability/index.md): Caching behavior, retry handling, error patterns, timeouts, and operational decisions for running Tabstack dependably in production. - [Autonomous Research](/guides/research/index.md): Run multi-source research from a single API call. /research handles source selection, synthesis, and citations. No orchestration code required. - [Schema Design for Accurate Extraction](/guides/schema-design/index.md): The schema you pass to /extract/json and /generate/json is the most important factor in extraction quality. Learn the patterns that produce reliable results. - [Search versus research](/guides/search-vs-research/index.md): What a search API gives your model, what it leaves for your model to do, and which of those steps /research handles inside the call. - [Streaming Patterns](/guides/streaming-patterns/index.md): How to handle Server-Sent Event streams from /automate and /research across TypeScript, Python, and different runtime environments. - [Build with Tabstack](/index.md): Start with a current answer, a URL, or a public web task. Find the quickstart, SDK, integration, API reference, schema guide, and troubleshooting path for the job you are building. - [Agent framework integrations](/integrations/index.md): Use Tabstack as native tools in LangChain, the Vercel AI SDK, Mastra, LlamaIndex.TS, the OpenAI Agents SDK, and eve. Schema-enforced extraction, research, generation, and browser automation, backed by the official SDK. - [Tabstack for eve](/integrations/eve/index.md): eve can call Tabstack when it needs a finished result from the web. Install `@tabstack/eve`, provide a Tabstack key, and get a cited answer, clean text, matching JSON, or a completed public web task as native eve tools. - [Hermes plugin](/integrations/hermes/index.md): Install the tabstack plugin for Hermes Agent and get cited answers from live sources without the model running its own search loop. - [Tabstack for LangChain.js](/integrations/langchain-js/index.md): LangChain.js can call Tabstack when it needs a finished result from the web. Install `@tabstack/langchain`, provide a Tabstack key, and get a cited answer, clean text, matching JSON, or a completed public web task as native LangChain tools. - [Tabstack for LangChain (Python)](/integrations/langchain-python/index.md): LangChain can call Tabstack when it needs a finished result from the web. Install `langchain-tabstack`, provide a Tabstack key, and get a cited answer, clean text, matching JSON, or a completed public web task as native LangChain tools. - [Tabstack for LlamaIndex.TS](/integrations/llamaindex/index.md): LlamaIndex.TS can call Tabstack when it needs a finished result from the web. Install `@tabstack/llamaindex`, provide a Tabstack key, and get a cited answer, clean text, matching JSON, or a completed public web task as native LlamaIndex tools. - [Tabstack for Mastra](/integrations/mastra/index.md): Mastra can call Tabstack when it needs a finished result from the web. Install `@tabstack/mastra`, provide a Tabstack key, and get a cited answer, clean text, matching JSON, or a completed public web task as native Mastra tools. - [Tabstack for the OpenAI Agents SDK](/integrations/openai-agents/index.md): OpenAI Agents SDK can call Tabstack when it needs a finished result from the web. Install `@tabstack/openai-agents`, provide a Tabstack key, and get a cited answer, clean text, matching JSON, or a completed public web task as native Agents SDK tools. - [Tabstack for the Vercel AI SDK](/integrations/vercel-ai/index.md): Vercel AI SDK can call Tabstack when it needs a finished result from the web. Install `@tabstack/ai`, provide a Tabstack key, and get a cited answer, clean text, matching JSON, or a completed public web task as native AI SDK tools. - [Introduction](/introduction/index.md): What Tabstack is, the problem it solves for teams running their own models, and which capability fits your use case. - [Pricing and Plans](/pricing/index.md): How Tabstack billing works: what a credit buys, what each endpoint costs, the three plans, and how overages are handled. - [Error Reference](/production/error-reference/index.md): Every error the Tabstack API returns, what triggers it, and how to handle it. - [Rate Limits and Usage](/production/rate-limits/index.md): How Tabstack's per-minute request rate limits work, what the 429 response carries, and where to see your usage and quota. - [Troubleshooting and FAQ](/production/troubleshooting/index.md): Common failure modes across Tabstack endpoints and how to fix them: empty extractions, timeouts, JS-heavy pages, auth errors, and schema debugging. - [Automation Events](/reference/automate-events/index.md): Orientation for consuming the Server-Sent Event stream from /v1/automate, covering ordering, conditional events, filtering, and consumption patterns. - [Automate Features](/sdks/python/automate/index.md): Execute complex browser automation tasks using natural language with the Tabstack Python SDK. - [Error Handling](/sdks/python/error-handling/index.md): Build robust Python applications with the Tabstack SDK's comprehensive exception hierarchy and handling patterns. - [Generate Features](/sdks/python/generate/index.md): Use AI to transform and analyze web content with the Tabstack Python SDK Generate operator. - [Python SDK Quickstart](/sdks/python/quickstart/index.md): Get up and running with the Tabstack Python SDK in minutes. Installation, authentication, and your first API call. - [Automate Features](/sdks/typescript/automate/index.md): Execute complex browser automation tasks using natural language with the Tabstack TypeScript SDK. - [Error Handling](/sdks/typescript/error-handling/index.md): Build robust TypeScript applications with the Tabstack SDK's comprehensive error class hierarchy and handling patterns. - [Generate Features](/sdks/typescript/generate/index.md): Use AI to transform and analyze web content with the Tabstack TypeScript SDK Generate operator. - [TypeScript SDK Quickstart](/sdks/typescript/quickstart/index.md): Get up and running with the Tabstack TypeScript SDK in minutes. Installation, authentication, and your first API call. - [Data Handling and Retention](/trust/data-handling/index.md): What private by default means, the path your data takes through a Tabstack request, what is stored, and for how long. - [Security Practices](/trust/security/index.md): How Tabstack secures data in transit and at rest, its access controls, and its infrastructure. ## API Reference Links below point to language-neutral HTTP documentation. SDK-specific docs follow the same URL structure with the language inserted after the base path: `/api/{language}/resources/...`. Available languages: http ### [Agent](/api/resources/agent/index.md) - [Automate](/api/resources/agent/methods/automate/index.md): AI Task - [Automate Input](/api/resources/agent/methods/automate_input/index.md): Submit Input Response - [Research](/api/resources/agent/methods/research/index.md): Research ### [Extract](/api/resources/extract/index.md) - [Json](/api/resources/extract/methods/json/index.md): JSON - [Markdown](/api/resources/extract/methods/markdown/index.md): Markdown ### [Generate](/api/resources/generate/index.md) - [Json](/api/resources/generate/methods/json/index.md): JSON