FreeOne-Word Domains API

List domains

GET/domainsNo key

One-word catalog names under filters.

Free: at most 20 rows in the engine's neutral order (the cached public list, or the daily shuffle under filters), one page. Keyed: pages of up to 100 in a neutral column order with sort, else in the engine's own order, with the estimate, Est. Profit, liquidity and verdict on each row.

AccessNo key. Limited per address; a key adds the paid fields.
BillingOne call.
FormatsJSON, CSV (.csv)

Connect on RapidAPI

Request

endingstringOptionalQuery

Comma list of endings without the dot.

statusstringOptionalQuery

Comma list of statuses: available, premium, resell, expiring, expired, taken, dormant, sold, unknown. Default: available, premium, resell.

lengthMinintegerOptionalQuery

Shortest word, in characters.

lengthMaxintegerOptionalQuery

Longest word, in characters.

shapestringOptionalQuery

Comma list of word shapes: single, properNoun, acronym, twoWords, phrase. properNoun is ignored on the free tier.

stylestringOptionalQuery

Comma list of styles: modern, elegant, slab, handwritten, playful, futuristic.

formatstring: oneWord, hackOptionalQuery

One word, or domain hacks.

priceMaxnumberOptionalQuery

Highest price today, USD.

renewalMaxnumberOptionalQuery

Highest renewal, USD.

prefixstringPaidQuery

The word starts with.

containsstringPaidQuery

The word contains.

posstringOptionalQuery

Comma list of parts of speech: adjective, adjective satellite, adverb, conjunction, contraction, determiner, interjection, letter, noun, particle, pnoun, pnound, preposition, prepPhrase, pronoun, proverb, symbol, verb, unknown.

expiresBeforestringOptionalQuery

Registry expiry on or before this day.

sortstringPaidQuery

A neutral order: askPrice, price, renewal, seoRandomKey, domain; prefix - for descending. Without it, the engine's own order. No quality order exists.

limitintegerOptionalQuery

Rows a page: 20 by default, at most 20 without a key and 100 with a paid subscription; a larger value is clamped.

cursorstringPaidQuery

The meta.cursor of the previous page; the last page answers null.

fieldsstringOptionalQuery

Comma-separated top-level keys to keep; an unknown key answers 400 unsupported_field.

7 more parameters
curl -X GET "https://api.unique.domains/v1/domains?ending=com%2Cio&status=available&lengthMax=8&priceMax=50"

Response

idstring

dom_<uuid>.

namestring
endingstring
statusstring

The stored status of the row. One name's own answer groups it for a buyer: resell reads for_sale there (at_auction at a drop-catch venue), premium reads free_premium.

pricenumber | null

Price today, USD.

priceKindstring | null
renewalnumber | null
ratingBandstring | null

A simple band.

formatstring | null
shapestring | null
lengthinteger | null
coverageobject | null

The same word on other endings: available, premium, for sale.

valueobject | null

Keyed: the current estimate, USD.

upsidePercentnumber | null

Keyed.

liquiditystring | null

Keyed.

verdictobject

Keyed.

Errors

validation_failed400

A value is not valid

cursor_invalid400

The cursor is not valid

keyed_only403

A paid subscription is required

rate_limited429

Too many requests

internal500

Unexpected error

200 · application/jsonExample
{
  "data": [
    {
      "id": "dom_9a7e4c11-0b3d-4f6e-8c2a-5d1e7f3b9a20",
      "name": "harbor.co",
      "ending": "co",
      "status": "available",
      "price": 11.98,
      "priceKind": "registration",
      "renewal": 31.98,
      "ratingBand": "strong",
      "format": "oneWord",
      "shape": "single",
      "length": 6,
      "coverage": {
        "available": 22,
        "premium": 3,
        "forSale": 9,
        "unavailable": 7
      }
    }
  ],
  "meta": {
    "asOf": "2026-11-05T08:00:00Z",
    "cursor": null,
    "limit": 20
  },
  "links": {
    "self": "https://api.unique.domains/v1/domains?ending=com%2Cio&status=available&lengthMax=8&priceMax=50",
    "next": null,
    "register": null,
    "product": null,
    "dataset": null
  }
}

API status

Ask AI about Unique Domains