FreeRegistrar Prices API

List registrar changes

GET/registrars/{registrar}/changesNo key

A registrar's confirmed list-price changes, newest first.

Free: its 10 newest confirmed changes, one page. Paid: the keyset feed on (confirmedAt, id).

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

Connect on RapidAPI

Request

registrarstring: namecheap, name.com, namesilo, porkbun, dynadot, cloudflare, spaceship, godaddy, unstoppableRequiredPath

A registrar catalog slug of the nine, exactly (name.com, no name-com alias).

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.

curl -X GET "https://api.unique.domains/v1/registrars/namecheap/changes"

Response

idstring

TldPriceChange.id as a string.

extensionstring

Bare ending.

registrarstring

Registrar slug.

registrarNamestring

Display name.

field

Which price moved.

oldPricenumber

Before.

newPricenumber

After.

currencystring

ISO 4217.

confirmedAtstring

Confirmation timestamp.

Errors

not_found404

Not found

rate_limited429

Too many requests

internal500

Unexpected error

200 · application/jsonExample
{
  "data": [
    {
      "id": "48211",
      "extension": "io",
      "registrar": "namecheap",
      "registrarName": "Namecheap",
      "field": "renewal",
      "oldPrice": 53.98,
      "newPrice": 59.98,
      "currency": "USD",
      "confirmedAt": "2026-11-03T05:40:00.000Z"
    }
  ],
  "meta": {
    "asOf": "2026-11-05T08:00:00Z",
    "cursor": null,
    "limit": 20
  },
  "links": {
    "self": "https://api.unique.domains/v1/registrars/namecheap/changes",
    "next": null,
    "register": null,
    "product": null,
    "dataset": null
  }
}

API status

Ask AI about Unique Domains