API v1 Documentação
Informações sobre métodos suportados, parâmetros, dados devolvidos e exemplos.
Informações gerais
- Visão geral
- Autenticação
- Resposta
- Objectos de resposta comuns
- RegistrarPricing
- RegistrarPromo
- Códigos de erro
- Limites
Métodos de extensão
Métodos de registo
Visão geral
A API TLD-List v1 pode ser utilizada para obter dados apresentados em TLD-List a partir da sua base de dados em direto.
A API aceita POSTs HTTP contendo dados JSON e responde com dados JSON. Requisitos para todos os pedidos de métodos da API:
- Os pedidos devem ser efectuados utilizando o método HTTP POST
- Os pedidos devem ter um corpo JSON que contenha um par de chaves API públicas e privadas válidas para autenticação
- Os pedidos devem incluir o cabeçalho:
Content-Type: application/json
Os parâmetros são transmitidos à API como chave/valores no corpo do pedido codificado em JSON.
O URL de base para todos os pedidos de API é:
https://api.tld-list.com/v1
Autenticação
A autenticação é efectuada passando uma chave de API pública e uma chave de API privada no corpo JSON enviado para o URL do método. Todas as chamadas de API devem incluir um par de chaves de API válido. Os pares de chaves da API podem ser gerados na sua conta TLD-List no separador API.
Visite Conta > API para criar chaves de API.
As chaves da API são passadas no corpo do pedido JSON utilizando os parâmetros apiKeyPublic (a sua chave pública) e apiKeyPrivate (a sua chave privada).
Example authentication parameters
{
"apiKeyPublic":"MY_PUBLIC_KEY",
"apiKeyPrivate":"MY_PRIVATE_KEY"
}
Resposta
Todas as respostas bem-sucedidas da API terão um código de estado HTTP 200 SUCCESS e um corpo codificado em JSON. Qualquer outro código de estado HTTP na resposta indica que o pedido falhou e que ocorreu um erro.
Os objectos de resposta JSON devolvidos pela API terão a seguinte estrutura:
| Chave | Tipo | Descrição |
|---|---|---|
status |
string | Especifica o estado do pedido. SUCCESS indica que a chamada à API foi bem sucedida, FAIL indica que o pedido falhou. |
errors |
array of objects | Matriz de objectos que representam os erros ocorridos. Cada objeto de erro conterá:código: cadeia de caracteres que identifica o tipo de erromensagem: cadeia de caracteres legível por humanos que descreve o erroparâmetro: cadeia de caracteres opcional ou matriz de cadeias de caracteres que indica um problema com determinado(s) parâmetro(s) passado(s) no pedido.Se não ocorrerem erros, a matriz de erros estará vazia.Consulte Códigos de erro para obter mais informações. |
seconds |
number | Tempo que o servidor da API demorou a gerar uma resposta (em segundos). |
data |
string|array|object | Um objeto, matriz ou cadeia de caracteres que contém os dados solicitados. |
Exemplo de objeto de resposta falhada com erros
{
"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"
}
Exemplo de objeto de resposta bem sucedida
{
"data" : [
{
"cheapest" : {
"renewal" : [
{
"id" : "sav",
"name" : "Sav",
"price" : "8.38"
}
],
},
"currency" : "USD",
"name" : "com",
"registrarsIncluded" : 58,
"registrarsTotal" : 58
}
],
"errors" : [],
"seconds" : 0.001,
"status" : "SUCCESS"
}
Objectos de resposta comuns
Alguns dos métodos API devolvem objectos de dados que têm a mesma estrutura. Esses objetos de dados comuns são descritos em detalhes abaixo.
RegistrarPricing
Descreve o preço de retalho de um agente de registo para uma extensão para um determinado tipo de preço (register, renewal, transfer), incluindo detalhes adicionais como termos especiais, taxas, impostos e promoções.
| Caminho | Tipo | Descrição | |
|---|---|---|---|
id |
string | Cadeia de ID do registador que identifica de forma exclusiva o registador. | |
name |
string | Nome de apresentação do agente de registo. | |
price |
string |
O preço de retalho final do agente de registo para a extensão e o tipo de preço. Nota: este campo só está presente quando o objeto RegistrarPricing está aninhado no contexto de um tipo de preço (por exemplo, na resposta de getCheapestRegistrars). |
|
priceOriginal |
string |
O preço de retalho normal do agente de registo para a extensão como uma cadeia numérica. Este campo só estará presente se o preço for um preço promocional.Nota: este campo só está presente quando o objeto RegistrarPricing está aninhado no contexto de um tipo de preço (por exemplo, na resposta de getCheapestRegistrars). |
|
pricetype |
string |
O tipo de extensão de preços, um de: register, renewal, transfer.Nota: este campo só está presente quando o objeto RegistrarPricing está aninhado no contexto de um tipo de preço (por exemplo, na resposta de getCheapestRegistrars). |
|
prices |
object | O preço de retalho do agente de registo para a extensão para todos os tipos de preços. | |
prices[pricetype] |
string |
O preço de retalho final do agente de registo para a extensão e [pricetype], em que a chave [pricetype] é register, renewal, transfer, restore, whoisprivacy. Exemplo:{
"register": "8.73",
"renewal": "9.73",
"transfer": "9.73",
"whoisPrivacy": "0.00"
}
|
|
pricesOriginal |
object |
O preço de retalho normal do agente de registo para a extensão em todos os tipos de preços. Este campo não estará presente se o agente de registo não tiver promoções activas.
|
|
pricesOriginal[pricetype] |
string |
O preço de retalho normal do agente de registo para a extensão e [pricetype], em que a chave [pricetype] é register, renewal, transfer, restore, whoisprivacy.
|
|
promo |
object |
Um objeto RegistrarPromo que representa o preço promocional que foi aplicado ao preço do agente de registo para esta extensão e tipo de preço. Se não tiver sido aplicada nenhuma promoção, este campo não estará presente. Exemplo de objeto promocional: {
"code": "MYCOUPONCODE",
"amount": "20.00",
"type": "discount-percent",
"start": "2015-06-22T00:00:00",
"end": "2025-06-22T00:00:00"
}Nota: este campo só está presente quando o objeto RegistrarPricing está aninhado no contexto de um tipo de preço (por exemplo, na resposta de getCheapestRegistrars). |
|
promos |
array of objects | Conjunto de objectos RegistrarPromo que representam todos os preços promocionais activos oferecidos pelo agente de registo para esta extensão. | |
terms |
object |
Uma coleção de objectos que representam condições especiais que se aplicam aos preços do agente de registo. Se não se aplicarem termos especiais, este campo não estará presente. Cada subobjecto tem como chave um ID de termo: limitPerCustomer - especifica que o preço só é válido para um determinado número de domínios por cliente.newCustomerOnly - especifica que o preço só é válido para novos clientes.affiliateLink - especifica que o preço só é válido quando o cliente acede ao sítio do agente de registo através de um link de afiliado. nameserverLockIn - especifica que os domínios comprados só podem utilizar os servidores de nomes da entidade registadora.idSubmissionRequired - especifica que o cliente tem de apresentar o seu documento de identificação com fotografia ou o registo comercial para concluir uma compra.Exemplo de objectos de termos: {
"limitPerCustomer": {
"pricetype": [
"register"
],
"count": 1
},
"newCustomerOnly": {
"pricetype": [
"register"
]
},
"affiliateLink": {
"pricetype": [
"register"
]
},
"multiYearPurchaseRequired": {
"pricetype": [
"register"
],
"count": 2
},
"nameserverLockIn": {
"pricetype": [
"register",
"renewal",
"transfer"
]
},
"idSubmissionRequired": {
"pricetype": [
"register",
"renewal",
"transfer"
]
}
}
|
|
terms[term].count |
number |
A quantidade a que a condição limita o cliente. Por exemplo, se a contagem = 1, então o cliente está limitado a 1 domínio ao preço especificado. Este campo não estará presente se não for aplicável.
|
|
terms[term].pricetype |
array of strings |
O(s) tipo(s) de preço a que o termo se aplica: register, renewal, transfer. Este campo só estará presente se o pricetype do objeto RegistrarPricing não for especificado.
|
|
notes |
object |
Uma coleção de objectos que representam notas que dizem respeito ao preço do agente de registo. Se não existirem notas de preços, este valor será um objeto vazio. Cada subobjecto é codificado com um ID de notas: currencyExchangeRate, feeIcann, feeTax, feePayment
|
|
notes.feeIcann |
object |
Especifica se foi adicionada uma taxa da ICANN ao preço final do TLD (normalmente $0,18 USD). Se esta nota existir, significa que o fornecedor de serviços de registo não inclui a taxa da ICANN no preço anunciado e, em vez disso, adiciona-a como uma taxa adicional ao preço TLD's no checkout do cliente. Exemplo de objeto de nota fee_icann: {
"feeIcann": {
"pricetype": [
"register",
"renewal",
"transfer"
],
"amount": "0.18",
"addedToListPrice": true
}
}O campo pricetype especifica que tipos de preços estão sujeitos à taxa, e o campo addedToListPrice indica que a taxa foi adicionada ao preço final.
|
|
notes.feeTax |
array of objects |
Especifica as várias taxas de imposto cobradas por um agente de registo, os clientes aos quais o imposto se aplica e se o imposto calculado foi incluído no preço final do TLD. Tenha em atenção que os impostos só são incluídos no preço final do TLD se o agente de registo não incluir o imposto nos seus preços anunciados e o imposto for cobrado a todos os clientes. Exemplo de matriz de objectos feeTax: {
"feeTax": [
{
"addedToListPrice": false,
"appliesToCustomers": [
"eu",
"us",
"in"
],
"amountRateType": "percent",
"amountRate": "13",
"type": "hst"
},
{
"addedToListPrice": false,
"appliesToCustomers": [
"ca"
],
"amountRateType": "percent",
"amountRate": "5",
"type": "gst"
}
]
}
|
|
notes.feeTax[].type |
string | Etiqueta que descreve o tipo de imposto, ou seja, "vat" para Imposto sobre o Valor Acrescentado, "gst" para Imposto sobre Bens e Serviços, etc. |
|
notes.feeTax[].amountRate |
number|string | Valor da taxa de imposto. Pode indicar a taxa percentual de imposto como um número ou a cadeia '~' indicando que a taxa de imposto varia com base nos critérios do cliente, como a localização. |
|
notes.feeTax[].amountRateType |
string | O valor de cadeia 'percent' indica que o valor amountRate é uma percentagem numérica. O valor de cadeia 'percent-varies-by-location' indica que a taxa de imposto varia com base na região ou país de faturação do cliente. |
|
notes.feeTax[].appliesToCustomers |
string|array of strings | a cadeia "*" indica que o imposto se aplica a todos os clientes. Caso contrário, este valor será um conjunto de cadeias de códigos de país ISO 3166-1 alfa-2 que definem os países sujeitos ao imposto. Uma exceção digna de nota: o conjunto pode conter a cadeia de códigos de países que não são "eu", que representa todos os países da União Europeia. |
|
notes.feeTax[].addedToListPrice |
boolean | Indica se o valor do imposto calculado foi adicionado ao preço final. | |
notes.feePayment |
object | Especifica se o agente de registo cobra uma taxa adicional com base no método de pagamento do cliente e se a taxa foi incluída no preço final do TLD. Exemplo de objeto feePayment: {
"feePayment": {
"addedToListPrice": false,
"amountRate": "~",
"amountRateMin": "0.9",
"amountRateMax": "20",
"amountRateType": "percent-varies-by-method"
}
} |
|
notes.feePayment.amountRate |
string | Montante da taxa. Esta será a taxa percentual da taxa como um número ou a cadeia "~" indicando que a taxa da taxa varia com base nos critérios do cliente, como o método de pagamento. |
|
notes.feePayment.amountRateMin |
string | Montante mínimo da taxa, aplicável apenas se a taxa for variável. | |
notes.feePayment.amountRateMax |
string | Montante máximo da taxa, aplicável apenas se a taxa for variável. | |
notes.feePayment.amountRateType |
string | O valor de cadeia 'percent' indica que o valor amountRate é uma percentagem numérica. O valor de cadeia 'percent-varies-by-method' indica que a taxa é uma percentagem que varia consoante o método de pagamento do cliente. |
|
notes.feePayment.addedToListPrice |
boolean | Indica se o montante da taxa calculada foi adicionado ao preço final. | |
notes.currencyExchangeRate |
object | Especifica que os preços do agente de registo estavam cotados noutra moeda nacional e foram convertidos para USD. Os pormenores da conversão de moeda são representados da seguinte forma:base: a moeda de cotação do agente de registo como um código de 3 letras (ou seja, EUR)cotação: a moeda para a qual os preços foram convertidos (será sempre USD)taxa: a taxa de câmbio utilizada para efetuar a conversão de moeda. Exemplo de objeto de nota currencyExchangeRate: {
"currencyExchangeRate": {
"base": "GBP",
"quote": "USD",
"rate": "1.2482"
}
} |
|
threeYearValueScore |
number | Uma medida numérica do valor, determinada pelo preço e pelas funcionalidades gratuitas, para possuir um domínio com esta extensão através do agente de registo durante um período de 3 anos. Quanto maior for o número, maior é o valor oferecido. | |
currency |
string |
O código de três letras da moeda ISO 4217 dos dados relativos aos preços. Atualmente, este valor é apenas USD.
|
|
freeFeatures |
array of objects |
Um conjunto de objectos que representam as funcionalidades gratuitas que o fornecedor de serviços de registo oferece com a propriedade do domínio. O objeto inclui a quantidade e a duração de cada funcionalidade. Cada objeto tem uma chave com um ID de funcionalidade gratuita: dns - serviço DNS gratuito. whois-privacy - serviço de privacidade WHOIS.email-account - conta(s) de correio eletrónico gratuita(s).email-forward - reencaminhamento de correio eletrónico gratuito.ssl-cert - certificado(s) SSL básico(s) gratuito(s). Exemplo de conjunto de funcionalidades gratuitas: [
{
"name": "dns"
},
{
"name": "whois-privacy"
},
{
"name": "email-account",
"count": 5
},
{
"name": "ssl-cert",
"duration": 365
}
]
|
|
freeFeatures[].count |
number | A quantidade da funcionalidade que o agente de registo oferece gratuitamente. Este campo não estará presente se não se aplicar. | |
freeFeatures[].duration |
number |
O número de dias em que a funcionalidade é oferecida gratuitamente pelo agente de registo. Se a duração = 365, então a funcionalidade é oferecida gratuitamente durante 1 ano. Este campo não estará presente se não se aplicar.
|
|
RegistrarPromo
Descreve uma promoção ativa oferecida por um agente de registo. Exemplo:
{
"code": "MYCOUPONCODE",
"amount": "20.00",
"type": "discount-percent",
"start": "2015-06-22T00:00:00",
"end": "2025-06-22T00:00:00"
}
| Caminho | Tipo | Descrição | |
|---|---|---|---|
promo.code |
string | O código promocional que o cliente deve introduzir no checkout para receber a promoção com desconto. | |
promo.amount |
string |
O valor numérico do preço promocional. Dependendo do tipo de promoção, pode ser o preço com desconto(preço), o valor subtraído do preço normal(desconto) ou o valor percentual subtraído do preço normal(percentual de desconto).
|
|
promo.type |
string |
Uma cadeia de caracteres que representa o tipo de preço promocional. Será um dos seguintes valores: price - significa que o campo de valor da promoção é o novo preço com descontodiscount - significa que o campo de valor da promoção foi subtraído do preço normal para obter o preço aplicadodiscount-percent - significa que o campo de valor da promoção é uma percentagem e que a percentagem foi subtraída do preço normal para obter o preço aplicado.
|
|
promo.start |
string |
Data e hora ISO 8601 (fuso horário UTC) de quando a promoção começou. Não estará presente se não houver uma data de início específica. Exemplo: 2015-06-22T00:00:00
|
|
promo.end |
string |
Data e hora ISO 8601 (fuso horário UTC) de quando a promoção terminará. Não estará presente se não existir uma data de fim específica. Exemplo: 2025-06-22T00:00:00
|
|
promo.pricetype |
array of strings |
O(s) tipo(s) de preço a que a promoção se aplica: register, renewal, transfer. Nota: este campo só está presente quando inserido no contexto de um tipo de preço (por exemplo, na resposta de getCheapestRegistrars). |
|
Códigos de erro
Em caso de falha do pedido, o objeto de resposta JSON pode conter um ou mais objectos de erro que descrevem o que correu mal. Segue-se uma lista não exaustiva de códigos de erro de identificação que podem ser definidos no campo de código do objeto de erro.
| Código | Descrição |
|---|---|
| 502 | O servidor da API está temporariamente indisponível. |
| RATE_LIMITED | O número de pedidos de API do cliente excedeu o máximo permitido. |
| INVALID_METHOD | O método API solicitado não existe. |
| SYSTEM | Ocorreu um erro de sistema desconhecido. |
| RESPONSE_TIMEOUT | O servidor da API atingiu o tempo limite ao gerar uma resposta. |
| PARAMETER_REQUIRED | Um parâmetro necessário para o método chamado não foi fornecido pelo cliente. |
| ACCOUNT_INACTIVE | A conta do cliente já não está ativa e é necessária uma renovação da subscrição para o acesso à API. |
| NO_ACCESS | O nível de conta do cliente não concede acesso à API. É necessária uma atualização da conta para obter acesso à API. |
| AUTH_INVALID | Falha na autenticação: as chaves de API fornecidas estão inactivas ou são inválidas. |
| CLIENT_IPS_EXCEEDED | Foi excedido o número máximo de IPs de clientes únicos autorizados a aceder à API para o par de chaves da API fornecido. |
| REQUEST_ENDED_BY_CLIENT | O pedido foi terminado pelo cliente antes de poder ser gerada uma resposta. |
Limites
A utilização da API está sujeita a determinados limites para evitar abusos. Estas limitações de utilização são apresentadas abaixo e estão sujeitas a alterações sem aviso prévio.
| Tipo | Descrição |
|---|---|
| Chaves de API por conta | 3 |
| Limite da taxa | 100 máximo de pedidos por 15 minutos |
| Endereços IP de clientes por chave API | 5 endereços IP de cliente únicos por chave por 1440 minutos |
Métodos de extensão
get
Devolve extensões e os respectivos dados de preços e detalhes associados. Este método é semelhante à recuperação dos dados apresentados em uma ou mais páginas de detalhes de TLD (por exemplo, .com), com exceção dos dados do "Histórico de preços mais baratos", que não são devolvidos por este método (consulte o método getAggregateHistory para obter dados históricos).
Ponto final da API:https://api.tld-list.com/v1/extension/get
Tempo de resposta:~12 seconds for all extensions, ~6 seconds < 2000 extensions, ~2 seconds < 100 extensions
Parâmetros do pedido
| Chave | Tipo | Necessário | Descrição | |
|---|---|---|---|---|
extensions |
array of strings |
Especifica quais as extensões a recuperar. Não inclua um ponto anterior. Os nomes das extensões podem ser unicode ou o seu equivalente em punycode. Se omitido, todas as extensões listadas em TLD-List serão devolvidas. Exemplo: |
||
includeFields |
array of strings |
Especifique determinados dados a devolver por nome de chave. As chaves não apresentadas neste parâmetro serão omitidas. Por defeito, são devolvidos todos os campos disponíveis. Consulte a tabela de resposta para obter uma lista dos campos disponíveis. Os campos aninhados não são suportados.
Exemplo: |
||
excludeFields |
array of strings |
Especifique os dados de cetain a excluir por nome de chave. As chaves apresentadas neste parâmetro serão omitidas. Por defeito, não são excluídos quaisquer campos. Consulte a tabela de resposta para obter uma lista de campos disponíveis. Os campos aninhados não são suportados.
Exemplo: |
||
includeRegistrars |
array of strings |
A cadeia de IDs dos agentes de registo activos a incluir nos resultados. Utilize o método getIds para obter uma lista de IDs de todos os agentes de registo ativamente listados em TLD-List. Exemplo: |
||
excludeRegistrars |
array of strings |
A cadeia de IDs dos agentes de registo activos a excluir nos resultados. Utilize o método getIds para obter uma lista de IDs de todos os agentes de registo ativamente listados em TLD-List. Exemplo: |
||
omitExtensionsWithoutRegistrars |
boolean |
Quando Exemplo: |
||
Objeto de resposta
| Caminho | Tipo | Descrição | |
|---|---|---|---|
data |
array of objects | Conjunto de nomes de extensões. | |
data[].available |
object | Objeto das datas de disponibilidade da fase TLD. | |
data[].available.general |
object | Data ISO 8601 (fuso horário UTC) de quando o registo de domínios está disponível para o público em geral. | |
data[].available.sunrise |
object |
Objeto de intervalos de datas de início e fim que representam a fase TLD's Sunrise (quando os proprietários de marcas comerciais podem começar a solicitar o registo de domínios aplicáveis). Exemplo: {
"sunrise": {
"start": "2017-06-19T00:00:00.000Z",
"end": "2017-08-21T00:00:00.000Z"
}
}
|
|
data[].available.trademark |
object |
Objeto de intervalos de datas de início e fim que representam a fase da marca registada TLD's (período em que os titulares de marcas registadas serão notificados pelo Centro de Intercâmbio de Marcas se um domínio for registado com a sua marca). Exemplo: {
"trademark": {
"start": "2019-06-18T00:00:00.000Z",
"end": "2020-09-21T00:00:00.000Z"
}
}
|
|
data[].available.other |
array of objects |
Conjunto de objectos que representam várias fases de lançamento do TLD e os respectivos intervalos de datas, como "Land Rush" e "Qualified Launch Program". Exemplo: {
"other": [
{
"end": "2020-09-18T00:00:00.000Z",
"name": "Limited Community Priority Period",
"start": "2019-09-17T00:00:00.000Z",
"type": "limited-registration-period"
},
{
"end": "2018-07-03T00:00:00.000Z",
"name": "Restricted Land Rush 1",
"start": "2017-10-23T00:00:00.000Z",
"type": "limited-registration-period"
},
{
"end": "2019-09-16T00:00:00.000Z",
"name": "Invitation Priority Access",
"start": "2017-08-22T00:00:00.000Z",
"type": "limited-registration-period"
},
{
"end": "2017-08-21T00:00:00.000Z",
"name": "Qualified Launch Program",
"start": "2017-06-19T00:00:00.000Z",
"type": "qualified-launch-program"
}
]
}
|
|
data[].average |
object |
Objeto que contém o preço médio da extensão, por tipo de preço, para os agentes de registo incluídos. Exemplo: {
"average": {
"register": "7.63",
"renewal": "13.63",
"transfer": "9.63"
}
}
|
|
data[].average[pricetype] |
string |
O preço médio da extensão como uma cadeia numérica para [pricetype], em que a chave [pricetype] é register, renewal, transfer, restore, whoisprivacy.
|
|
data[].category |
string |
As categorias em que o TLD foi classificado. Cada objeto da matriz representa uma categoria e contém os seguintes campos:id - ID da categoria inteira utilizada internamente por TLD-List.idstr - ID da categoria em cadeia alternativa.name - nome da categoria em inglês.desc - descrição da categoria em inglês.Exemplo de matriz de categorias: [
{
"id": 4,
"idstr": "services",
"name": "Services",
"desc": "TLDs for representing the service industry."
},
{
"id": 6,
"idstr": "food",
"name": "Food & Drink",
"desc": "Domain extensions for dining, cooking, restaurants, and beverages."
}
]
|
|
data[].dnssecSupported |
boolean | Se a zona DNS do registo suportar Extensões de Segurança DNS (DNSSEC). | |
data[].hasPremiumDomains |
object |
Objeto de chaves [pricetype] e valores booleanos, representando se o registo cobra preços mais elevados para nomes de domínio "premium" seleccionados. Exemplo: {
"hasPremiumDomains": {
"register": false,
"renewal": false
}
}
|
|
data[].infoUpdated |
string |
Data e hora ISO 8601 (fuso horário UTC) de quando as informações básicas de TLD's (restrições, datas de disponibilidade, etc.) foram verificadas e actualizadas pela última vez. Nota: uma nova data updated.info não indica necessariamente que ocorreu qualquer alteração de dados. Apenas indica quando é que os dados foram verificados e definidos pela última vez.
|
|
data[].intendedUsage |
string | Informações gerais sobre a forma como se espera que a extensão seja utilizada pelos registantes. | |
data[].language |
string | O código linguístico de 2 caracteres ISO 639-1. Se a língua for inglesa ou desconhecida, este campo não estará presente. | |
data[].level |
integer | Número inteiro que representa o nível de domínio da extensão. 1 = domínio de nível superior, 2 = domínio de segundo nível, 3 = domínio de terceiro nível, etc. | |
data[].localPresenceRequired |
boolean | Se o registo exigir que o registante tenha um endereço físico local na região. | |
data[].median |
object |
Objeto que contém o preço médio da extensão, por tipo de preço, para os agentes de registo incluídos. Exemplo: {
"median": {
"register": "3.17",
"renewal": "20.17",
"transfer": "8.17"
}
}
|
|
data[].median[pricetype] |
string |
O preço mediano da extensão como uma cadeia numérica para [pricetype], em que a chave [pricetype] é register, renewal, transfer, restore, whoisprivacy.
|
|
data[].name |
string | Nome Unicode da extensão de domínio. | |
data[].nameservers |
array |
Os servidores de nomes raiz do registo que armazenam os servidores de nomes autoritativos dos domínios registados. Exemplo de matriz de servidores de nomes: {
"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"
}
]
}
|
|
data[].parentTld |
string | O domínio de topo principal da extensão. Se se tratar de um TLD, este campo não estará presente. | |
data[].pricingUpdated |
string |
Data e hora ISO 8601 (fuso horário UTC) da última vez que o preço do agente de registo TLD's foi verificado e atualizado. Nota: uma nova data de atualização de preços não indica necessariamente que ocorreu uma alteração de dados. Indica apenas quando os dados foram verificados e definidos pela última vez.
|
|
data[].punycode |
string | Nome do código de pontuação da extensão de domínio. Apenas presente para extensões IDN. | |
data[].registerMaxYears |
integer | Anos máximos que um domínio pode ser registado no momento da compra. | |
data[].registerMinYears |
integer | Anos mínimos em que um domínio pode ser registado no momento da compra. | |
data[].registrarsIncluded |
integer |
Contagem dos agentes de registo incluídos no conjunto de agentes de registo devolvido.
|
|
data[].registrarsTotal |
integer | Total de registadores activos que vendem a extensão. | |
data[].registrars |
array of objects | Conjunto de objectos RegistrarPricing que contêm dados sobre preços e características do agente de registo. | |
data[].registryUrl |
string | O sítio Web oficial do registo para informações sobre o registo de TLDs. | |
data[].renewalMinYears |
integer | Anos mínimos permitidos para a renovação de um domínio. | |
data[].restrictions |
string | Uma breve descrição das restrições e requisitos do registo TLD's. Se não existirem restrições, este campo não estará presente | |
data[].sponsor |
object | Objeto que contém dados sobre a organização patrocinadora ou a organização de gestão da extensão. | |
data[].sponsor.name |
string | O nome da organização patrocinadora da extensão aprovada pela ICANN ou da organização de gestão ccTLD. | |
data[].sponsor.address |
string |
Localização física da organização patrocinadora ou da organização de gestão ccTLD. Exemplo de matriz de endereços: {
"sponsor": {
"address": [
"Minerva House",
"Edmund Halley Road",
"Oxford Science Park",
"Oxford OX4 4DQ",
"United Kingdom"
]
}
}
|
|
data[].sponsorParentCompany |
string | Nome da entidade que detém o controlo da organização patrocinadora. | |
data[].romanized |
string | O TLD transcrito em caracteres latinos. Se a língua for inglesa ou desconhecida, este campo não estará presente. | |
data[].rtl |
string | Se a extensão for lida da "direita para a esquerda" (ou seja, Arabric TLDs), este valor será __true__. Se for lida da "esquerda para a direita", este valor será __false__. Se for desconhecido, este valor não estará presente. | |
data[].syntax |
object | Objeto que contém detalhes sobre as regras e restrições de nomes de domínio permitidos da extensão. | |
data[].syntax.minChars |
integer | Número mínimo de caracteres da etiqueta que pode ser registado. | |
data[].syntax.maxChars |
integer | Número máximo de caracteres da etiqueta que pode ser registado. | |
data[].targetMarket |
string | As pessoas ou entidades que o TLD se destina a servir. | |
data[].translation |
string | A tradução em inglês do TLD. Se o TLD já for baseado em inglês ou se a tradução for desconhecida, este valor não estará presente. | |
data[].type |
string |
O tipo de TLD identificado por uma das seguintes cadeias de caracteres:gTLD: domínio de topo genérico.ccTLD : domínio de topo com código de país.grTLD: domínio de topo com restrições genéricas.sTLD : domínio de topo patrocinado.
|
|
data[].wholesale |
object |
Objeto que contém os preços grossistas da extensão por tipo de preço. Os preços grossistas são os preços cobrados pelo registo a um agente de registo pelas compras de nomes de domínio. Exemplo: {
"wholesale": {
"register": "8.97",
"renewal": "8.97",
"transfer": "8.97"
}
}
|
|
data[].whoisPrivacySupported |
boolean | Se a extensão permite que os serviços de privacidade WHOIS ocultem os nomes e as informações de contacto dos registantes. Se for desconhecido, este campo não estará presente. | |
data[].whoisServer |
boolean | Nome do anfitrião do servidor do registo que armazena as informações de contacto do registante do domínio. | |
Exemplo de pedido/resposta
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
Devolve todos os nomes de extensões.
Ponto final da API:https://api.tld-list.com/v1/extension/getNames
Tempo de resposta:~1 second
Parâmetros do pedido
| Chave | Tipo | Necessário | Descrição | |
|---|---|---|---|---|
omitExtensionsWithoutRegistrars |
boolean |
Quando true, as extensões que não têm dados de preços de registo nos resultados são omitidas. A predefinição é false.
|
||
wantPunycode |
boolean |
Codifique todas as extensões IDN devolvidas como punycode em vez de unicode. A predefinição é false.
|
||
Objeto de resposta
| Caminho | Tipo | Descrição | |
|---|---|---|---|
data |
array of strings | Conjunto de nomes de extensões. | |
Exemplo de pedido/resposta
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
Apresenta os agentes de registo/fornecedores mais baratos, os respectivos preços, o preço médio e o preço médio por extensão de domínio. As extensões que não são vendidas por nenhum fornecedor de serviços de registo não são devolvidas.
Ponto final da API:https://api.tld-list.com/v1/extension/getCheapestRegistrar
Tempo de resposta:~8 seconds for all extensions, ~4 seconds < 2000 extensions, ~1 second < 100 extensions
Parâmetros do pedido
| Chave | Tipo | Necessário | Descrição | |
|---|---|---|---|---|
pricetypes |
array of strings |
Especifica os tipos de preços a obter. Se omitido, são devolvidos 3 tipos de preços ( Exemplo: |
||
extensions |
array of strings |
Especifica quais as extensões a recuperar. Não inclua um ponto anterior. Os nomes das extensões podem ser unicode ou o seu equivalente em punycode. Se omitido, todas as extensões listadas em TLD-List serão devolvidas. Exemplo: |
||
includeRegistrars |
array of strings |
As IDs de cadeia de caracteres dos agentes de registo activos a incluir ao determinar os preços mais baratos e os cálculos agregados. Os agentes de registo não especificados neste parâmetro serão ignorados. Utilize o método getIds para obter uma lista de IDs de todos os agentes de registo ativamente listados em TLD-List. Se este parâmetro for omitido, serão considerados todos os agentes de registo ativamente listados em TLD-List. Exemplo: |
||
excludeRegistrars |
array of strings |
A cadeia de IDs dos agentes de registo activos a excluir ao determinar os preços mais baratos e os cálculos agregados. Utilize o método getIds para obter uma lista de IDs de todos os agentes de registo ativamente listados em TLD-List. Se este parâmetro for omitido, nenhum agente de registo será ignorado. Exemplo: |
||
omitExtensionsWithoutRegistrars |
boolean |
Quando Exemplo: |
||
Objeto de resposta
| Caminho | Tipo | Descrição | |
|---|---|---|---|
data |
array of objects | Conjunto de objectos, cada um representando uma extensão de domínio. | |
data[].name |
string | Nome Unicode da extensão de domínio. | |
data[].punycode |
string | Nome do código de pontuação da extensão de domínio. Apenas presente para extensões IDN. | |
data[].currency |
string |
O código de três letras da moeda ISO 4217 dos dados relativos aos preços. Atualmente, este valor é apenas USD.
|
|
data[].registrarsIncluded |
number | Contagem de agentes de registo incluídos nos dados de preços devolvidos. | |
data[].average |
object | Objeto que contém o preço médio da extensão, por tipo de preço, para os agentes de registo incluídos. | |
data[].average[pricetype] |
string |
O preço médio da extensão como uma cadeia numérica para [pricetype], em que a chave [pricetype] é register, renewal, transfer.
|
|
data[].median |
object | Objeto que contém o preço médio da extensão, por tipo de preço, para os agentes de registo incluídos. | |
data[].median[pricetype] |
string |
O preço mediano da extensão como uma cadeia numérica para [pricetype], em que a chave [pricetype] é register, renewal, transfer.
|
|
data[].cheapest |
object | Objeto que contém os agentes de registo mais baratos para a extensão por tipo de preço. | |
data[].cheapest[pricetype] |
array of objects |
Matriz de objectos RegistrarPricing que contém o(s) agente(s) de registo mais barato(s) por [pricetype], em que a chave [pricetype] é Estes dados são uma matriz porque o preço mais barato para a extensão pode ser o mesmo em vários agentes de registo. |
|
Exemplo de pedido/resposta
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"
}
Métodos de registo
getIds
Devolve todos os IDs de agentes de registo, cada um dos quais identifica de forma exclusiva um agente de registo ativamente inscrito em TLD-List.
Ponto final da API:https://api.tld-list.com/v1/registrar/getIds
Tempo de resposta:< 1 second
Parâmetros do pedido
Nenhum
Objeto de resposta
| Caminho | Tipo | Descrição | |
|---|---|---|---|
data |
array of strings | Matriz de IDs de registo de cadeia de caracteres. | |
Exemplo de pedido/resposta
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"
}