Web data infrastructure for AI agents

The open web, delivered as clean, structured data

Shoal is one API to fetch, traverse, seek, and watch any site on the internet — built for the agents, pipelines, and products that never stop asking the web questions.

Usage-based pricing from $19/month · cancel anytime

shoal.fetch()
from shoal import Shoal

client = Shoal(api_key="sk_live_...")

page = client.fetch.create(
    url="https://example.com/pricing",
    formats=["markdown", "screenshot"],
)

print(page.markdown)

Trusted by data & AI teams shipping fast

PORTSIDEANCHORPOINTFATHOMLYDRIFTLINELEDGERBIRDNORTHLIGHTCOMPASSOWAYFARER
Seven ways in

One account, every way to pull data from the web

Each endpoint does one job well — combine them into the pipeline your product actually needs, from a single page fetch to a million-URL sweep.

/fetch

One page, every format

Point Fetch at a URL and get back rendered Markdown, HTML, plain text, a PDF, or a full-page screenshot — JavaScript included, no headless browser to babysit.

  • JS-rendered pages
  • Screenshots & PDF export
  • Custom actions before capture
/traverse

Follow a site, not just a page

Traverse walks a domain the way a reader would — following links to a depth you set, filtering by path, and handing back clean content for every page it visits.

  • Depth & path controls
  • Sitemap-aware
  • Dedupes near-identical pages
/chart

Every URL, mapped in seconds

Chart reads a site's sitemaps and on-page links to hand you the full list of reachable URLs, ready to filter and feed straight into a Traverse or Bulk job.

  • Sitemap + link discovery
  • Pattern filtering
  • Paginated for large sites
/seek

Ask the web a question

Seek takes a plain-language query and returns ranked, relevant links from across the open web — the retrieval half of retrieval-augmented generation, done for you.

  • Natural-language queries
  • Ranked, deduped results
  • Region & recency controls
/brief

Grounded answers, not guesses

Brief searches, reads, and synthesizes an answer to a question in the JSON shape you define — and says so plainly when the web doesn't have a confident answer.

  • Source-grounded synthesis
  • Typed JSON output
  • Explicit when unverifiable
/watch

Let the web tell you when it changes

Describe what matters — a price, a headline, a new listing — and Watch checks on your schedule, surfacing only the deltas that actually happened.

  • Scheduled checks
  • Diff-only alerts
  • Email, webhook, or SMS
/bulk

Thousands of URLs, minutes not days

Hand Bulk a list of up to ten thousand URLs and get structured results back in one pass — then run as many Bulk jobs in parallel as your pipeline needs.

  • Up to 10k URLs per job
  • Parallel job scheduling
  • Aggregate or per-URL output
Built for developers

An SDK that gets out of your way

Typed clients for Python and Node, a predictable REST surface underneath, webhook events for every long-running job, and metadata on every response — so you spend your time on the pipeline, not the plumbing.

from shoal import Shoal

client = Shoal(api_key="sk_live_...")

result = client.fetch.create(
    url="https://en.wikipedia.org/wiki/Alexander_the_Great",
    formats=["markdown", "html"],
)

print(result.markdown_content)
/fetch/traverse/chart/bulk/seek/brief/watch

99.9%

API uptime, measured monthly

6.2B+

Pages processed to date

<900ms

Median time to first byte

60%

Typical cost drop vs. self-hosted scraping

Autopilot

Describe the pipeline. Shoal builds it.

Autopilot turns a plain-language instruction into a working, scheduled data pipeline — chaining Fetch, Traverse, Seek, and Watch behind the scenes so you don't have to wire each call by hand.

1

Describe it

“Track every new job posting from these 40 competitors, weekly.”

2

Shoal plans it

Chart discovers URLs, Watch schedules the checks, Brief structures the output.

It runs itself

A live pipeline, versioned and editable, delivering JSON on your schedule.

From the people who page us at 2am

Teams that stopped babysitting scrapers

We ripped out a homegrown fleet of headless browsers in an afternoon. Shoal's Bulk endpoint now does the same job for a third of the infra cost.
Elena Marsh · Co-founder & CTO, Portside Analytics
Autopilot is the part that sold the team. We describe a research workflow in a sentence and it comes back as a working pipeline, not a demo.
Diego Halvorsen · Head of Data, Anchorpoint
Our lead enrichment used to break every time a target site changed its markup. It hasn't broken once since we moved it onto Shoal's parsers.
Priya Anand · Co-founder & CEO, Fathomly
Watch caught a competitor's price change four hours before our old scraper would have even run. That gap is the whole product now.
Sam Okafor · Growth Lead, Driftline Robotics
Support answered a scaling question on a Saturday. That's rare enough in this category that it's basically why we stayed.
Nora Kastelic · Founder, Ledgerbird
We index a few hundred thousand pages a week for search grounding. Shoal is the only provider we tested that didn't fall over past 50k.
Theo Brandt · ML Infrastructure, Northlight AI
Connect once

Plug into the stack you already run

Shoal ships as an MCP server, a CLI, and typed SDKs — so it drops into coding agents, orchestration frameworks, and no-code tools alike.

View all integrations

AI coding assistants

Give an in-editor agent live web access without leaving the IDE.

Orchestration frameworks

Drop Shoal in as a tool call in whatever framework already runs your agents.

No-code automation

Wire web data into a workflow builder without writing an integration by hand.

MCP-compatible clients

Register once, then call Shoal's tools from any client that speaks MCP.

Pricing that scales down, too

Pay for successful requests. Nothing else.

No bandwidth fees, no proxy line-items, no charge for failed calls — just usage-based plans that scale with you.

Builder

For a side project or an internal tool that's started to matter.

$19/ month
  • 6,000 successful requests / month
  • JS rendering + rotating residential IPs
  • 100 concurrent requests
  • Email support

Team

The plan most growing product and data teams settle on.

$79/ month
  • Everything in Builder, plus:
  • 150,000 successful requests / month
  • 400 concurrent requests
  • Autopilot pipelines included

Scale

For teams running production pipelines against millions of pages.

$299/ month
  • Everything in Team, plus:
  • 750,000 successful requests / month
  • 800 concurrent requests
  • Priority infrastructure & routing
Questions

Good to know before you integrate

Shoal is a web data API: one interface for fetching, crawling, searching, and monitoring public web content, returned as clean Markdown, HTML, or structured JSON. It's built for teams whose product or pipeline depends on the open web, so you don't have to run browsers, proxies, or parsers yourself.

Give your agents a real connection to the web

Simple usage-based pricing, priced to scale, and built by people who'd rather ship your feature than argue about proxies.