# Brand Check API – Domain, Trademark & Social Handle Availability

> Brand Check API – Domain, Trademark & Social Handle Availability is a paid API for AI agents from agentkit-x402.zenith-ops.workers.dev, paid per call via x402, $0.03/call, status unknown (last checked 2026-10-28).

Checks availability of brand names across domains, social media handles, app stores, and US trademark records in a single call

## Facts

- Endpoint: GET https://agentkit-x402.zenith-ops.workers.dev/v1/brand-check?utm_source=zero.xyz
- Price: $0.03/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-28
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/brand-check-api-domain-trademark-social-handle-availability-f8f04bff
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Borz85kooG4q64DhPoqO1

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability brand-check-api-domain-trademark-social-handle-availability-f8f04bff
```

Example prompt: Check if 'NovaStack' is available as a .com, .io, and .ai domain, on GitHub and Bluesky, on the Apple App Store, and whether there are any live US trademark conflicts — also suggest a few name variations if it's taken.

## When to prefer this

Use this endpoint when you need a comprehensive, multi-signal brand availability check in a single call — covering domains, social handles, app stores, and US trademarks simultaneously. Prefer this over individual WHOIS or social scraping tools when doing startup naming research, pre-launch brand audits, or competitive name analysis. Ideal for AI agents that need to evaluate several candidate names quickly without managing multiple API keys or subscriptions. The pay-per-call x402 model (no signup required) makes it especially suitable for low-frequency or one-off brand checks.

## Known failure modes

- Name not provided — returns 400 validation error
- More than 3 names submitted — request rejected
- More than 8 TLDs specified — request rejected
- More than 12 platforms specified — request rejected
- RDAP registry timeout for specific TLDs — domain status may be 'unknown'
- Platforms without public APIs (Instagram, TikTok, LinkedIn, etc.) always return 'could_not_confirm' with a manual check link
- Trademark data limited to US USPTO; EU/WIPO/SE/UK offices return manual search links only
- Payment failure via x402 — returns 402 Payment Required

## How this service works

Pay-per-call API for AI agents with no signup or API key. Email validation, SPF/DMARC audits, DNS lookup, site contacts, URL to Markdown, IBAN and Swedish personnummer/orgnr validation. From $0.001 in USDC on Base via x402.

## Output

Returns a structured JSON object per name containing: domain availability status (via RDAP) with registrar and expiry info, social handle availability per platform (with manual check links for platforms without public APIs), app store exact and close matches, US trademark records (live marks, owner, registration date, TSDR link), and a summary verdict (e.g. 'mixed', 'clear', 'taken') with counts per category.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "name"
     ],
     "properties": {
      "tm": {
       "type": "string",
       "description": "Trademark offices: us is searched (default); eu,wipo,se,uk return manual search links."
      },
      "name": {
       "type": "string",
       "description": "Name to check, or up to 3 comma-separated names."
      },
      "tlds": {
       "type": "string",
       "description": "Comma-separated TLDs (max 8). Default com,io,ai,co,net,app."
      },
      "markdown": {
       "type": "string",
       "description": "1 to add report_markdown: one table per name."
      },
      "platforms": {
       "type": "string",
       "description": "Comma-separated platforms (max 12): github,bluesky,npm,pypi,telegram,mastodon are checked; x,instagram,tiktok,youtube,reddit,twitch,facebook,linkedin return could_not_confirm plus a manual link."
      },
      "variations": {
       "type": "string",
       "description": "1 to suggest up to 5 variations free on the first TLD and the first two checked platforms (single name only)."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "names": [
   {
    "name": "acmeflow",
    "label": "acmeflow",
    "domains": [
     {
      "domain": "acmeflow.com",
      "method": "rdap",
      "source": "https://rdap.verisign.com/com/v1/",
      "status": "taken",
      "created": "2019-03-02T18:11:04Z",
      "expires": "2027-03-02T18:11:04Z",
      "registrar": "GoDaddy.com, LLC",
      "checked_at": "2026-10-22T17:09:10.750Z",
      "http_status": 200
     },
     {
      "domain": "acmeflow.io",
      "method": "rdap",
      "source": "https://rdap.identitydigital.services/rdap/",
      "status": "available",
      "checked_at": "2026-10-22T17:09:10.819Z",
      "http_status": 404
     }
    ],
    "handles": [
     {
      "handle": "acmeflow",
      "status": "available",
      "evidence": "api.github.com/users -> 404 (no user or organization). GitHub may still reserve some names.",
      "platform": "github",
      "checked_at": "2026-10-22T17:09:10.794Z",
      "manual_check_url": "https://github.com/acmeflow"
     },
     {
      "handle": "acmeflow",
      "reason": "No official public availability API and the platform terms do not allow automated profile checks; check manually.",
      "status": "could_not_confirm",
      "platform": "instagram",
      "checked_at": "2026-10-22T17:09:10.682Z",
      "manual_check_url": "https://www.instagram.com/acmeflow/"
     }
    ],
    "summary": {
     "domains": {
      "taken": 1,
      "unknown": 0,
      "available": 1
     },
     "handles": {
      "taken": 0,
      "available": 1,
      "could_not_confirm": 1
     },
     "verdict": "mixed",
     "app_store_exact_matches": 0,
     "us_live_identical_marks": 0
    },
    "app_stores": [
     {
      "store": "apple_app_store",
      "source": "iTunes Search API (US storefront)",
      "status": "no_exact_match",
      "checked_at": "2026-10-22T17:09:10.766Z",
      "close_matches": [],
      "exact_matches": [],
      "results_scanned": 12
     },
     {
      "store": "google_play",
      "reason": "Google Play has no public search API; check manually.",
      "status": "could_not_confirm",
      "checked_at": "2026-10-22T17:09:10.682Z",
      "manual_check_url": "https://play.google.com/store/search?q=acmeflow&c=apps"
     }
    ],
    "trademarks": [
     {
      "marks": [
       {
        "live": true,
        "filed": "2020-06-01",
        "owner": "Example LLC",
        "status": "REGISTERED",
        "classes": [
         "IC 009"
        ],
       
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/brand-check-api-domain-trademark-social-handle-availability-f8f04bff/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agentkit-x402.zenith-ops.workers.dev](https://www.zero.xyz/host/agentkit-x402.zenith-ops.workers.dev/llms.txt)
