{"name":"audit.domains API","version":"v1","description":"Deterministic domain valuation over HTTPS: the same name always returns the same figure, with a published low/high interval.","authentication":{"scheme":"Authorization: Bearer <key> or X-Api-Key: <key>; keys start with ad_live_ and require a paid plan.","keysUrl":"https://audit.domains/developers"},"services":[{"id":"discover","what":"This menu, the API contract, the MCP manifest and plain-text briefs.","price":"free","engine":"none","http":["GET https://audit.domains/api/v1","GET https://audit.domains/api/openapi.json","GET https://audit.domains/mcp","GET https://audit.domains/.well-known/api-catalog","GET https://audit.domains/llms.txt"],"mcpTools":["list_offers"]},{"id":"look_up_figure","what":"The figure, low/high interval, factors and citation for one name. MCP cache hits use no API credits; without a key, catalog fallbacks are free. On the default profile a cache miss with an authorized write-scope paid key can consume one API credit even for a catalog name, subject to allowance, rate limits and server budget. A keyless cache miss receives catalog context or its browser report link; rejected keyed runs return an error. Directory calls never run the engine.","price":"free stored cache hits and no-key catalog fallbacks; 1 API credit per fresh MCP engine run with a write-scope paid API key","engine":"budgeted","apiCreditsPerEngineRun":1,"http":["GET https://audit.domains/domain/{name}/index.json"],"mcpTools":["appraise_domain"]},{"id":"compare","what":"Rank up to 10 names, or run a 2 to 8 name bracket. MCP cache hits use no API credits; without a key, catalog fallbacks are free. On the default profile each cache miss with an authorized write-scope paid key can consume one API credit even for a catalog name, subject to allowance, rate limits and server budget. A batch is not a single credit; do not assume all names will fit the remaining allowance. Directory calls never run the engine.","price":"free stored cache hits and no-key catalog fallbacks; 1 API credit per fresh name run with a write-scope paid API key","engine":"budgeted","apiCreditsPerEngineRun":1,"http":[],"mcpTools":["compare_domains","run_bracket"]},{"id":"comparable_sales","what":"Up to five comparable recorded sales from a cached appraisal or an authorized fresh run. MCP cache hits use no API credits; without a key, catalog fallbacks are free but may contain no comparables. On the default profile a cache miss with an authorized write-scope paid key can consume one API credit even for a catalog name, subject to allowance, rate limits and server budget. A keyless cache miss gives catalog context and a browser report link; rejected keyed runs return an error. Directory calls never run the engine.","price":"free stored cache hits and no-key catalog fallbacks; 1 API credit per fresh MCP engine run with a write-scope paid API key","engine":"budgeted","apiCreditsPerEngineRun":1,"http":[],"mcpTools":["find_comparable_sales"]},{"id":"search_recorded_sales","what":"Filtered search of the fixed public recorded-sales sample and the recent-sales feed. Never starts an appraisal run; row-level search of the full corpus needs a paid API key or plan.","price":"free","engine":"none","http":["GET https://audit.domains/recent-sales.xml"],"mcpTools":["search_recorded_sales"]},{"id":"verify_certificate","what":"Check a certificate: offline integrity from its verifier URL, and authenticity from the issuer.","price":"free","engine":"none","http":["GET https://qgymqthqxkbbfzmqkluy.supabase.co/functions/v1/make-server-ac24710d/certificate-issuance/verify?serial={serial}"],"mcpTools":["verify_certificate"]},{"id":"registration_facts","what":"Whether names are registered (up to 25 per call, or one name across common suffixes), available names built from keywords, one name's public record before buying, and a portfolio's renewal dates. Live DNS and registry RDAP, never the engine; past the per-caller lookup limit an answer lists the unchecked names and the exact call that checks them.","price":"free","engine":"none","http":["GET https://audit.domains/api/registry-evidence?domain={name}"],"mcpTools":["check_domain_availability","suggest_available_names","inspect_domain","check_portfolio_renewals"]},{"id":"find_names_for_sale","what":"Search, ask in plain English about, and follow the change feed of names listed by their DNS-verified owners; read any name's own _for-sale DNS records or parked for-sale page; build a portfolio lander.","price":"free","engine":"none","http":["GET https://audit.domains/api/market/listings","GET https://audit.domains/api/market/ask?q={sentence}","GET https://audit.domains/api/market/changes","GET https://audit.domains/api/market/dns-listing?domain={name}","GET https://audit.domains/for-sale/"],"mcpTools":["search_domain_listings","ask_domain_market","read_for_sale_page","read_for_sale_dns","build_portfolio_lander"],"liveStatus":"https://audit.domains/api/market"},{"id":"buy_listed_name","what":"Buy a listed name at its fixed price. The card is held, not charged, until the name has moved; the hold voids itself after 7 days otherwise. The buyer pays the price and no fee.","price":"the listing's price","engine":"none","http":["GET https://audit.domains/api/market/quote?domain={name}","POST https://audit.domains/api/market/checkout"],"mcpTools":["quote_domain_purchase","get_order_status","act_on_order"],"liveStatus":"https://audit.domains/api/market"},{"id":"sell_a_name","what":"List a name you control: prove it in DNS, connect a US Square account, set the price, floor and auto-accept rule. Up to 20 names go in one prepared link.","price":"free to list; 5% of a completed sale, minimum price $10","engine":"none","http":["https://audit.domains/market/sell"],"mcpTools":["prepare_bulk_listing","get_seller_listing","set_listing_terms"],"liveStatus":"https://audit.domains/api/market"},{"id":"fresh_appraisal_by_card","what":"Human pays: one fresh appraisal, paid by card on a Square page: no key, no account. A person pays; the agent collects the result.","price":"$5 per appraisal, by card","usd":5,"engine":"budgeted","http":["POST https://audit.domains/api/machine/resolve"],"mcpTools":["buy_appraisal","appraisal_order_status"],"liveStatus":"https://audit.domains/api/machine/resolve"},{"id":"fresh_appraisal_by_agent_card","what":"The same fresh appraisal paid by the agent itself, charging a card the cardholder enrolled once at /api/machine/card-enroll. No checkout page, no person per purchase. Requires an ad_agent_ bearer, a scoped grant, and the enrolled cardRef.","price":"$5 per appraisal, by enrolled card","usd":5,"engine":"budgeted","http":["POST https://audit.domains/api/machine/resolve"],"mcpTools":["buy_appraisal_agent_card","appraisal_card_order_status"],"liveStatus":"https://audit.domains/api/machine/resolve"},{"id":"fresh_appraisal_by_wallet","what":"The same fresh appraisal paid by the agent itself with standard x402 exact (USDC on Base, v1 and v2): POST with no payment, get the 402 offer, pay, repeat with the payment header. Read payments.x402.status first; while it says closed, wallets are turned away.","price":"$5 in USDC per appraisal","usd":5,"engine":"budgeted","http":["POST https://audit.domains/api/machine/resolve"],"mcpTools":[],"liveStatus":"https://audit.domains/api/machine/resolve"},{"id":"agent_account","what":"A person loads a prepaid balance by card and hands the agent an expiring grant with a spending limit. The agent can inspect_agent_grants, purchase_appraisal and read appraisal_purchase_status over default MCP using its ad_agent_ connection bearer, existing grant and explicit operationId/maxSpendUsd. Grant inspection is read-only and advisory. The same purchase-1 route enforces authority and limits; status reads never resume delivery. Configuration is not live readiness: read resolve's response. Agents cannot fund the account or raise the limit.","price":"$0.03 per appraisal, drawn from the prepaid balance","usd":0.03,"engine":"budgeted","http":["https://audit.domains/machine-account","POST https://audit.domains/api/machine/resolve"],"mcpTools":["inspect_agent_grants","purchase_appraisal","appraisal_purchase_status"],"liveStatus":"https://audit.domains/api/machine/resolve"},{"id":"send_a_person","what":"Links that run the engine in the person's own browser: the report for any name, a fair-price check of an asking price, and a for-sale page for a parked name.","price":"free","engine":"none","http":["https://audit.domains/domain/{name}/","https://audit.domains/check/?d={name}&ask={whole dollars}","https://audit.domains/lander/?name={name}"],"mcpTools":[]},{"id":"api_key","what":"Appraisals, comparables and bulk runs of up to 20 names over HTTPS with a write-scope paid API key, one API credit per name. The same authorized key can request fresh runs in appraise_domain, compare_domains, run_bracket and find_comparable_sales on the default MCP profile, subject to allowance, rate limits and server budget. MCP cache hits use no API credits; a keyed cache miss can consume one even for a catalog name. Plan prices and included API calls are listed in plans.","price":"from $39/month for 500 calls (see plans)","usd":39,"engine":"budgeted","http":["POST https://audit.domains/api/v1/appraise","GET https://audit.domains/api/v1/comps","POST https://audit.domains/api/v1/bulk"],"mcpTools":[]},{"id":"api_key_reads","what":"Search the recorded-sales corpus or read this key's usage and allowance. Both require a valid paid-plan API key with at least read scope (read or write). They spend no API credits and never start the valuation engine; zero-credit does not mean anonymous.","price":"included with a paid API plan; 0 API credits per call","engine":"none","apiCreditsPerCall":0,"http":["GET https://audit.domains/api/v1/sales","GET https://audit.domains/api/v1/usage"],"mcpTools":[]},{"id":"buy_certificate","what":"A verifiable Domain Value Certificate for one name, appraisal included. A person signs in and pays; the certificate then verifies anywhere with verify_certificate.","price":"$9 one-time, by card","usd":9,"engine":"budgeted","http":["https://audit.domains/checkout?sku=verified-certificate&domain={name}"],"mcpTools":[]}],"limits":{"identity":"No sign-up or key is needed for anything marked free. Send a descriptive User-Agent: Cloudflare refuses a few bare library agents (Python-urllib, libwww-perl) with 403 error 1010 before this site sees the request.","rateLimits":"Per-address token buckets on the API, market and MCP routes. A refusal is JSON with status 429 and Retry-After; back off and retry. Free answers are edge-cached, so repeating one is cheap for both sides.","engine":"Everything free answers from stored figures and files. On the routes listed here a fresh engine run happens only behind a key's quota or a verified card payment, and counts against a shared monthly engine budget; a paid run that budget cannot cover is refunded, never kept without a result.","unknownPaths":"An unknown path under /api/ or /.well-known/ answers 404 JSON that points back at this menu. Requests for known attack paths are recorded and answered slowly."},"plans":[{"id":"core","name":"Plus","usdPerTerm":39,"term":"month","monthlyCalls":500,"usdPerCall":0.078,"burstPerMinute":60,"checkout":"https://audit.domains/checkout?plan=plus&billing=monthly"},{"id":"scale","name":"Pro","usdPerTerm":129,"term":"month","monthlyCalls":2500,"usdPerCall":0.0516,"burstPerMinute":120,"checkout":"https://audit.domains/checkout?plan=pro&billing=monthly"},{"id":"genesis","name":"Max","usdPerTerm":399,"term":"month","monthlyCalls":15000,"usdPerCall":0.0266,"burstPerMinute":300,"checkout":"https://audit.domains/checkout?plan=max&billing=monthly"}],"planTerms":"Paid plans do not renew automatically: one payment covers one term.","withoutKey":[{"what":"The published figure, range, factors and citation for a catalog name. The catalog's names are the /domain/ URLs in the sitemap.","how":"GET https://audit.domains/domain/{name}/index.json (list: https://audit.domains/sitemap-domains-1.xml)"},{"what":"MCP server: catalog figures, recorded-sales search, certificate checks and listings, with no key.","how":"https://audit.domains/mcp (Streamable HTTP)"},{"what":"Any name, for a person: the report page computes the figure in their browser, with no key and no account to start.","how":"https://audit.domains/domain/{name}/"}],"payPerAppraisal":{"usd":5,"what":"Human pays: one fresh appraisal, paid by card on a Square page: no key, no account. A person pays; the agent collects the result.","how":"POST https://audit.domains/api/machine/resolve {\"action\":\"card_checkout\",\"domain\":\"{name}\",\"intent\":\"appraise\",\"operationId\":\"<8-128 chars>\"}, or the buy_appraisal tool at https://audit.domains/mcp. Terms and live status: GET https://audit.domains/api/machine/resolve"},"endpoints":[{"method":"POST","path":"/api/v1/appraise","scope":"write","credits":1,"summary":"Deterministic appraisal of one domain: fair value, published interval, factor scores, comparable sales."},{"method":"GET","path":"/api/v1/comps","scope":"write","credits":1,"summary":"Closest recorded comparable sales for a domain."},{"method":"POST","path":"/api/v1/bulk","scope":"write","credits":"1 per domain (server-side failures refunded)","summary":"Up to 20 appraisals in one call, reserve-then-settle metering."},{"method":"GET","path":"/api/v1/sales","scope":"read","credits":0,"summary":"Search recorded domain sales (verified corpus or research ledger)."},{"method":"GET","path":"/api/v1/usage","scope":"read","credits":0,"summary":"This key's remaining monthly quota and burst limits."}],"openapi":"https://audit.domains/api/openapi.json","accuracy":"https://audit.domains/accuracy/backtest.json","predictions":"https://audit.domains/accuracy/residuals.json","corrections":"https://audit.domains/accuracy/corrections.json","documentation":"https://audit.domains/developers","status":"https://audit.domains/status","errors":"Failures use one envelope {error, message, detail, requestId, docsUrl, retryable}; every response carries X-Request-Id.","interactiveAlternative":"For one-off interactive questions from an AI assistant, see https://audit.domains/llms.txt"}