For agents · /agents

Give your agent finished output from the live web in a single API call.

Your agent reads any page as structured data or clean Markdown, gets cited answers researched across live sources, and acts on sites that need navigation or forms.

Output agents can act onReal browser renderingMozilla-backed privacy

agent.research · competitor scan

query: “Compare pricing and free tiers across the top 3 analytics platforms”

Synthesized Comparison

PlatformEntry priceFree tier
Northwind$0/moYes
Cobalt$29/seatNo
Meridian$49/moLimited
9 sources cited across 3 vendors

For your agent

Everything your agent needs, in one file

No crawling the docs or piecing it together.

Open /agents.md →

Start here

Get a Key, Then Make the Call

Every surface uses one API key. Set it as TABSTACK_API_KEY from the console, or let the CLI provision one for you (below). For an agent, the hosted MCP endpoint is the fastest way in.

Features

  • Hosted MCP server: https://tabstack.stlmcp.com
  • Also available: TypeScript & Python SDKs
  • Prefer the terminal? Use the CLI below
.mcp.json
{
  "mcpServers": {
    "tabstack": {
      "type": "http",
      "url": "https://tabstack.stlmcp.com",
      "headers": { "x-tabstack-api-key": "${TABSTACK_API_KEY}" }
    }
  }
}

Command line

Prefer the Terminal? Use the CLI

One command installs it, and tabstack auth login signs you in through your browser and provisions your API key in the same step. No separate signup, no key to copy by hand.

Features

  • Sign in + key in one step: tabstack auth login
  • Every endpoint from the terminal or a script
terminal
# Install (macOS / Linux)
curl -fsSL https://tabstack.ai/install.sh | sh

# Sign in with your browser — creates your account and provisions an API key in one step
tabstack auth login

# Extract structured JSON from any URL
tabstack extract json https://example.com \
  --schema '{"type":"object","properties":{"title":{"type":"string"}}}'

Five endpoints

Five endpoints cover every job your agent has on the web

Read a page, transform its content, research across live sources, or act on a site. Each is one call that returns finished output.

tabstack/extract/json
/extract/json
tabstack extract json \
  https://store.example.com/products/aurora-trail-jacket \
  --schema '{"type":"object","properties":{"name":{"type":"string"},"price":{"type":"number"},"in_stock":{"type":"boolean"}}}'
200 OK · application/json
{
  "name": "Aurora Trail Running Jacket",
  "price": 148,
  "currency": "USD",
  "in_stock": true,
  "sizes": [
    { "size": "S", "in_stock": true },
    { "size": "M", "in_stock": false },
    { "size": "L", "in_stock": true }
  ]
}

When to Use Which

  • Extract. Use /extract/json when the page has a known structure and you want it as JSON, or /extract/markdown to read a page as clean Markdown.
  • Generate. Use /generate/json to transform and summarize page content into a new shape, not just lift what is already there.
  • Research. Use /research for a cited answer synthesized across multiple live sources.
  • Automate. Use /automate for an interactive multi-step browser task: navigation, clicks, and forms on pages you do not control.

Effort, Caching, Geotargeting

  • effort: min (fastest), standard (default), max (full browser rendering). On extract/json, extract/markdown, and generate/json.
  • nocache: set true to bypass the cache and force fresh retrieval.
  • geo_target: an ISO 3166-1 alpha-2 country code. On extract/json, extract/markdown, generate/json, and automate. Not on research.

Streaming Model

/automate and /research always stream over Server-Sent Events. Iterate the stream and switch on the event type.

  • automate terminates task:validated then task:completed then complete then done. Read the final answer from task:completed.
  • research emits phase progress, then one complete event with the cited report. There is no done event for research.

Errors and Retries

StatusError Type
400BadRequest
401Authentication
403PermissionDenied
404NotFound
409Conflict
422UnprocessableEntity
429RateLimit
500+InternalServer

The SDK retries twice with exponential backoff on 408, 409, 429, and 500+. Everything else throws a typed error you catch.

Point your agent at Tabstack.

Finished output from the live web in a single API call. Get a key and make your first call in minutes. Free to start.