For people. If you are an agent, the machine-readable version is llms.txt and openapi.json.
curl -s https://api.scopeweb.io/browse \
-H 'content-type: application/json' \
-d '{"query":"stowed","limit":5}'
Every row carries classification, rdap_source and last_verified_at. There is a daily allowance for anonymous callers and the response tells you what is left.
Sign in or create one — email and password, nothing to paste. Drafts, domains and watchlists live on the account. Your browser session authenticates the API directly.
curl -s https://api.scopeweb.io/quote \
-H 'content-type: application/json' \
-d '{"domain":"example.com"}'
The breakdown is itemised: registration, WHOIS privacy where the registry sells it, and our service fee. Every line is a thing that was bought.
A quote returns a confirm_url. That URL is not a purchase — it opens a page where a human types the domain to authorise the charge. There is deliberately no API call and no agent tool that completes an order.
Point an MCP client at https://mcp.scopeweb.io/mcp. It registers itself, you approve the scopes on a consent screen, and that is the whole setup — nothing is issued to you in advance. See the connector page.
Rendered from the live spec, so this table cannot drift from the API.
| tool | http | effect | what it does |
|---|---|---|---|
| create_draft | POST /drafts | writes | Store a draft website and get a persistent preview URL. |
| update_draft | PUT /drafts/{draft_id} | writes | Write a new immutable version of a draft (patch semantics). |
| list_drafts | GET /drafts | read-only | List the user's drafts. |
| get_draft | GET /drafts/{draft_id} | read-only | Read a draft's metadata, file list, or one file's contents. |
| verify_ownership | POST /domains/verify-{action} | writes | Prove domain ownership via a DNS TXT challenge. |
| list_domains | GET /domains | read-only | The user's verified domain inventory with cached scan data. |
| suggest_names | POST /browse | read-only | Suggest domain names for a concept. The first step when choosing a name. |
| score_name | POST /name/score | read-only | Grade candidate names on measurable, audited components. |
| scan_namespace | POST /scan | read-only | Classify an explicit list of domains. |
| check_live | POST /scan/live | read-only | Authoritative registration check. The purchase gate. |
| audit_domain | POST /scan/audit | read-only | Fetch one domain's live, observable surface. |
| set_budget | PUT /projects/{project_id}/budget | writes | Set a project's budget. Echoes carry and headroom immediately. |
| get_finance | GET /projects/{project_id}/finance | read-only | What a project costs to keep, and what is left. |
| kb_search | POST /kb/search | read-only | Search a curated corpus. Retrieval, not authority. |
| show_plans | GET /plans | read-only | The plans, what never varies between them, and where the caller stands. |
| quote_domain | POST /quote | read-only | Price an unregistered name. Proposing is allowed; spending is not. |
The benchmark publishes accuracy against a fixed set with the harness command, so you can run it yourself. Coverage lists every TLD we can answer authoritatively and every endpoint that failed admission.
llms.txt carries the interpretation rules; openapi.json is the machine surface; spec.json is the single source both are generated from.