API
Программно запрашивайте и получайте данные, отображаемые на TLD-List.
Документация API v1
Информация о поддерживаемых методах, параметрах, возвращаемых данных и примеры.
Предупреждение: В настоящее время API находится в стадии разработки и подлежит дополнению: в будущем могут быть добавлены новые методы и параметры. Любые внесенные изменения будут сохранять обратную совместимость с существующей функциональностью.
Обзор
API TLD-List v1 может быть использован для получения данных, отображаемых на TLD-List, из его живой базы данных.
API принимает HTTP POST'ы, содержащие JSON-данные, и отвечает JSON-данными. Требования для всех запросов методов API:
- Запросы должны выполняться с использованием метода HTTP POST
- Запросы должны иметь JSON-тело, содержащее действительную пару открытых и закрытых API-ключей для аутентификации
- Запросы должны содержать заголовок:
Content-Type: application/json
Параметры передаются API в виде ключей/значений в теле запроса в кодировке JSON.
Базовый URL для всех API-запросов составляет:https://api.tld-list.com/v1
Аутентификация
Аутентификация осуществляется путем передачи открытого API-ключа и закрытого API-ключа в теле JSON, размещенном в URL-адресе метода. Все вызовы API должны содержать действительную пару API-ключей. Пары ключей API могут быть сгенерированы в Вашей учетной записи TLD-List на вкладке API.
Посетите раздел Учетная запись > API, чтобы создать ключи API.
Ключи API передаются в теле JSON-запроса с помощью параметров apiKeyPublic (Ваш открытый ключ) и apiKeyPrivate (Ваш закрытый ключ).
Example authentication parameters
'{'
\"apiKeyPublic\":\"MY_PUBLIC_KEY\",
\"apiKeyPrivate\":\"MY_PRIVATE_KEY\"
'}'Ответ
Все успешные ответы API будут иметь код состояния HTTP 200 SUCCESS и закодированное в JSON тело. Любой другой код состояния HTTP в ответе означает, что запрос не прошел и произошла ошибка.
Объекты ответа JSON, возвращаемые API, будут иметь следующую структуру:
| Ключ | Тип | Описание |
|---|---|---|
status | string | Определяет статус запроса. SUCCESS указывает на то, что вызов API был успешным, FAIL указывает на неудачу запроса. |
errors | array of objects | Массив объектов, представляющих возникшие ошибки. Каждый объект ошибки будет содержать:код: строка, идентифицирующая тип ошибкисообщение: человекочитаемая строка, описывающая ошибкупараметр: необязательная строка или массив строк, указывающий на проблему с определенным параметром (параметрами), переданным в запросе.Если ошибок не возникло, массив ошибок будет пуст.Дополнительную информацию см. в разделе Коды ошибок. |
seconds | number | Количество времени, которое потребовалось серверу API для генерации ответа (в секундах). |
data | string|array|object | Объект, массив или строка, содержащая запрашиваемые данные. |
Пример объекта неудачного ответа с ошибками
'{'
\"errors\" : [
'{'
\"code\" : \"PARAMETER_INVALID\",
\"message\" : \"pricetypes parameter must be a non-empty array\",
\"parameter\" : \"pricetypes\"
'}',
'{'
\"code\" : \"PARAMETER_INVALID\",
\"message\" : \"includeRegistrars parameter contains invalid registrar names: foobar\",
\"parameter\" : \"includeRegistrars\"
'}'
],
\"seconds\" : 0.001,
\"status\" : \"FAIL\"
'}'Пример объекта успешного ответа
'{'
\"data\" : [
'{'
\"cheapest\" : '{'
\"renewal\" : [
'{'
\"id\" : \"sav\",
\"name\" : \"Sav\",
\"price\" : \"8.38\"
'}'
],
'}',
\"currency\" : \"USD\",
\"name\" : \"com\",
\"registrarsIncluded\" : 58,
\"registrarsTotal\" : 58
'}'
],
\"errors\" : [],
\"seconds\" : 0.001,
\"status\" : \"SUCCESS\"
'}'Общие объекты ответа
Некоторые из методов API возвращают объекты данных, имеющие одинаковую структуру. Эти общие объекты данных подробно описаны ниже.
RegistrarPricing
Описывает розничную цену регистратора на расширение для определенного ценового типа (register, renewal, transfer), включая дополнительные детали, такие как специальные условия, сборы, налоги и рекламные акции.
| Путь | Тип | Описание |
|---|---|---|
id | string | Строка Registrar ID, которая уникально идентифицирует регистратора. |
name | string | Отображаемое имя регистратора. |
price | string |
Окончательная розничная цена регистратора для расширения и ценового типа. Примечание: это поле присутствует только тогда, когда объект RegistrarPricing вложен в контекст ценового типа (например, в ответ от getCheapestRegistrars). |
priceOriginal | string |
Обычная розничная цена регистратора для расширения в виде числовой строки. Это поле будет присутствовать только в том случае, если цена является акционной.Примечание: это поле присутствует только тогда, когда объект RegistrarPricing вложен в контекст ценового типа (например, в ответ от getCheapestRegistrars). |
pricetype | string |
Тип ценообразования расширения, один из: register, renewal, transfer.Примечание: это поле присутствует только тогда, когда объект RegistrarPricing вложен в контекст pricetype (например, в ответ от getCheapestRegistrars). |
prices | object | Розничная цена регистратора на расширение для всех ценовых типов. |
prices[pricetype] | string |
Окончательная розничная цена регистратора для расширения и [pricetype], где ключ [pricetype] - register, renewal, transfer, restore, whoisprivacy. Пример:'{'
|
pricesOriginal | object |
Обычная розничная цена регистратора на расширение для всех ценовых типов. Это поле не будет присутствовать, если у регистратора нет активных промо-акций.
|
pricesOriginal[pricetype] | string |
Обычная розничная цена регистратора для расширения и [pricetype], где ключ [pricetype] - register, renewal, transfer, restore, whoisprivacy.
|
promo | object |
Объект RegistrarPromo, представляющий промо-цену, которая была применена к цене регистратора для данного расширения и типа цен. Если промо-цена не была применена, это поле не будет присутствовать. Пример объекта promo: '{'Примечание: это поле присутствует только тогда, когда объект RegistrarPricing вложен в контекст ценового типа (например, в ответ от getCheapestRegistrars). |
promos | array of objects | Массив объектов RegistrarPromo, представляющих все активные акционные цены, предлагаемые регистратором для данного расширения. |
terms | object |
Коллекция объектов, представляющих специальные условия, которые применяются к ценообразованию регистратора. Если специальные условия не применяются, это поле не будет присутствовать. Каждый объект имеет ключ с идентификатором условия: limitPerCustomer - определяет, что цена действительна только для определенного количества доменов для одного клиента.newCustomerOnly - определяет, что цена действительна только для новых клиентов.affiliateLink - определяет, что цена действительна только в том случае, если клиент заходит на сайт регистратора по партнерской ссылке. nameserverLockIn - определяет, что приобретенные домены могут использовать только серверы имен регистратора.idSubmissionRequired - определяет, что для завершения покупки клиент должен предоставить свое удостоверение личности с фотографией или регистрацию предприятия.Примеры терминов: '{'
|
terms[term].count | number |
Количество, которым данное условие ограничивает покупателя. Например, если count = 1, то покупатель ограничивается 1 доменом по указанной цене. Это поле не будет присутствовать, если термин не применяется.
|
terms[term].pricetype | array of strings |
Тип(ы) цены, к которому(ым) применяется данный термин: register, renewal, transfer. Это поле будет присутствовать только в том случае, если pricetype объекта RegistrarPricing не указан.
|
notes | object |
Коллекция объектов, представляющих заметки, относящиеся к ценообразованию регистратора. Если примечаний по ценообразованию нет, то это значение будет пустым объектом. Каждый вложенный объект имеет ключ с идентификатором примечания: currencyExchangeRate, feeIcann, feeTax, feePayment
|
notes.feeIcann | object |
Указывает, была ли добавлена плата ICANN к окончательной цене ДВУ (обычно $0.18 USD). Если это примечание существует, это означает, что регистратор не включает плату ICANN в свою рекламную цену, а вместо этого добавляет ее в качестве дополнительной платы к цене TLD's при оформлении заказа. Пример объекта примечания fee_icann: '{'Поле pricetype указывает, к каким типам цен применяется данный сбор, а поле addedToListPrice указывает, что сбор был добавлен к окончательной цене.
|
notes.feeTax | array of objects |
Определяет различные налоговые ставки, взимаемые регистратором, клиентов, к которым применяется налог, а также указывает, был ли рассчитанный налог включен в окончательную цену ДВУ. Обратите внимание, что налоги включаются в окончательную цену ДВУ только в том случае, если регистратор не включает налог в свои объявленные цены и налог взимается со всех клиентов. Пример массива объектов feeTax: '{'
|
notes.feeTax[].type | string | Метка, описывающая тип налога, т.е. "vat" для налога на добавленную стоимость, "gst" для налога на товары и услуги и т.д. |
notes.feeTax[].amountRate | number|string | Сумма налоговой ставки. Это будет либо процентная ставка налога в виде числа, либо строка '~', указывающая на то, что ставка налога варьируется в зависимости от критериев клиента, таких как местоположение. |
notes.feeTax[].amountRateType | string | Строковое значение 'percent' указывает, что значение amountRate представляет собой числовой процент. Строковое значение 'percent-varies-by-location' указывает на то, что ставка налога варьируется в зависимости от региона или страны, в которой выставлен счет покупателя. |
notes.feeTax[].appliesToCustomers | string|array of strings | Строка '*' указывает, что налог применяется ко всем покупателям. В противном случае это значение будет представлять собой массив строк кодов стран ISO 3166-1 alpha-2, определяющих, на какие страны распространяется данный налог. Стоит отметить одно исключение: массив может содержать строку кодов стран, не являющуюся строкой 'eu', которая представляет все страны Европейского Союза. |
notes.feeTax[].addedToListPrice | boolean | Указывает, была ли рассчитанная сумма налога добавлена к окончательной цене. |
notes.feePayment | object | Указывает, взимает ли регистратор дополнительную плату, основанную на методе оплаты клиента, и была ли эта плата включена в окончательную стоимость TLD. Пример объекта feePayment: '{' |
notes.feePayment.amountRate | string | Размер комиссии. Это будет либо процентная ставка комиссии в виде числа, либо строка '~', указывающая на то, что ставка комиссии варьируется в зависимости от критериев клиента, например, способа оплаты. |
notes.feePayment.amountRateMin | string | Минимальная сумма комиссии, применяется только в том случае, если комиссия является переменной. |
notes.feePayment.amountRateMax | string | Максимальный размер комиссии, применяется только в том случае, если комиссия является переменной. |
notes.feePayment.amountRateType | string | Строковое значение 'percent' указывает, что значение amountRate представляет собой числовой процент. Строковое значение 'percent-varies-by-method' указывает, что плата представляет собой процент, который варьируется в зависимости от способа оплаты клиента. |
notes.feePayment.addedToListPrice | boolean | Указывает, была ли рассчитанная сумма комиссии добавлена к окончательной цене. |
notes.currencyExchangeRate | object | Указывает, что цены регистратора были указаны в другой национальной валюте и были конвертированы в USD. Детали конвертации валюты представлены следующим образом:base: валюта цен регистратора в виде трехбуквенного кода (например, EUR)quote: валюта, в которую были конвертированы цены (всегда будет USD)rate: обменный курс, использованный для конвертации валюты. Пример объекта примечания currencyExchangeRate: '{' |
threeYearValueScore | number | Численное измерение ценности, определяемой ценой и бесплатными возможностями, для владения доменом с данным расширением у регистратора в течение 3 лет. Чем больше число, тем больше ценность. |
currency | string |
Трехбуквенный код валюты ISO 4217 данных о ценах. В настоящее время это значение только USD.
|
freeFeatures | array of objects |
Массив объектов, представляющих бесплатные возможности, которые регистратор предлагает при владении доменом. Объект включает количество и продолжительность действия каждой функции. Каждый объект имеет ключ с идентификатором бесплатной возможности: dns - бесплатная служба DNS. whois-privacy - служба WHOIS privacy.email-account - бесплатная учетная запись(и) электронной почты.email-forward - бесплатная пересылка электронной почты.ssl-cert - бесплатный базовый SSL сертификат(ы). Пример массива бесплатных возможностей: [ |
freeFeatures[].count | number | Количество функции, которую регистратор предлагает бесплатно. Это поле не будет присутствовать, если оно не применяется. |
freeFeatures[].duration | number |
Количество дней, в течение которых данная функция предлагается регистратором бесплатно. Если продолжительность = 365, то функция предлагается бесплатно в течение 1 года. Это поле не будет присутствовать, если оно не применяется.
|
RegistrarPromo
Описывает активную рекламную акцию, предлагаемую регистратором. Пример:
'{'
\"code\": \"MYCOUPONCODE\",
\"amount\": \"20.00\",
\"type\": \"discount-percent\",
\"start\": \"2015-06-22T00:00:00\",
\"end\": \"2025-06-22T00:00:00\"
'}'| Путь | Тип | Описание |
|---|---|---|
promo.code | string | Промо-код, который покупатель должен ввести при оформлении заказа, чтобы получить скидку по акции. |
promo.amount | string |
Числовая сумма промо-цены. В зависимости от типа акции, это может быть цена со скидкой(price), сумма, вычитаемая из обычной цены(discount), или процентная сумма, вычитаемая из обычной цены(discount-percent).
|
promo.type | string |
Строка, представляющая тип акционного ценообразования. Будет иметь одно из следующих значений: price - означает, что поле суммы промо-акции - это новая цена со скидкойdiscount - означает, что поле суммы промо-акции было вычтено из обычной цены для получения применяемой ценыdiscount-percent - означает, что поле суммы промо-акции - это процент, и этот процент был вычтен из обычной цены для получения применяемой цены.
|
promo.start | string |
Время даты ISO 8601 (часовой пояс UTC), когда началась акция. Не будет присутствовать, если не было определенной даты начала акции. Пример: 2015-06-22T00:00:00
|
promo.end | string |
Дата по стандарту ISO 8601 (часовой пояс UTC), когда закончится акция. Не будет присутствовать, если нет конкретной даты окончания акции. Пример: 2025-06-22T00:00:00
|
promo.pricetype | array of strings |
Тип(ы) цен, к которым применяется промо-акция: register, renewal, transfer. Примечание: это поле присутствует только тогда, когда оно вложено в контекст типа цен (например, в ответ от getCheapestRegistrars). |
Коды ошибок
При отказе запроса объект JSON-ответа может содержать один или несколько объектов ошибок, которые описывают, что именно пошло не так. Ниже приведен неполный список идентифицирующих кодов ошибок, которые могут быть установлены в поле кода объекта ошибки.
| Код | Описание |
|---|---|
| 502 | Сервер API временно недоступен. |
| RATE_LIMITED | Количество клиентских API-запросов превысило допустимый максимум. |
| INVALID_METHOD | Запрошенный метод API не существует. |
| SYSTEM | Произошла неизвестная системная ошибка. |
| RESPONSE_TIMEOUT | Сервер API прервался по таймеру во время генерации ответа. |
| PARAMETER_REQUIRED | Необходимый параметр для вызываемого метода не был предоставлен клиентом. |
| ACCOUNT_INACTIVE | Учетная запись Клиента больше не активна, и для доступа к API требуется продление подписки. |
| NO_ACCESS | Уровень учетной записи клиента не предоставляет доступа к API. Для получения доступа к API требуется обновление учетной записи. |
| AUTH_INVALID | Аутентификация не удалась: предоставленные ключи API неактивны или недействительны. |
| CLIENT_IPS_EXCEEDED | Превышено максимальное количество уникальных клиентских IP-адресов, разрешенных для доступа к API для предоставленной пары ключей API. |
| REQUEST_ENDED_BY_CLIENT | Запрос был прерван клиентом до того, как мог быть сгенерирован ответ. |
Ограничения
Для предотвращения злоупотреблений на использование API накладываются определенные ограничения. Эти ограничения приведены ниже и могут быть изменены без предварительного уведомления.
| Тип | Описание |
|---|---|
| Ключи API для каждого аккаунта | 3 |
| Предельная ставка | 100 максимальное количество запросов за 15 минут |
| IP-адреса клиентов на один ключ API | 5 уникальных клиентских IP-адресов на один ключ за 1440 минут |
Методы расширения
get
Возвращает расширения и связанные с ними данные о ценах и деталях. Этот метод схож с получением данных, отображаемых на одной или нескольких страницах с подробной информацией о ДВУ (например, .com), за исключением данных "История самых дешевых цен", которые не возвращаются этим методом (для получения исторических данных см. метод getAggregateHistory ).
Конечная точка API:https://api.tld-list.com/v1/extension/get
Время отклика:~12 seconds for all extensions, ~6 seconds < 2000 extensions, ~2 seconds < 100 extensions
Параметры запроса
| Ключ | Тип | Требуется | Описание |
|---|---|---|---|
extensions | array of strings |
Определяет, какие расширения необходимо получить. Не включайте предшествующую точку. Имена расширений могут быть юникодом или их punycode-эквивалентом. Если опущено, будут возвращены все расширения, перечисленные на TLD-List.
Пример: "extensions": ["com", "io", "co.uk", "移动", "xn--p1ai"]
| |
includeFields | array of strings |
Укажите определенные данные для возврата по имени ключа. Ключи, не представленные в этом параметре, будут опущены. По умолчанию возвращаются все доступные поля. Список доступных полей см. в таблице ответов. Вложенные поля не поддерживаются.
Пример: "includeFields": ["name", "registrars", "dnssecSupported"]
| |
excludeFields | array of strings |
Укажите данные cetain для исключения по имени ключа. Ключи, представленные в этом параметре, будут опущены. По умолчанию никакие поля не исключаются. Список доступных полей см. в таблице ответов. Вложенные поля не поддерживаются.
Пример: "excludeFields": ["available", "syntax", "sponsor"]
| |
includeRegistrars | array of strings |
Строка ID активных регистраторов для включения в результаты. Используйте метод getIds для получения списка ID всех регистраторов, активно зарегистрированных на сайте TLD-List.
Пример: "includeRegistrars": ["godaddy", "porkbun", "namecheap"]
| |
excludeRegistrars | array of strings |
Строка ID активных регистраторов для исключения в результатах. Используйте метод getIds для получения списка ID всех регистраторов, активно зарегистрированных на сайте TLD-List.
Пример: "excludeRegistrars": ["godaddy", "porkbun", "namecheap"]
| |
omitExtensionsWithoutRegistrars | boolean |
Если значение true, то расширения, для которых в результатах нет данных о ценах регистратора, опускаются. По умолчанию все расширения включаются.
Пример: "omitExtensionsWithoutRegistrars": true
|
Объект реагирования
| Путь | Тип | Описание |
|---|---|---|
data | array of objects | Массив имен расширений. |
data[].available | object | Объект дат доступности фазы TLD. |
data[].available.general | object | Время по стандарту ISO 8601 (часовой пояс UTC), когда регистрация домена становится доступной для широкой публики. |
data[].available.sunrise | object |
Объект начального и конечного диапазонов дат, представляющих фазу восхода TLD's (когда владельцы товарных знаков могут начать подавать заявки на регистрацию применимых доменов). Пример: '{'
|
data[].available.trademark | object |
Объект начального и конечного диапазонов времени, представляющих фазу TLD's торговой марки (период, когда владельцы торговых марок получат уведомление от Центра регистрации торговых марок о регистрации домена, соответствующего их марке). Пример: '{'
|
data[].available.other | array of objects |
Массив объектов, представляющих различные этапы запуска ДВУ и их диапазоны дат, например, "Land Rush" и "Qualified Launch Program". Пример: '{'
|
data[].average | object |
Объект, содержащий среднюю цену расширения, с разбивкой по типам цен, для включенных регистраторов. Пример: '{'
|
data[].average[pricetype] | string |
Средняя цена расширения в виде числовой строки для [pricetype], где ключ [pricetype] - register, renewal, transfer, restore, whoisprivacy.
|
data[].category | string |
Категории, к которым был отнесен ДВУ. Каждый объект в массиве представляет категорию и содержит следующие поля:id - целочисленный идентификатор категории, используемый внутри TLD-List.idstr - альтернативный строковый идентификатор категории.name - название категории на английском языке.desc - описание категории на английском языке.Пример массива категорий: [ |
data[].dnssecSupported | boolean | Если DNS-зона реестра поддерживает DNS Security Extensions (DNSSEC). |
data[].hasPremiumDomains | object |
Объект из ключей [pricetype] и булевых значений, показывающих, взимает ли реестр более высокие цены за отдельные "премиальные" доменные имена. Пример: '{'
|
data[].infoUpdated | string |
Время по стандарту ISO 8601 (часовой пояс UTC), когда базовая информация TLD's (ограничения, даты доступности и т.д.) была в последний раз проверена и обновлена. Примечание: новая дата updated.info не обязательно указывает на то, что произошло какое-либо изменение данных. Она лишь указывает на то, когда данные были в последний раз проверены и установлены.
|
data[].intendedUsage | string | Общая информация о том, как расширение, как ожидается, будет использоваться зарегистрированными лицами. |
data[].language | string | Двухсимвольный код языка по стандарту ISO 639-1. Если язык является английским или неизвестным, это поле будет отсутствовать. |
data[].level | integer | Целое число, представляющее уровень домена расширения. 1 = домен верхнего уровня, 2 = домен второго уровня, 3 = домен третьего уровня и т.д. |
data[].localPresenceRequired | boolean | Если реестр требует, чтобы регистрант имел физический адрес, расположенный в данном регионе. |
data[].median | object |
Объект, содержащий медианную цену расширения, по типам цен, для включенных регистраторов. Пример: '{'
|
data[].median[pricetype] | string |
Медианная цена расширения в виде числовой строки для [pricetype], где ключ [pricetype] - register, renewal, transfer, restore, whoisprivacy.
|
data[].name | string | Unicode-имя расширения домена. |
data[].nameservers | array |
Корневые серверы имен реестра, в которых хранятся авторитетные серверы имен зарегистрированных доменов. Пример массива серверов имен: '{'
|
data[].parentTld | string | Родительский домен верхнего уровня расширения. Если это TLD, то данное поле будет отсутствовать. |
data[].pricingUpdated | string |
Дата по стандарту ISO 8601 (часовой пояс UTC), когда в последний раз проверялось и обновлялось ценообразование регистратора TLD's. Примечание: новая дата update.pricing не обязательно указывает на то, что произошло какое-либо изменение данных. Она лишь указывает на то, когда данные были в последний раз проверены и установлены.
|
data[].punycode | string | Пуникодовое имя расширения домена. Присутствует только для IDN-расширений. |
data[].registerMaxYears | integer | Максимальное количество лет, на которое может быть зарегистрирован домен на момент покупки. |
data[].registerMinYears | integer | Минимальные годы, на которые может быть зарегистрирован домен на момент покупки. |
data[].registrarsIncluded | integer |
Количество регистраторов, включенных в возвращаемый массив registrars.
|
data[].registrarsTotal | integer | Общее количество активных регистраторов, продающих расширение. |
data[].registrars | array of objects | Массив объектов RegistrarPricing, содержащих данные о ценах и характеристиках регистратора. |
data[].registryUrl | string | Официальный сайт реестра, содержащий информацию о регистрации ДВУ. |
data[].renewalMinYears | integer | Минимально допустимые годы, на которые может быть продлен домен. |
data[].restrictions | string | Краткое описание ограничений и требований к регистрации TLD's. Если ограничений нет, это поле не будет присутствовать |
data[].sponsor | object | Объект, содержащий данные об организации-спонсоре расширения или управляющей организации. |
data[].sponsor.name | string | Название организации-спонсора расширения, одобренной ICANN, или организации по управлению ccTLD. |
data[].sponsor.address | string |
Физическое местоположение организации-спонсора или управляющей организации ccTLD. Пример адресного массива: '{'
|
data[].sponsorParentCompany | string | Название организации, владеющей контрольным пакетом акций организации-спонсора. |
data[].romanized | string | TLD, транскрибированный в латинские символы. Если язык является английским или неизвестен, это поле не будет присутствовать. |
data[].rtl | string | Если расширение читается "справа налево" (т.е. Arabric TLDs), то это значение будет __true__. Если оно читается "слева направо", то это значение будет равно __false__. Если оно неизвестно, то это значение будет отсутствовать. |
data[].syntax | object | Объект, содержащий подробную информацию о правилах и ограничениях разрешенных доменных имен расширения. |
data[].syntax.minChars | integer | Минимальное количество символов в этикетке, разрешенное для регистрации. |
data[].syntax.maxChars | integer | Максимальное количество символов в этикетке, разрешенное к регистрации. |
data[].targetMarket | string | Люди или организации, для которых предназначен ДВУ. |
data[].translation | string | Перевод ДВУ на английский язык. Если ДВУ уже переведен на английский язык или перевод неизвестен, это значение будет отсутствовать. |
data[].type | string |
Тип ДВУ, идентифицируемый одной из следующих строк:gTLD: generic top-level domain.ccTLD : country-code top-level domain.grTLD: generic-restricted top-level domain.sTLD : sponsored top-level domain.
|
data[].wholesale | object |
Объект, содержащий оптовые цены расширения с разбивкой по типам цен. Оптовые цены - это цены, взимаемые реестром с регистратора за покупку доменных имен. Пример: '{'
|
data[].whoisPrivacySupported | boolean | Если расширение позволяет службам WHOIS Privacy маскировать имена и контактную информацию регистрантов. Если неизвестно, то это поле не будет присутствовать. |
data[].whoisServer | boolean | Имя хоста сервера реестра, на котором хранится контактная информация регистратора домена. |
Пример запроса/ответа
curl -X POST https://api.tld-list.com/v1/extension/get -H 'Content-Type: application/json' -d ''{'\"extensions\": [\"com\"], \"includeRegistrars\": [\"porkbun\",\"godaddy\",\"epik\"], \"apiKeyPublic\":\"MY_PUBLIC_KEY\",\"apiKeyPrivate\":\"MY_PRIVATE_KEY\"'}''
'{'
\"data\" : [
'{'
\"average\" : '{'
\"register\" : \"7.63\",
\"renewal\" : \"13.63\",
\"transfer\" : \"9.63\"
'}',
\"clicks\" : 226,
\"dnssecSupported\" : true,
\"hasPremiumDomains\" : '{'
\"register\" : false,
\"renewal\" : false
'}',
\"infoUpdated\" : \"2023-02-04T11:05:09\",
\"level\" : 1,
\"localPresenceRequired\" : false,
\"median\" : '{'
\"register\" : \"3.17\",
\"renewal\" : \"20.17\",
\"transfer\" : \"8.17\"
'}',
\"name\" : \"com\",
\"nameservers\" : [
'{'
\"host\" : \"a.gtld-servers.net\",
\"ipv4\" : \"192.5.6.30\",
\"ipv6\" : \"2001:503:a83e:0:0:0:2:30\"
'}',
'{'
\"host\" : \"b.gtld-servers.net\",
\"ipv4\" : \"192.33.14.30\",
\"ipv6\" : \"2001:503:231d:0:0:0:2:30\"
'}',
'{'
\"host\" : \"c.gtld-servers.net\",
\"ipv4\" : \"192.26.92.30\",
\"ipv6\" : \"2001:503:83eb:0:0:0:0:30\"
'}',
'{'
\"host\" : \"d.gtld-servers.net\",
\"ipv4\" : \"192.31.80.30\",
\"ipv6\" : \"2001:500:856e:0:0:0:0:30\"
'}',
'{'
\"host\" : \"e.gtld-servers.net\",
\"ipv4\" : \"192.12.94.30\",
\"ipv6\" : \"2001:502:1ca1:0:0:0:0:30\"
'}',
'{'
\"host\" : \"f.gtld-servers.net\",
\"ipv4\" : \"192.35.51.30\",
\"ipv6\" : \"2001:503:d414:0:0:0:0:30\"
'}',
'{'
\"host\" : \"g.gtld-servers.net\",
\"ipv4\" : \"192.42.93.30\",
\"ipv6\" : \"2001:503:eea3:0:0:0:0:30\"
'}',
'{'
\"host\" : \"h.gtld-servers.net\",
\"ipv4\" : \"192.54.112.30\",
\"ipv6\" : \"2001:502:8cc:0:0:0:0:30\"
'}',
'{'
\"host\" : \"i.gtld-servers.net\",
\"ipv4\" : \"192.43.172.30\",
\"ipv6\" : \"2001:503:39c1:0:0:0:0:30\"
'}',
'{'
\"host\" : \"j.gtld-servers.net\",
\"ipv4\" : \"192.48.79.30\",
\"ipv6\" : \"2001:502:7094:0:0:0:0:30\"
'}',
'{'
\"host\" : \"k.gtld-servers.net\",
\"ipv4\" : \"192.52.178.30\",
\"ipv6\" : \"2001:503:d2d:0:0:0:0:30\"
'}',
'{'
\"host\" : \"l.gtld-servers.net\",
\"ipv4\" : \"192.41.162.30\",
\"ipv6\" : \"2001:500:d937:0:0:0:0:30\"
'}',
'{'
\"host\" : \"m.gtld-servers.net\",
\"ipv4\" : \"192.55.83.30\",
\"ipv6\" : \"2001:501:b1f9:0:0:0:0:30\"
'}'
],
\"pricingUpdated\" : \"2023-02-04T11:04:33\",
\"registerMaxYears\" : 10,
\"registerMinYears\" : 1,
\"registrars\" : [
'{'
\"currency\" : \"USD\",
\"freeFeatures\" : [
'{'
\"name\" : \"dns\"
'}',
'{'
\"name\" : \"whois-privacy\"
'}'
],
\"id\" : \"godaddy\",
\"name\" : \"GoDaddy\",
\"notes\" : '{'
\"feeIcann\" : '{'
\"addedToListPrice\" : true,
\"amount\" : \"0.18\",
\"pricetype\" : [
\"register\",
\"renewal\",
\"transfer\"
]
'}',
\"feeTax\" : [
'{'
\"addedToListPrice\" : false,
\"amountRate\" : \"~\",
\"amountRateType\" : \"percent-varies-by-location\",
\"appliesToCustomers\" : [
\"eu\"
],
\"type\" : \"vat\"
'}',
'{'
\"addedToListPrice\" : false,
\"amountRate\" : \"15\",
\"amountRateType\" : \"percent\",
\"appliesToCustomers\" : [
\"in\"
],
\"type\" : \"gst\"
'}',
'{'
\"addedToListPrice\" : false,
\"amountRate\" : \"10\",
\"amountRateType\" : \"percent\",
\"appliesToCustomers\" : [
\"au\"
],
\"type\" : \"gst\"
'}'
]
'}',
\"prices\" : '{'
\"register\" : \"3.17\",
\"renewal\" : \"20.17\",
\"transfer\" : \"8.17\",
\"whoisPrivacy\" : \"0.00\"
'}',
\"pricesOriginal\" : '{'
\"register\" : \"10.18\"
'}',
\"promos\" : [
'{'
\"amount\" : \"2.99\",
\"code\" : \"GDD2dom\",
\"pricetype\" : [
\"register\"
],
\"start\" : \"2023-01-01T00:00:00\",
\"type\" : \"price\"
'}'
],
\"terms\" : '{'
\"limitPerCustomer\" : '{'
\"count\" : 1,
\"pricetype\" : [
\"register\"
]
'}'
'}',
\"threeYearValueScore\" : \"5.76\"
'}',
'{'
\"currency\" : \"USD\",
\"freeFeatures\" : [
'{'
\"name\" : \"whois-privacy\"
'}',
'{'
\"name\" : \"dns\"
'}'
],
\"id\" : \"epik\",
\"name\" : \"Epik\",
\"prices\" : '{'
\"register\" : \"9.99\",
\"renewal\" : \"10.99\",
\"restore\" : \"90.00\",
\"transfer\" : \"9.99\",
\"whoisPrivacy\" : \"0.00\"
'}',
\"threeYearValueScore\" : \"8.29\"
'}',
'{'
\"currency\" : \"USD\",
\"freeFeatures\" : [
'{'
\"name\" : \"whois-privacy\"
'}',
'{'
\"name\" : \"dns\"
'}',
'{'
\"name\" : \"email-forward\"
'}',
'{'
\"name\" : \"ssl-cert\"
'}'
],
\"id\" : \"porkbun\",
\"name\" : \"Porkbun\",
\"prices\" : '{'
\"register\" : \"8.73\",
\"renewal\" : \"9.73\",
\"transfer\" : \"9.73\",
\"whoisPrivacy\" : \"0.00\"
'}',
\"pricesOriginal\" : '{'
\"register\" : \"9.73\"
'}',
\"promos\" : [
'{'
\"amount\" : \"1.00\",
\"code\" : \"AWESOMENESS\",
\"pricetype\" : [
\"register\"
],
\"type\" : \"discount\"
'}'
],
\"terms\" : '{'
\"limitPerCustomer\" : '{'
\"count\" : 1,
\"pricetype\" : [
\"register\"
]
'}'
'}',
\"threeYearValueScore\" : \"16.03\"
'}'
],
\"registryUrl\" : \"http://www.verisigninc.com\",
\"renewalMinYears\" : 1,
\"rtl\" : false,
\"sponsor\" : '{'
\"address\" : [
\"12061 Bluemont Way\",
\"Reston Virginia 20190\",
\"United States\"
],
\"name\" : \"VeriSign Global Registry Services\"
'}',
\"syntax\" : '{'
\"maxChars\" : 63,
\"minChars\" : 2
'}',
\"type\" : \"gTLD\",
\"whoisPrivacySupported\" : true,
\"whoisServer\" : \"whois.verisign-grs.com\",
\"wholesale\" : '{'
\"register\" : \"8.97\",
\"renewal\" : \"8.97\",
\"transfer\" : \"8.97\"
'}'
'}'
],
\"errors\" : [],
\"seconds\" : 0.068,
\"status\" : \"SUCCESS\"
'}'
getNames
Возвращает все имена расширений.
Конечная точка API:https://api.tld-list.com/v1/extension/getNames
Время отклика:~1 second
Параметры запроса
| Ключ | Тип | Требуется | Описание |
|---|---|---|---|
omitExtensionsWithoutRegistrars | boolean |
Если значение true, то расширения, для которых в результатах нет данных о ценах регистратора, опускаются. По умолчанию значение false.
| |
wantPunycode | boolean |
Перекодируйте все возвращаемые расширения IDN в punycode вместо unicode. По умолчанию: false.
|
Объект реагирования
| Путь | Тип | Описание |
|---|---|---|
data | array of strings | Массив имен расширений. |
Пример запроса/ответа
curl -X POST https://api.tld-list.com/v1/extension/getNames -H 'Content-Type: application/json' -d ''{'\"apiKeyPublic\":\"MY_PUBLIC_KEY\",\"apiKeyPrivate\":\"MY_PRIVATE_KEY\", \"wantPunycode\": true, \"omitExtensionsWithoutRegistrars\": true'}''
'{'
\"data\" : [
\"2000.hu\",
\"5g.in\",
\"6g.in\",
\"aaa.pro\",
\"abc.br\",
\"abkhazia.su\",
\"abo.pa\",
\"abogado\",
\"abr.it\",
\"abruzzo.it\",
\"abudhabi\",
...
\"xn--3bst00m\",
\"xn--jvr189m\",
\"xn--imr513n\",
\"xn--j6w193g\",
\"xn--t60b56a\",
\"xn--mk1bu44c\",
\"xn--3e0b707e\"
],
\"errors\" : [],
\"seconds\" : 0.697,
\"status\" : \"SUCCESS\"
'}'
getCheapestRegistrar
Возвращает данные о самых дешевых регистраторах/провайдерах, их ценах, медианной цене и средней цене на одно доменное расширение. Расширения, которые не продаются ни одним регистратором, не возвращаются.
Конечная точка API:https://api.tld-list.com/v1/extension/getCheapestRegistrar
Время отклика:~8 seconds for all extensions, ~4 seconds < 2000 extensions, ~1 second < 100 extensions
Параметры запроса
| Ключ | Тип | Требуется | Описание |
|---|---|---|---|
pricetypes | array of strings |
Указывает типы ценообразования для получения. Если этот параметр опущен, возвращаются 3 типа цен (register, renewal, transfer).
Пример: "pricetypes": ["register", "transfer"]
| |
extensions | array of strings |
Определяет, какие расширения необходимо получить. Не включайте предшествующую точку. Имена расширений могут быть юникодом или их punycode-эквивалентом. Если опущено, будут возвращены все расширения, перечисленные на TLD-List.
Пример: "extensions": ["com", "io", "co.uk", "移动", "xn--p1ai"]
| |
includeRegistrars | array of strings |
Строковые идентификаторы активных регистраторов, которые необходимо включить при определении самой дешевой цены и суммарных расчетах. Регистраторы, не указанные в этом параметре, будут игнорироваться. Используйте метод getIds для получения списка идентификаторов всех регистраторов, активно зарегистрированных на сайте TLD-List.Если этот параметр опущен, будут учитываться все регистраторы, активно зарегистрированные на сайте TLD-List.
Пример: "includeRegistrars": ["godaddy", "porkbun", "namecheap"]
| |
excludeRegistrars | array of strings |
Строковые идентификаторы активных регистраторов, которые необходимо исключить при определении наиболее дешевых цен и суммарных расчетах. Используйте метод getIds для получения списка ID всех регистраторов, активно зарегистрированных на сайте TLD-List.Если этот параметр опущен, ни один регистратор не будет проигнорирован.
Пример: "excludeRegistrars": ["godaddy", "porkbun", "namecheap"]
| |
omitExtensionsWithoutRegistrars | boolean |
Если значение true, то расширения, не имеющие в результатах данных о ценах регистратора, будут опущены. Такая ситуация возникает, когда переданные параметры excludeRegistrars и/или includeRegistrars привели к тому, что расширение, которое обычно содержит данные о ценах регистратора, не имеет соответствующих данных о ценах регистратора. Такие расширения включаются по умолчанию, но с пустыми массивами данных о ценах. Установите значение true, чтобы исключить эти расширения из результатов.
Пример: "omitExtensionsWithoutRegistrars": true
|
Объект реагирования
| Путь | Тип | Описание |
|---|---|---|
data | array of objects | Массив объектов, каждый из которых представляет расширение домена. |
data[].name | string | Unicode-имя расширения домена. |
data[].punycode | string | Пуникодовое имя расширения домена. Присутствует только для IDN-расширений. |
data[].currency | string |
Трехбуквенный код валюты ISO 4217 данных о ценах. В настоящее время это значение только USD.
|
data[].registrarsIncluded | number | Количество регистраторов, включенных в возвращенные данные о ценах. |
data[].average | object | Объект, содержащий среднюю цену расширения, с разбивкой по типам цен, для включенных регистраторов. |
data[].average[pricetype] | string |
Средняя цена расширения в виде числовой строки для [pricetype], где ключ [pricetype] - register, renewal, transfer.
|
data[].median | object | Объект, содержащий медианную цену расширения, по типам цен, для включенных регистраторов. |
data[].median[pricetype] | string |
Медианная цена расширения в виде числовой строки для [pricetype], где ключ [pricetype] - register, renewal, transfer.
|
data[].cheapest | object | Объект, содержащий самые дешевые регистраторы для расширения по ценовому типу. |
data[].cheapest[pricetype] | array of objects |
Массив объектов RegistrarPricing, содержащий самый дешевый регистратор(ы) по [pricetype], где ключ [pricetype] - register, renewal, transfer.Эти данные представляют собой массив, поскольку самая дешевая цена на расширение может быть одинаковой у нескольких регистраторов.
|
Пример запроса/ответа
curl -X POST https://api.tld-list.com/v1/extension/getCheapestRegistrar -H 'Content-Type: application/json' -d ''{'\"apiKeyPublic\":\"MY_PUBLIC_KEY\",\"apiKeyPrivate\":\"MY_PRIVATE_KEY\", \"includeRegistrars\": [\"godaddy\", \"namecheap\", \"porkbun\", \"namesilo\", \"netim\"], \"extensions\": [\"com\", \"co.uk\"]'}''
'{'
\"data\" : [
'{'
\"average\" : '{'
\"register\" : \"7.85\",
\"renewal\" : \"10.25\",
\"transfer\" : \"11.99\"
'}',
\"cheapest\" : '{'
\"register\" : [
'{'
\"currency\" : \"USD\",
\"freeFeatures\" : [
'{'
\"name\" : \"dns\"
'}',
'{'
\"name\" : \"email-forward\"
'}',
'{'
\"name\" : \"ssl-cert\"
'}'
],
\"id\" : \"porkbun\",
\"name\" : \"Porkbun\",
\"price\" : \"4.96\",
\"priceOriginal\" : \"5.96\",
\"prices\" : '{'
\"register\" : \"4.96\",
\"renewal\" : \"5.96\"
'}',
\"pricesOriginal\" : '{'
\"register\" : \"5.96\"
'}',
\"pricetype\" : \"register\",
\"promo\" : '{'
\"amount\" : \"1.00\",
\"code\" : \"AWESOMENESS\",
\"type\" : \"discount\"
'}',
\"promos\" : [
'{'
\"amount\" : \"1.00\",
\"code\" : \"AWESOMENESS\",
\"type\" : \"discount\"
'}'
],
\"terms\" : '{'
\"limitPerCustomer\" : '{'
\"count\" : 1
'}'
'}',
\"threeYearValueScore\" : \"18.36\"
'}'
],
\"renewal\" : [
'{'
\"currency\" : \"USD\",
\"freeFeatures\" : [
'{'
\"name\" : \"dns\"
'}',
'{'
\"name\" : \"email-forward\"
'}',
'{'
\"name\" : \"ssl-cert\"
'}'
],
\"id\" : \"porkbun\",
\"name\" : \"Porkbun\",
\"price\" : \"5.96\",
\"prices\" : '{'
\"register\" : \"4.96\",
\"renewal\" : \"5.96\"
'}',
\"pricetype\" : \"renewal\",
\"threeYearValueScore\" : \"18.36\"
'}'
],
\"transfer\" : [
'{'
\"currency\" : \"USD\",
\"freeFeatures\" : [
'{'
\"name\" : \"dns\"
'}'
],
\"id\" : \"godaddy\",
\"name\" : \"GoDaddy\",
\"notes\" : '{'
\"feeTax\" : [
'{'
\"addedToListPrice\" : false,
\"amountRate\" : \"~\",
\"amountRateType\" : \"percent-varies-by-location\",
\"appliesToCustomers\" : [
\"eu\"
],
\"type\" : \"vat\"
'}',
'{'
\"addedToListPrice\" : false,
\"amountRate\" : \"15\",
\"amountRateType\" : \"percent\",
\"appliesToCustomers\" : [
\"in\"
],
\"type\" : \"gst\"
'}',
'{'
\"addedToListPrice\" : false,
\"amountRate\" : \"10\",
\"amountRateType\" : \"percent\",
\"appliesToCustomers\" : [
\"au\"
],
\"type\" : \"gst\"
'}'
]
'}',
\"price\" : \"11.99\",
\"prices\" : '{'
\"register\" : \"6.49\",
\"renewal\" : \"11.99\",
\"transfer\" : \"11.99\"
'}',
\"pricetype\" : \"transfer\",
\"threeYearValueScore\" : \"3.46\"
'}'
]
'}',
\"currency\" : \"USD\",
\"median\" : '{'
\"register\" : \"6.48\",
\"renewal\" : \"10.78\",
\"transfer\" : \"11.99\"
'}',
\"name\" : \"co.uk\",
\"registrarsIncluded\" : 4,
\"registrarsTotal\" : 47
'}',
'{'
\"average\" : '{'
\"register\" : \"8.90\",
\"renewal\" : \"14.10\",
\"transfer\" : \"9.30\"
'}',
\"cheapest\" : '{'
\"register\" : [
'{'
\"currency\" : \"USD\",
\"freeFeatures\" : [
'{'
\"name\" : \"dns\"
'}',
'{'
\"name\" : \"whois-privacy\"
'}'
],
\"id\" : \"godaddy\",
\"name\" : \"GoDaddy\",
\"notes\" : '{'
\"feeIcann\" : '{'
\"addedToListPrice\" : true,
\"amount\" : \"0.18\"
'}',
\"feeTax\" : [
'{'
\"addedToListPrice\" : false,
\"amountRate\" : \"~\",
\"amountRateType\" : \"percent-varies-by-location\",
\"appliesToCustomers\" : [
\"eu\"
],
\"type\" : \"vat\"
'}',
'{'
\"addedToListPrice\" : false,
\"amountRate\" : \"15\",
\"amountRateType\" : \"percent\",
\"appliesToCustomers\" : [
\"in\"
],
\"type\" : \"gst\"
'}',
'{'
\"addedToListPrice\" : false,
\"amountRate\" : \"10\",
\"amountRateType\" : \"percent\",
\"appliesToCustomers\" : [
\"au\"
],
\"type\" : \"gst\"
'}'
]
'}',
\"price\" : \"3.17\",
\"priceOriginal\" : \"10.18\",
\"prices\" : '{'
\"register\" : \"3.17\",
\"renewal\" : \"20.17\",
\"transfer\" : \"8.17\",
\"whoisPrivacy\" : \"0.00\"
'}',
\"pricesOriginal\" : '{'
\"register\" : \"10.18\"
'}',
\"pricetype\" : \"register\",
\"promo\" : '{'
\"amount\" : \"2.99\",
\"code\" : \"GDD2dom\",
\"start\" : \"2023-01-01T00:00:00\",
\"type\" : \"price\"
'}',
\"promos\" : [
'{'
\"amount\" : \"2.99\",
\"code\" : \"GDD2dom\",
\"start\" : \"2023-01-01T00:00:00\",
\"type\" : \"price\"
'}'
],
\"terms\" : '{'
\"limitPerCustomer\" : '{'
\"count\" : 1
'}'
'}',
\"threeYearValueScore\" : \"5.76\"
'}'
],
\"renewal\" : [
'{'
\"currency\" : \"USD\",
\"freeFeatures\" : [
'{'
\"name\" : \"whois-privacy\"
'}',
'{'
\"name\" : \"dns\"
'}',
'{'
\"name\" : \"email-forward\"
'}',
'{'
\"name\" : \"ssl-cert\"
'}'
],
\"id\" : \"porkbun\",
\"name\" : \"Porkbun\",
\"price\" : \"9.73\",
\"prices\" : '{'
\"register\" : \"8.73\",
\"renewal\" : \"9.73\",
\"transfer\" : \"9.73\",
\"whoisPrivacy\" : \"0.00\"
'}',
\"pricetype\" : \"renewal\",
\"threeYearValueScore\" : \"16.03\"
'}'
],
\"transfer\" : [
'{'
\"currency\" : \"USD\",
\"freeFeatures\" : [
'{'
\"name\" : \"dns\"
'}',
'{'
\"name\" : \"whois-privacy\"
'}',
'{'
\"name\" : \"email-forward\"
'}'
],
\"id\" : \"namecheap\",
\"name\" : \"Namecheap\",
\"notes\" : '{'
\"feeIcann\" : '{'
\"addedToListPrice\" : true,
\"amount\" : \"0.18\"
'}'
'}',
\"price\" : \"7.16\",
\"prices\" : '{'
\"register\" : \"6.16\",
\"renewal\" : \"14.16\",
\"restore\" : \"13.98\",
\"transfer\" : \"7.16\",
\"whoisPrivacy\" : \"0.00\"
'}',
\"pricetype\" : \"transfer\",
\"terms\" : '{'
\"limitPerCustomer\" : '{'
\"count\" : 1
'}'
'}',
\"threeYearValueScore\" : \"10.15\"
'}'
]
'}',
\"currency\" : \"USD\",
\"median\" : '{'
\"register\" : \"10.95\",
\"renewal\" : \"10.95\",
\"transfer\" : \"9.95\"
'}',
\"name\" : \"com\",
\"registrarsIncluded\" : 5,
\"registrarsTotal\" : 59
'}'
],
\"errors\" : [],
\"seconds\" : 0.126,
\"status\" : \"SUCCESS\"
'}'
Методы регистратора
getIds
Возвращает все идентификаторы регистраторов, каждый из которых уникальным образом идентифицирует регистратора, активно зарегистрированного на сайте TLD-List.
Конечная точка API:https://api.tld-list.com/v1/registrar/getIds
Время отклика:< 1 second
Параметры запроса
Нет
Объект реагирования
| Путь | Тип | Описание |
|---|---|---|
data | array of strings | Массив строковых идентификаторов регистраторов. |
Пример запроса/ответа
curl -X POST https://api.tld-list.com/v1/registrar/getIds -H 'Content-Type: application/json' -d ''{'\"apiKeyPublic\":\"MY_PUBLIC_KEY\",\"apiKeyPrivate\":\"MY_PRIVATE_KEY\"'}''
'{'
\"data\" : [
\"101domain\",
\"123reg\",
\"above.com\",
...
\"upflare\",
\"webnames.ca\"
],
\"errors\" : [],
\"seconds\" : 0.001,
\"status\" : \"SUCCESS\"
'}'