public

GET /v1/public/domains/tld-pricing

The public, searchable TLD price table.

Dukkan public wuraren ƙarshe

Tabbatar da Asali

Wannan yankin ƙarshen jama'a ne. Ba ya ɗaukar wata takardar shaida ko ƙungiya — shi ne abin da shafin kasuwancinmu da injunan amsa na AI ke karantawa.

Wannan wurin ƙarewa ba ya buƙatar ID na ƙungiya. Maɓallin ku ya riga ya gano ƙungiyar da yake ciki, kuma an iyakance amsa a kanta.

Gwada

May gurbin komai da ke cikin kusurwa da ƙimar ka, kuma may gurbin maballi da maballi daga allon sarrafa ka.

curl -X GET https://api.zinndigital.com/v1/public/domains/tld-pricing

An shiga? Na'urar sarrafa API da ke cikin sashin kulawarka tana cika ainihin lambar ƙungiyarka da maɓallinka naka, sannan tana gudanar da buƙatar a kan ainihin API don haka zaka iya ganin amsar gaske. Buɗe wannan tashar a cikin na'urar kula da API

Bayani

The crawlable price surface `docs/31` §5.1 specifies and nothing served: what every extension we sell costs to **register, renew and transfer**, plus the registry policy a buyer needs (min/max years, WHOIS privacy, IDN, restore, whether a transfer grants a year, and any residency restriction). No account, no cart, no registrar call — a cached read of platform-global reference data. **Cursor-paged and searched server-side**, which is now the only public shape: the older `listTldPricing` (`GET /v1/domains/pricing`) returned the whole catalogue in one uncursored body and was **retired in wave 8** (issue #845). That was fine at fifteen TLDs and was issue #466 all over again at the ~1,500 the registrar sync imports — on an unauthenticated endpoint, which is the worst place to have one. `q` is a substring match on the label and tolerates a leading dot (`.shop` and `shop` find the same row). Ordered **most popular first** by default, because a visitor who has decided nothing wants `.com` before `.zuerich`; `order=tld` gives the alphabetical reference view. Inactive offers are never returned. `summary` appears on the **first page only** and carries `active` — how many extensions we sell, *counted*. Any surface stating "search across N extensions" must read it: a hardcoded number is a public claim that goes stale the first time the sync deactivates a registry. `matched` is the same count under the current filter, so a page can say both without either being wrong. `related` appears when `q` names an extension we actually sell, and carries the neighbours worth offering beside it — `.shop` returns `.store` and `.online` with their real prices — each row stamped with `related_kind` so the surface can make the *argument* rather than list names. Ranked by the same code as the domain-search upsell grid, and unlike that grid it costs **no registrar call**: a price table is a browse, not an availability check. Prices are USD, the catalogue's authored currency (`docs/29`); a public surface converts for display. Cacheable — strong `ETag` + `Cache-Control: public, max-age=60`.

Sigogi

SunaNau'iAna buƙataAbin da yake
q (query)stringA'aSubstring match on the TLD label. A leading dot is ignored.
category (query)string<gtld, new_gtld, cctld, sponsored>A'aRestrict to one registry family.
order (query)string<popularity, tld>A'a`popularity` (default) ranks the extensions a visitor is most likely to want first; `tld` is the alphabetical reference order.
cursor (query)stringA'aOpaque cursor from a previous page's `page.next_cursor`.
limit (query)integerA'aMaximum items to return (page size).
If-None-Match (header)stringA'aA previously returned `ETag`; a match responds `304`.

Martani

SunaNau'iAna buƙataAbin da yake
dataPublicTldPriceRow[]Eh
pagePageMetaEh
summaryPublicTldPricingSummaryA'aWhole-collection facts, counted rather than derived from the page in hand. First page only.
relatedPublicTldPriceRow[]A'aNeighbour extensions worth offering beside an exact-TLD `q`. Absent when `q` is empty, is not an extension we sell, or on any page but the first.

Kuskuren da wannan matsaya za ta iya maido wa

422 · 429