scopeweb.io

Docs

For people. If you are an agent, the machine-readable version is llms.txt and openapi.json.

Quickstart

1 — Look something up. No account needed.
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.

2 — Make an account when you want it to persist.

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.

3 — Price a name.
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.

4 — Buying is a person's job.

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.

Connect an agent

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.

The endpoints

Rendered from the live spec, so this table cannot drift from the API.

toolhttpeffectwhat it does
create_draftPOST /draftswritesStore a draft website and get a persistent preview URL.
update_draftPUT /drafts/{draft_id}writesWrite a new immutable version of a draft (patch semantics).
list_draftsGET /draftsread-onlyList the user's drafts.
get_draftGET /drafts/{draft_id}read-onlyRead a draft's metadata, file list, or one file's contents.
verify_ownershipPOST /domains/verify-{action}writesProve domain ownership via a DNS TXT challenge.
list_domainsGET /domainsread-onlyThe user's verified domain inventory with cached scan data.
suggest_namesPOST /browseread-onlySuggest domain names for a concept. The first step when choosing a name.
score_namePOST /name/scoreread-onlyGrade candidate names on measurable, audited components.
scan_namespacePOST /scanread-onlyClassify an explicit list of domains.
check_livePOST /scan/liveread-onlyAuthoritative registration check. The purchase gate.
audit_domainPOST /scan/auditread-onlyFetch one domain's live, observable surface.
set_budgetPUT /projects/{project_id}/budgetwritesSet a project's budget. Echoes carry and headroom immediately.
get_financeGET /projects/{project_id}/financeread-onlyWhat a project costs to keep, and what is left.
kb_searchPOST /kb/searchread-onlySearch a curated corpus. Retrieval, not authority.
show_plansGET /plansread-onlyThe plans, what never varies between them, and where the caller stands.
quote_domainPOST /quoteread-onlyPrice an unregistered name. Proposing is allowed; spending is not.

The laws this API keeps

  • Unknown is never available. A lookup that failed is reported as unknown, never as a domain you can buy. Only an authoritative registry 404 says not-registered — and even that is not the same as purchasable.
  • Prices are identical for every buyer. They do not vary by budget, by plan, or by anything we know about you. See pricing.
  • Agents propose; people spend. No tool can complete a purchase.
  • We say what we did not measure. An unreadable value is reported as unknown rather than as zero, everywhere, including money.

Check us

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.

FOR AGENTS

llms.txt carries the interpretation rules; openapi.json is the machine surface; spec.json is the single source both are generated from.