---
title: "All-in-one check"
method: POST
path: "/api/v1/check"
tags: ["Check"]
---

# All-in-one check

`POST /api/v1/check`

## Request

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

Check a name across domains and social platforms, with optional brand score and trademark screening.

## Request body

- object
  - `name` string, required: Brand name or handle to check.
  - `platforms` PlatformName[]: Social platforms to check. Defaults to every supported platform (Telegram must be requested explicitly). Unknown ids return 400 with the valid list.
  - `domains` TLD[]: TLDs to check. Defaults to com, org, net, app, dev, tech, io, co, ai.
  - `brandScore` boolean: Include brand score analysis.
  - `trademark` boolean: Include USPTO trademark screening.

## Response `200`

Combined results.

- object
  - `success` unknown
  - `data` object
    - `name` string
    - `domains` DomainCheckResponse
      - `domainName` string
      - `results` DomainResult[]
        - `domain` 'com' | 'net' | 'org' | 'io' | 'ai' | 'app' | 'dev' | 'tech' | 'cloud' | 'software' | 'tools' | 'page' | 'network' | 'systems' | 'wiki' | 'codes' | 'co' | 'pro' | 'biz' | 'company' | 'agency' | 'group' | 'team' | 'ventures' | 'capital' | 'global' | 'solutions' | 'services' | 'finance' | 'consulting' | 'marketing' | 'studio' | 'online' | 'site' | 'digital' | 'fun' | 'design' | 'live' | 'media' | 'art' | 'blog' | 'space' | 'video' | 'news' | 'photo' | 'store' | 'shop' | 'market' | 'style' | 'fashion' | 'boutique' | 'deals' | 'sale' | 'gg' | 'social' | 'club' | 'games' | 'community' | 'chat' | 'xyz' | 'me' | 'tv' | 'info' | 'cc' | 'link' | 'one' | 'website' | 'bio' | 'life' | 'vip', required
        - `domainName` string, required
        - `available` boolean, required
        - `status` 'available' | 'taken' | 'uncertain'
        - `checkedAt` string, date-time, required
        - `confidence` number: Confidence level, 0 to 100.
        - `error` string
        - `tier` 1 | 2 | 3: Which checking tier produced the verdict.
        - `checkTime` integer: Time taken in milliseconds.
        - `registration` DomainRegistration: Registry registration record for a taken domain. Present only when the request set `details: true`, the domain is taken, and the registry publishes registration data.
          - `registrar` string
          - `registrantOrg` string: Registrant organisation when the registry publishes it (rare; usually redacted).
          - `registeredAt` string, date-time
          - `expiresAt` string, date-time
          - `updatedAt` string, date-time
          - `status` string[], required: Raw registry status tokens, e.g. "client transfer prohibited".
          - `nameservers` string[], required
          - `dropStage` 'active' | 'expired-grace' | 'redemption' | 'pending-delete': Where the name sits in the expiry / drop lifecycle. Omitted when the expiry date is unknown. Expired names are usually caught by backorder services within seconds of release.
          - `source` 'rdap', required
          - `fetchedAt` string, date-time, required
      - `summary` CheckSummary
        - `totalChecks` integer
        - `available` integer
        - `taken` integer
        - `errors` integer
        - `uncertain` integer: Checks that got no verdict either way (low confidence or errored). Social checks only.
    - `social` UsernameCheckResponse
      - `username` string
      - `results` CheckResult[]
        - `platform` 'youtube' | 'tiktok' | 'instagram' | 'twitter' | 'github' | 'npm' | 'twitch' | 'threads' | 'bluesky' | 'pinterest' | 'snapchat' | 'kick' | 'linktree' | 'roblox' | 'telegram', required
        - `username` string, required
        - `available` boolean, required
        - `confidence` number, required: Confidence in the verdict, 0 to 1.
        - `error` string
        - `invalid` boolean: Username violates the platform's format rules and can never be registered there.
        - `loginWallDetected` boolean
        - `botDetected` boolean
        - `checkedAt` string, date-time, required
        - `url` string, uri, required
      - `summary` CheckSummary
        - `totalChecks` integer
        - `available` integer
        - `taken` integer
        - `errors` integer
        - `uncertain` integer: Checks that got no verdict either way (low confidence or errored). Social checks only.
    - `brandScore` BrandScore: Ownability Score. Weighted availability across .com, premium TLDs, priority handles, other handles, and USPTO trademark risk.
      - `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.
    - `trademark` TrademarkCheckResponse
      - `name` string
      - `result` TrademarkResult
        - `name` string
        - `status` 'no-matches' | 'similar-found' | 'unknown'
        - `confidence` integer
        - `riskLevel` 'low' | 'medium' | 'high'
        - `details` object
        - `conflicts` TrademarkConflict[]
          - `mark` string
          - `similarity` integer
          - `owner` string
          - `classes` string[]
          - `status` string
          - `riskLevel` 'low' | 'medium' | 'high'
          - `serialNumber` string
          - `goodsAndServices` string
          - `filingStatus` string
        - `checkedAt` string, date-time
        - `source` 'uspto-search' | 'similarity-analysis'
        - `isAutomatedScreening` unknown
        - `disclaimer` string
      - `variations` TrademarkResult[]
        - `name` string
        - `status` 'no-matches' | 'similar-found' | 'unknown'
        - `confidence` integer
        - `riskLevel` 'low' | 'medium' | 'high'
        - `details` object
        - `conflicts` TrademarkConflict[]
          - `mark` string
          - `similarity` integer
          - `owner` string
          - `classes` string[]
          - `status` string
          - `riskLevel` 'low' | 'medium' | 'high'
          - `serialNumber` string
          - `goodsAndServices` string
          - `filingStatus` string
        - `checkedAt` string, date-time
        - `source` 'uspto-search' | 'similarity-analysis'
        - `isAutomatedScreening` unknown
        - `disclaimer` string
      - `summary` object
        - `overallRisk` 'low' | 'medium' | 'high'
        - `recommendAction` string
        - `conflictCount` integer
      - `disclaimer` string
      - `isAutomatedScreening` unknown
  - `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.
- `403`: Authenticated but not permitted (revoked key or a feature your plan does not include).
- `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)
