ai-setup 5 min read

Tabstack - Browser Infrastructure for AI Agents from Mozilla

Tabstack gives AI agents structured web data and browser automation via a single API. Built by Mozilla, it handles the messy crawling layer so you can focus on the agent logic.

By
Share: X in
Tabstack browsing infrastructure for AI agents

TL;DR

TL;DR: Tabstack (by Mozilla) provides a managed web API for structured data extraction and browser automation — give it a URL and a schema, get clean JSON back. The open-source CLI tool pilo runs the same engine locally.

What Is Tabstack?

Tabstack is Mozilla’s answer to the “last mile” problem in AI agent development: turning messy, JavaScript-heavy web pages into clean, structured data that agents can actually use.

The core product is a REST API. You pass it a URL, a schema (or a plain-language task), and it returns structured output — no browser infrastructure to manage, no LLM orchestration to maintain.

Underpinning the service is pilo, an open-source CLI tool that wraps the same browsing engine. You can run it locally with an OpenAI or OpenRouter API key, or call the hosted Tabstack API directly.

Source and Accuracy Notes

⚠️ This section is MANDATORY. All links must be verified from actual source, not guessed.

Setup Workflow

Option 1 — Hosted API (no setup)

The fastest path. Sign up at tabstack.ai and get 10,000 free credits. No credit card required.

# Structured extraction example
curl -X POST https://api.tabstack.ai/extract/json \
  -H "Authorization: Bearer $TABSTACK_API_KEY" \
  -d '{
    "url": "https://nike.com/t/pegasus-premium-womens-road-running-shoes",
    "schema": { "name": "string", "price": "string", "sizes": [{ "size": "string", "in_stock": "string" }] }
  }'

Response matches your schema exactly:

{
  "name": "Nike Pegasus Premium",
  "price": "$220",
  "sizes": [
    { "size": "W 7 / M 5.5", "in_stock": "in stock" },
    { "size": "W 8 / M 6.5", "in_stock": "sold out" }
  ]
}

Option 2 — Local CLI with pilo

# Install globally
npm install -g @tabstack/pilo

# First-time provider setup
pilo config init
# Interactive wizard: choose OpenAI or OpenRouter, paste your API key.

# Run a browser task
pilo navigate "Go to nike.com and find the price of Pegasus shoes"

The config is stored at ~/.config/pilo/config.json.

Requirements

  • Node.js 22+
  • An OpenAI or OpenRouter API key (cloud), or a local LLM endpoint

Programmatic use (library mode)

npm install @tabstack/pilo
import { Pilo } from "@tabstack/pilo";

const browser = new Pilo({ provider: "openai", apiKey: process.env.OPENAI_API_KEY });
await browser.navigate("https://example.com", "Find the contact email");
const result = await browser.extract({
  url: "https://example.com/about",
  schema: { email: "string", phone: "string" }
});
console.log(result);
// { email: "[email protected]", phone: "+1-555-0100" }

Key Features

Structured Extraction

Define a JSON schema and get back typed, structured data. No more regex scraping or HTML parsing.

Autonomous Research

Ask a question, get a cited answer. Tabstack runs the browsing loop and returns a formatted response with source references.

Browser Automation

Tell pilo what to do in plain language — fill forms, click through login flows, scrape dynamic content behind authentication.

Privacy First

Tabstack states it never trains on your data and does not retain page content after extraction.

Practical Evaluation Checklist

  • Works with JavaScript-rendered pages (single-page apps, React/Vue sites)
  • No browser binaries to install when using the hosted API
  • Free tier: 10,000 credits (enough for hundreds of extractions)
  • Local pilo CLI works offline but requires an AI provider API key
  • Apache-2.0 license — fully open source, can self-host the engine

FAQ

Q: What is the difference between the Tabstack API and the pilo CLI? A: The Tabstack API is a fully managed service — Mozilla runs the infrastructure. Pilo is the open-source CLI that wraps the same engine locally, giving you full control but requiring your own AI provider credentials.

Q: Does pilo work without an internet connection? A: Pilo itself works offline for local browsing tasks, but it requires an AI provider (OpenAI or OpenRouter) to interpret natural-language commands. You need API keys for that.

Q: What formats does the extraction API support? A: The primary endpoint is /extract/json which returns schema-matched JSON. Other output modes (CSV, plain text) are documented on the Tabstack pricing page.

Q: Is there a rate limit on the free tier? A: Tabstack provides 10,000 free credits with no credit card required. After that, paid plans are available at the pricing page.

Conclusion

Tabstack solves the unglamorous but critical problem of getting reliable data out of the modern web and into your AI agent’s context window. The managed API is the fastest path — sign up, paste a URL, get clean JSON. The open-source pilo CLI gives developers who want to self-host or run locally the same underlying engine. Worth evaluating if your agent stack involves any web interaction.

For runany.dev readers: pilo is Apache-2.0, the setup takes under five minutes, and the free tier is generous enough to prototype against real sites before committing to a paid plan.