Sato Hub
REST API

Sato Hub API

Query the index, exports and checks over plain HTTP. No key needed to start.

  • Listings439
  • Chains28
  • Updated2026-10-06

One call

Quickstart

terminal
$ curl -s "https://satohub.ai/api/export/index.json?chain=Base" | jq '.resources[0] | {name, category, trust_score, liveness}'
# the first Base listing: its name, category, Sato Score and liveness

Each export says when it was generated. A null means Sato Hub has no record, never zero.

Listings

Look up one project, or what changed.

  • GET
    /api/resolve

    A GitHub repo or npm package to its listing

  • GET
    /api/changes

    What changed since a date

  • GET
    /api/facts.json

    The public counts, with their date

  • GET
    /api/freshness

    How fresh each data source is

  • GET
    /api/registry/search

    Search Agent Passports

  • GET
    /api/badge/{slug}.json

    Sato Score badge (shields.io JSON)

Embeds & badges

Exports

The whole catalogue in one file. JSON, CSV or NDJSON.

Datasets

Checks & Preflight

Look before you install, connect or pay.

  • GET
    /api/check

    What a package, MCP server, skill or repo can do with your keys

  • POST
    /api/check/install

    Every target in an install command or MCP config

  • POST
    /api/check/batch

    A list of targets against your policy

  • GET
    /api/preflight

    A repo, package, endpoint, agent or token: go, caution, no or unknown

  • POST
    /api/preflight/batch

    A whole dependency manifest in one call

  • POST
    /api/preflight/watch

    Get told when a verdict changes

Sato Check

Route & plan

Which one, and why. Unsigned answers only.

  • GET
    /api/satobot/plan

    A goal in plain words to a build plan

  • GET
    /api/route/swap

    A venue for a swap, fee disclosed

  • POST
    /api/swap/quote

    A swap quote checked against your policy, unsigned

  • GET
    /api/route/agent

    Which registered agent should take a task

  • GET
    /api/route/x402

    An x402 endpoint that answered for a capability

Sato Route

Generate a client

Schemas & OpenAPI

Formats and rulesShowHide

Exports come as JSON, CSV and NDJSON. NDJSON puts one record per line, for streaming and warehouse loads. The change feed tells you what moved since a date, so you do not have to re-pull the whole index; read its coverage block, which says which parts are complete and which are partial.

Signed responses declare their shape with a Link: rel="describedby" header. A breaking change would ship as v2 at a new URL.

Catalog data CC-BY-4.0 — attribution: data by satohub.ai. Scores/liveness are informational signals, not safety or quality guarantees.

Pay per call

Paid calls (x402)

A few reads are paid per call in USDC with x402. No account: your client answers the 402 and retries.

Score history

GET/api/x402/history/{slug}

$0.005 for up to 90 days, +$0.001 per day beyond

Agent-economy series

GET/api/x402/agent-economy

$0.0001 per row, minimum $0.005

Large batch checks

POST/api/preflight/batch

free up to 50 targets and 10 live checks; beyond, $0.0005 per target and $0.005 per live check, minimum $0.005

Pay someone else's x402 endpointShowHide

Ask which declared x402 endpoint answered a 402 in the last seven days for a capability, then pay it with your own wallet. Sato Hub is a read: it does not relay, hold or settle funds.

1 · ask for a route

GET https://satohub.ai/api/route/x402
      ?capability=price-feed&chain=base

→ { "endpoint": "https://seller.example/v1/price",
    "terms": { "scheme": "exact", "network": "base",
               "asset": "USDC" },
    "chosen_by": [ { "signal": "answered HTTP 402 …",
                     "value": "yes, within 7 days",
                     "checked_at": "2026-09-10" } ],
    "checked_at": "2026-09-10" }

2 · pay it from your wallet

{ "tool": "initiate_x402_request",
  "arguments": {
    "url": "https://seller.example/v1/price",
    "method": "GET",
    "maxPayment": { "amount": "0.01",
                    "asset": "USDC",
                    "network": "base" } } }

Chosen by the readings in chosen_by, on the dates shown. A verified 402 is a protocol check: on that date the URL asked for money in a payload a client could parse. It is not a statement that the endpoint works, delivers, is solvent or is safe, and no payment was sent to establish it. No standing verification answers 404 { unknown } rather than a guess.

Building an AI agent?

The MCP server gives it the same data as typed tools.

Reference

QuestionsShowHide

Questions people ask about the Sato Hub API

Do I need an API key?
No. Every public route answers without a key. A key ties your usage to you. The routes under /api/v1 need a key. Plans and limits are on satohub.ai/pricing.
What licence is the data under?
Catalog data CC-BY-4.0 — attribution: data by satohub.ai. Scores/liveness are informational signals, not safety or quality guarantees.
Should I use the API or the MCP server?
Use the MCP server when an AI agent is the caller: it gets typed tools at satohub.ai/api/mcp. Use the API for scripts, spreadsheets, warehouses and generated clients. Both read the same data.
Is there a machine-readable description?
Yes. https://satohub.ai/api/openapi.json describes every public operation, and https://satohub.ai/schemas publishes each response shape as JSON Schema at a stable URL. Schema v1 only ever gains fields.
SourcesShowHide
Cite this pageShowHide

Cite this page

Sato Hub. "Sato Hub API." Sato Hub, updated 2026-10-06, accessed 2026-10-06. https://satohub.ai/docs/api

Data last refreshed 2026-10-06; this page is rebuilt daily. Citations carry the date so a reader can tell which snapshot a claim came from. Catalog data is licensed CC-BY-4.0.