ABIZ Universal Resolver

Give it a business domain; it returns the domain's published ABIZ record, the conformance checks, where the evidence came from and an explicit result status, in one request. It does the DNS and HTTPS work for you. It is free, anonymous, read-only and rate limited.

What it does not do: it does not check company registers, it does not prove who owns a business, and it cannot make any AI assistant use it. A domain with no ABIZ record, or with an unreachable record host, is reported as exactly that.

Resolve a domain

GET https://resolve.abizrecord.org/v1/resolve?domain=example.com
GET https://resolve.abizrecord.org/v1/resolve?website=https%3A%2F%2Fexample.com%2Fabout

Give exactly one of domain (a host name, not a URL) or website (a URL; only its host is used). Names are lower-cased and converted to Punycode. www.example.com is looked up as _abiz.www.example.com; it is never silently replaced by example.com.

The answer is JSON (api_version "1"): status, query, resolved_at, request_id, discovery (the TXT value used, its TTL, which DNS-over-HTTPS service answered, the record URL), record (the ABIZ record exactly as published, only when resolved), checks, freshness, warnings, sources, error (on failure) and resolver (this service's version and the pinned schema's id and SHA-256).

Statuses

HTTPstatusMeaningRetry
200resolvedOne valid v=abiz1 TXT record, a record at https://h that passes the ABIZ schema, and the DNS, record and queried domain agreeNo
400invalid_inputThe domain or website is not a valid public hostNo
404not_foundDNS answered and there is no v=abiz1 record at _abiz.domainNot until DNS changes
409conflictMore than one v=abiz1 recordNo; the publisher must keep one
422invalid_recordA malformed pointer, an unsafe or unreachable record address, or a record that fails the schema or the cross-checksNo; the publisher must fix it
429rate_limitedToo many requests from you, or for this domainAfter Retry-After
503unavailableDNS or the record host failed or timed outYes

A failure to reach DNS or the record host is never reported as not_found.

Error codes: missing_input, both_inputs, invalid_domain, invalid_website, non_public_domain, missing_txt, multiple_txt, bad_pointer, duplicate_tag, missing_h, unsafe_host, fetch_failed, record_too_large, not_json, schema_invalid, identity_host_mismatch, domain_not_claimed, business_key_mismatch, rate_limited, domain_rate_limited, dns_timeout, dns_failure, upstream_timeout, origin_unavailable.

What the checks mean

There is no trust score. discovery.dnssec says whether the DNS-over-HTTPS service validated DNSSEC (it set the AD bit); this service does not validate signatures itself.

MCP

Endpoint: https://resolve.abizrecord.org/mcp (Streamable HTTP, protocol 2026-07-28 and 2025-11-25). No sign-in. One tool:

Server card: https://resolve.abizrecord.org/.well-known/mcp.json. MCP Registry entry: https://resolve.abizrecord.org/server.json (org.abizrecord/resolver).

Add it to an MCP host as a remote server with the URL above (for example, a custom connector in Claude or ChatGPT). Whether an assistant calls it is up to that assistant. To make a lookup certain in your own application, call GET /v1/resolve in your code before you call the model, and give the model the whole response, status included.

An agent skill that says when and how to use it: https://resolve.abizrecord.org/skills/abiz-lookup/SKILL.md.

Caching and limits

Privacy

This service logs each lookup with the queried domain, the status, the error code, whether the cache was used and the time taken, to operate it. It does not log record contents, and it uses your IP address only for the rate limit and does not write it to its own log lines. It runs on Cloudflare Workers, whose platform logs for the service may record request details such as the address and time of a request.

Source