---
title: "Brand name analysis"
method: POST
path: "/api/v1/brand-score"
tags: ["Generate"]
---

# Brand name analysis

`POST /api/v1/brand-score`

## Request

- Base URL: `https://namesniper.pro`
- URL: `https://namesniper.pro/api/v1/brand-score`
- Auth: HTTP bearer

## Request body

- object
  - `name` string, required

## Response `200`

Brand score.

- object
  - `success` unknown
  - `data` object: Ownability Score. Weighted availability across .com, premium TLDs, priority handles, other handles, and USPTO trademark risk.
    - `name` string
    - `overall` integer, required: 0 to 100. Higher means more of the name is still claimable.
    - `band` 'wide-open' | 'mostly-open' | 'mixed' | 'contested', required
    - `components` ScoreComponent[], required
      - `key` 'com' | 'premiumDomains' | 'priorityHandles' | 'otherHandles' | 'trademark', required
      - `weight` number, required: Nominal weight before the score is renormalized over the components that had data.
      - `earned` number, required: Points earned, from 0 to `weight`.
      - `available` integer, required: Channels found available. Channel components only.
      - `checked` integer, required: Channels that returned a definitive verdict. Channel components only.
      - `unverified` integer, required: Key handles that could not be verified (plan-locked or low confidence). They earn half credit.
      - `included` boolean, required: Whether this component had data and contributed to the score.
    - `channelsCounted` integer, required: Channels with a verdict that fed the score.
    - `channelsTotal` integer, required: Channels attempted, including gated and errored ones.
    - `cappedByTrademark` boolean, required: True when a high-risk trademark conflict hard-capped the score.
    - `provisional` boolean, required: True while a key handle is unverified, so the score can still move once it is checked.
  - `meta` Meta: Standard response metadata.
    - `plan` 'guest' | 'free' | 'day_pass' | 'sniper' | 'pro' | 'business'
    - `duration` integer: Server processing time in milliseconds.
    - `timestamp` string, date-time

## Other responses

- `400`: Invalid request (missing field, bad JSON, or invalid value).
- `401`: Missing or invalid API key.
- `429`: Rate limit or daily quota exceeded. Inspect the `Retry-After` header for how many seconds to wait. Limits are per account, so every key on the account shares them.

---

[API](https://skmtc.dev/namesniper/apis/namesniper-api.md) · [All operations](https://skmtc.dev/namesniper/apis/namesniper-api/llms.txt) · [OpenAPI document](https://skmtc.dev/namesniper/apis/namesniper-api/revisions/fd6bfd6608b2?raw)
