API

Consulta y obtén mediante programación los datos mostrados en TLD-List.

Estamos trabajando para mejorar nuestra API

Próximamente estará disponible una API JSON robusta e intuitiva. Esta API permitirá a los usuarios empresariales consultar datos de la base de datos en tiempo real de TLD-List. Prácticamente todos los datos mostrados en este sitio web estarán disponibles a través de la API, con posibilidad de filtrado mediante parámetros definidos por el cliente.

Visión general

La API TLD-List v1 puede utilizarse para recuperar los datos mostrados en TLD-List de su base de datos en vivo.

La API acepta POSTs HTTP que contengan datos JSON y responde con datos JSON. Requisitos para todas las solicitudes de métodos de la API:

  • Las solicitudes deben realizarse utilizando el método HTTP POST
  • Las solicitudes deben tener un cuerpo JSON que contenga un par de claves API pública y privada válidas para la autenticación
  • Las solicitudes deben incluir la cabecera Content-Type: application/json

Los parámetros se pasan a la API como claves/valores en el cuerpo de la solicitud codificado en JSON.

La URL base para todas las solicitudes API es

https://api.tld-list.com/v1

Autenticación

La autenticación se realiza pasando una clave de API pública y una clave de API privada en el cuerpo JSON enviado a la URL del método. Todas las llamadas a la API deben incluir un par de claves de API válido. Los pares de claves API pueden generarse en su cuenta TLD-List, en la pestaña API.

Visite Cuenta > API para crear claves API.

Las claves API se pasan en el cuerpo de la solicitud JSON utilizando los parámetros apiKeyPublic (su clave pública) y apiKeyPrivate (su clave privada).

Example authentication parameters

'{'
"apiKeyPublic":"MY_PUBLIC_KEY",
"apiKeyPrivate":"MY_PRIVATE_KEY"
'}'

Respuesta

Todas las respuestas API exitosas tendrán un código de estado HTTP 200 SUCCESS y un cuerpo codificado en JSON. Cualquier otro código de estado HTTP en la respuesta indica que la solicitud ha fallado y se ha producido un error.

Los objetos de respuesta JSON devueltos por la API tendrán la siguiente estructura:

ClaveTipoDescripción
statusstringEspecifica el estado de la solicitud. SUCCESS indica que la llamada a la API se ha realizado correctamente, FAIL indica que la solicitud ha fallado.
errorsarray of objectsMatriz de objetos que representan los errores que se han producido. Cada objeto de error contendrá

código: cadena que identifica el tipo de error

mensaje: cadena legible por humanos que describe el error

parámetro: cadena o matriz de cadenas opcional que indica un problema con determinado(s) parámetro(s) pasado(s) en la solicitud.

Si no se ha producido ningún error, la matriz de errores estará vacía.

Consulte Códigos de error para obtener más información.
secondsnumberCantidad de tiempo que el servidor API tardó en generar una respuesta (en segundos).
datastring|array|objectUn objeto, matriz o cadena que contiene los datos solicitados.

Ejemplo de objeto de respuesta fallida con errores

'{'
"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"
'}'

Ejemplo de objeto de respuesta satisfactoria

'{'
"data" : [
'{'
"cheapest" : '{'
"renewal" : [
'{'
"id" : "sav",
"name" : "Sav",
"price" : "8.38"
'}'
],
'}',
"currency" : "USD",
"name" : "com",
"registrarsIncluded" : 58,
"registrarsTotal" : 58
'}'
],
"errors" : [],
"seconds" : 0.001,
"status" : "SUCCESS"
'}'

Objetos de respuesta comunes

Algunos de los métodos de la API devuelven objetos de datos que tienen la misma estructura. Estos objetos de datos comunes se describen en detalle a continuación.

RegistrarPricing

Describe el precio de venta al público de un registrador para una extensión de un determinado tipo de precio (register, renewal, transfer), incluyendo detalles adicionales como condiciones especiales, tasas, impuestos y promociones.

RutaTipoDescripción
idstringCadena de ID de registrador que identifica de forma única al registrador.
namestringNombre para mostrar del registrador.
pricestringEl precio de venta final del registrador para la extensión y el tipo de precio.

Nota: este campo sólo está presente cuando el objeto RegistrarPricing está anidado en el contexto de un pricetype (por ejemplo, en la respuesta de getCheapestRegistrars).
priceOriginalstringEl precio de venta habitual del registrador para la extensión como cadena numérica. Este campo sólo estará presente si el precio es un precio promocional.

Nota: este campo sólo está presente cuando el objeto RegistrarPricing está anidado en el contexto de un pricetype (por ejemplo, en la respuesta de getCheapestRegistrars).
pricetypestringEl tipo de fijación de precios de la extensión, uno de los siguientes: register, renewal, transfer.

Nota: este campo sólo está presente cuando el objeto RegistrarPricing está anidado en el contexto de un tipo de precio (por ejemplo, en la respuesta de getCheapestRegistrars).
pricesobjectEl precio de venta al público del registrador para la extensión para todos los tipos de precios.
prices[pricetype]stringEl precio de venta final del registrador para la extensión y [pricetype], donde la clave [pricetype] es register, renewal, transfer, restore, whoisprivacy. Ejemplo:

'{' 
"register": "8.73",
"renewal": "9.73",
"transfer": "9.73",
"whoisPrivacy": "0.00"
'}'
pricesOriginalobjectEl precio de venta habitual del registrador para la extensión para todos los tipos de precio. Este campo no estará presente si el registrador no tiene promos activas.
pricesOriginal[pricetype]stringEl precio de venta habitual del registrador para la extensión y [pricetype], donde la clave [pricetype] es register, renewal, transfer, restore, whoisprivacy.
promoobjectUn objeto RegistrarPromo que representa el precio promocional que se ha aplicado al precio del registrador para esta extensión y tipo de precio. Si no se ha aplicado ninguna promo, este campo no estará presente. Ejemplo de objeto promo:

'{' 
"code": "MYCOUPONCODE",
"amount": "20.00",
"type": "discount-percent",
"start": "2015-06-22T00:00:00",
"end": "2025-06-22T00:00:00"
'}'


Nota: este campo sólo está presente cuando el objeto RegistrarPricing está anidado en el contexto de un pricetype (por ejemplo, en la respuesta de getCheapestRegistrars).
promosarray of objectsMatriz de objetos RegistrarPromo que representan todos los precios promocionales activos ofrecidos por el registrador para esta extensión.
termsobjectUna colección de objetos que representan los términos especiales que se aplican a la tarificación del registrador. Si no se aplican términos especiales, este campo no estará presente. Cada subobjeto tiene como clave un ID de término:

limitPerCustomer - especifica que la tarificación sólo es válida para un determinado número de dominios por cliente.
newCustomerOnly - especifica que la tarificación sólo es válida para nuevos clientes.
affiliateLink - especifica que la tarificación sólo es válida cuando el cliente accede al sitio del registrador a través de un enlace de afiliado.
nameserverLockIn - especifica que los dominios comprados sólo pueden utilizar los servidores de nombres del registrador.
idSubmissionRequired - especifica que el cliente debe presentar su documento de identidad con fotografía o su registro comercial para completar una compra.

Ejemplo de objetos de términos:

'{' 
"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].countnumberLa cantidad a la que el término limita al cliente. Por ejemplo, si count = 1, entonces el cliente está limitado a 1 dominio al precio especificado. Este campo no estará presente si no se aplica.
terms[term].pricetypearray of stringsTipo(s) de precio al que se aplica el término: register, renewal, transfer. Este campo sólo estará presente si no se especifica el tipo de precio del objeto RegistrarPricing.
notesobjectUna colección de objetos que representan notas que pertenecen a la fijación de precios del registrador. Si no hay notas de fijación de precios, este valor será un objeto vacío. Cada subobjeto tiene como clave un ID de nota: currencyExchangeRate, feeIcann, feeTax, feePayment
notes.feeIcannobjectEspecifica si se ha añadido una tasa ICANN al precio final del TLD (normalmente 0,18 $ USD). Si existe esta nota, significa que el registrador no incluye la tasa de ICANN en su precio anunciado, y en su lugar la añade como tasa adicional al precio del TLD en el momento de la compra por parte del cliente.

Ejemplo de objeto de nota fee_icann:

'{' 
"feeIcann": '{'
"pricetype": ["register", "renewal", "transfer"],
"amount": "0.18",
"addedToListPrice": true
'}'
'}'

El campo pricetype especifica qué tipos de precios están sujetos a la tasa, y el campo addedToListPrice indica que la tasa se ha añadido al precio final.
notes.feeTaxarray of objectsEspecifica los distintos tipos impositivos cobrados por un registrador, los clientes a los que se aplica el impuesto y si el impuesto calculado se ha incluido en el precio final para el TLD. Tenga en cuenta que los impuestos sólo se incluyen en el precio final para el TLD si el registrador no incluye el impuesto en sus precios anunciados y el impuesto se cobra a todos los clientes.

Ejemplo feeTax array de objetos:

'{' 
"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[].typestringEtiqueta que describe el tipo de impuesto, es decir, "vat" para el Impuesto sobre el Valor Añadido, "gst" para el Impuesto sobre Bienes y Servicios, etc.
notes.feeTax[].amountRatenumber|stringImporte del tipo impositivo. Será el tipo porcentual del impuesto en forma de número, o la cadena '~' que indica que el tipo impositivo varía en función de los criterios del cliente, como la ubicación.
notes.feeTax[].amountRateTypestringEl valor de cadena 'percent' indica que el valor de amountRate es un porcentaje numérico. El valor de cadena 'percent-varies-by-location' indica que el tipo impositivo varía en función de la región o país de facturación del cliente.
notes.feeTax[].appliesToCustomersstring|array of stringsLa cadena '*' indica que el impuesto se aplica a todos los clientes. En caso contrario, este valor será una matriz de cadenas de códigos de país ISO 3166-1 alfa-2 que definen qué países están sujetos al impuesto. Cabe señalar una excepción: la matriz puede contener la cadena de código de país 'eu', que representa a todos los países de la Unión Europea.
notes.feeTax[].addedToListPricebooleanIndica si el importe del impuesto calculado se ha añadido al precio final.
notes.feePaymentobjectEspecifica si el registrador cobra una tasa adicional en función del método de pago del cliente, y si la tasa se ha incluido en el precio final del TLD. Ejemplo de objeto feePayment:

'{' 
"feePayment": '{'
"addedToListPrice": false,
"amountRate": "~",
"amountRateMin": "0.9",
"amountRateMax": "20",
"amountRateType": "percent-varies-by-method"
'}'
'}'
notes.feePayment.amountRatestringImporte de la tasa. Será el porcentaje de la tasa como un número, o la cadena '~' que indica que la tasa varía en función de los criterios del cliente, como el método de pago.
notes.feePayment.amountRateMinstringImporte mínimo de la tasa, sólo se aplica si la tasa es variable.
notes.feePayment.amountRateMaxstringImporte máximo de la tasa, sólo se aplica si la tasa es variable.
notes.feePayment.amountRateTypestringEl valor de cadena 'percent' indica que el valor de amountRate es un porcentaje numérico. El valor de cadena 'percent-varies-by-method' indica que la tasa es un porcentaje que varía en función del método de pago del cliente.
notes.feePayment.addedToListPricebooleanIndica si el importe de la tasa calculada se ha añadido al precio final.
notes.currencyExchangeRateobjectEspecifica que los precios del registrador estaban listados en otra moneda nacional y han sido convertidos a USD. Los detalles de la conversión de moneda se representan como:

base: la moneda de los precios del registrador como un código de 3 letras (es decir, EUR)
quote: la moneda a la que se convirtieron los precios (siempre será USD)
rate: el tipo de cambio utilizado para realizar la conversión de moneda.

Ejemplo de objeto de nota currencyExchangeRate:

'{' 
"currencyExchangeRate": '{'
"base": "GBP",
"quote": "USD",
"rate": "1.2482"
'}'
'}'
threeYearValueScorenumberUna medida numérica del valor, determinado por el precio y las características gratuitas, por poseer un dominio con esta extensión a través del registrador durante un periodo de 3 años. Cuanto mayor sea el número, más valor se ofrece.
currencystringEl código de moneda ISO 4217 de tres letras de los datos de precios. Actualmente, este valor sólo es USD.
freeFeaturesarray of objectsUna matriz de objetos que representa las características gratuitas que el registrador ofrece con la propiedad del dominio. El objeto incluye la cantidad y duración de cada característica. Cada objeto se codifica con un ID de característica gratuita:

dns - servicio DNS gratuito.
whois-privacy - servicio de privacidad WHOIS.
email-account - cuenta(s) de correo electrónico gratuita(s).
email-forward - reenvío de correo electrónico gratuito.
ssl-cert - certificado(s) SSL básico(s) gratuito(s).

Ejemplo de matriz de características gratuitas:

[
'{'
"name": "dns"
'}',
'{'
"name": "whois-privacy"
'}',
'{'
"name": "email-account",
"count": 5
'}',
'{'
"name": "ssl-cert",
"duration": 365
'}'
]
freeFeatures[].countnumberLa cantidad de la característica que el registrador ofrece de forma gratuita. Este campo no estará presente si no se aplica.
freeFeatures[].durationnumberEl número de días que la característica es ofrecida gratuitamente por el registrador. Si la duración = 365, entonces la característica se ofrece gratuitamente durante 1 año. Este campo no estará presente si no se aplica.

RegistrarPromo

Describe una promoción activa ofrecida por un registrador. Ejemplo:

'{' 
"code": "MYCOUPONCODE",
"amount": "20.00",
"type": "discount-percent",
"start": "2015-06-22T00:00:00",
"end": "2025-06-22T00:00:00"
'}'
RutaTipoDescripción
promo.codestringEl código promocional que el cliente debe introducir en la caja para recibir la promoción con descuento.
promo.amountstringEl importe numérico del precio promocional. Dependiendo del tipo de promoción, puede ser el precio con descuento (price), el importe restado del precio normal (discount) o el importe porcentual restado del precio normal (discount-percent).
promo.typestringUna cadena que representa el tipo de precio promocional. Será uno de los siguientes valores:

price - significa que el campo de importe de la promoción es el nuevo precio con descuento
discount - significa que el campo de importe de la promoción se restó del precio normal para obtener el precio aplicado
discount-percent - significa que el campo de importe de la promoción es un porcentaje, y el porcentaje se restó del precio normal para obtener el precio aplicado.
promo.startstringFecha y hora ISO 8601 (zona horaria UTC) de inicio de la promoción. No estará presente si no hubo una fecha de inicio específica. Ejemplo: 2015-06-22T00:00:00
promo.endstringFecha y hora ISO 8601 (zona horaria UTC) de finalización de la promoción. No estará presente si no hay una fecha de finalización específica. Ejemplo: 2025-06-22T00:00:00
promo.pricetypearray of stringsTipo(s) de precio al que se aplica la promoción: register, renewal, transfer.

Nota: este campo sólo está presente cuando está anidado en el contexto de un tipo de precio (por ejemplo, en la respuesta de getCheapestRegistrars).

Códigos de error

En caso de fallo de la solicitud, el objeto de respuesta JSON puede contener uno o varios objetos de error que describan qué ha ido mal. A continuación se muestra una lista no exhaustiva de códigos de error identificativos que pueden establecerse en el campo código del objeto de error.

CódigoDescripción
502El servidor API no está disponible temporalmente.
RATE_LIMITEDEl número de solicitudes de la API del cliente ha superado el máximo permitido.
INVALID_METHODEl método API solicitado no existe.
SYSTEMSe ha producido un error desconocido del sistema.
RESPONSE_TIMEOUTEl servidor API ha expirado mientras generaba una respuesta.
PARAMETER_REQUIREDUn parámetro requerido para el método llamado no fue proporcionado por el cliente.
ACCOUNT_INACTIVELa cuenta del cliente ya no está activa y es necesario renovar la suscripción para acceder a la API.
NO_ACCESSEl nivel de cuenta del cliente no concede acceso a la API. Para acceder a la API es necesario actualizar la cuenta.
AUTH_INVALIDAutenticación fallida: las claves API proporcionadas están inactivas o no son válidas.
CLIENT_IPS_EXCEEDEDSe ha superado el máximo de IPs de cliente únicas permitidas para acceder a la API para el par de claves de API proporcionado.
REQUEST_ENDED_BY_CLIENTLa solicitud fue terminada por el cliente antes de que se pudiera generar una respuesta.

Límites

El uso de la API está sujeto a ciertos límites para evitar abusos. Estas limitaciones de uso se muestran a continuación y están sujetas a cambios sin previo aviso.

TipoDescripción
Claves API por cuenta3
Límite de tarifa100 solicitudes máximas por 15 minutos
Direcciones IP de clientes por clave API5 direcciones IP de clientes únicos por clave por 1440 minutos

Métodos de extensión

get

Devuelve las extensiones y sus datos de precios y detalles asociados. Este método es similar a la recuperación de los datos mostrados en una o más páginas de detalles de TLD (por ejemplo, .com), con la excepción de los datos del "Historial de precios más baratos", que no son devueltos por este método (véase el método getAggregateHistory para los datos históricos).

Punto final de la API: https://api.tld-list.com/v1/extension/get

Tiempo de respuesta: ~12 seconds for all extensions, ~6 seconds < 2000 extensions, ~2 seconds < 100 extensions

Parámetros de solicitud

ClaveTipoRequeridoDescripción
extensionsarray of stringsNo

Especifica qué extensiones recuperar. No incluya un punto precedente. Los nombres de las extensiones pueden ser unicode o su equivalente en punycode. Si se omite, se devolverán todas las extensiones listadas en TLD-List.

Ejemplo: "extensions": ["com", "io", "co.uk", "移动", "xn--p1ai"]

includeFieldsarray of stringsNoEspecifique determinados datos a devolver por nombre de clave. Las claves no presentadas en este parámetro se omitirán. Por defecto, se devuelven todos los campos disponibles. Consulte la tabla de respuestas para obtener una lista de los campos disponibles. No se admiten campos anidados.

Ejemplo: "includeFields": ["name", "registrars", "dnssecSupported"]

excludeFieldsarray of stringsNoEspecifique los datos que desea excluir por el nombre de la clave. Las claves introducidas en este parámetro se omitirán. Por defecto, no se excluye ningún campo. Consulte la tabla de respuestas para obtener una lista de los campos disponibles. No se admiten campos anidados.

Ejemplo: "excludeFields": ["available", "syntax", "sponsor"]

includeRegistrarsarray of stringsNo

La cadena IDs de los registradores activos a incluir en los resultados. Utilice el método getIds para obtener una lista de los ID de todos los registradores que figuran activamente en TLD-List.

Ejemplo: "includeRegistrars": ["godaddy", "porkbun", "namecheap"]

excludeRegistrarsarray of stringsNo

La cadena IDs de los registradores activos a excluir en los resultados. Utilice el método getIds para obtener una lista de los ID de todos los registradores que figuran activamente en TLD-List.

Ejemplo: "excludeRegistrars": ["godaddy", "porkbun", "namecheap"]

omitExtensionsWithoutRegistrarsbooleanNo

Cuando es verdadero, se omiten las extensiones que no tienen datos de precios del registrador en los resultados. Por defecto, se incluyen todas las extensiones.

Ejemplo: "omitExtensionsWithoutRegistrars": true

Objeto de respuesta

RutaTipoDescripción
dataarray of objectsMatriz de nombres de extensiones.
data[].availableobjectObjeto de las fechas de disponibilidad de la fase TLD.
data[].available.generalobjectFecha y hora ISO 8601 (zona horaria UTC) de cuando el registro del dominio está disponible para el público en general.
data[].available.sunriseobjectObjeto de rangos de fechas de inicio y fin que representan la fase Sunrise del TLD (cuando los propietarios de marcas pueden empezar a solicitar el registro de los dominios aplicables). Ejemplo:

'{' 
"sunrise": '{'
"start": "2017-06-19T00:00:00.000Z",
"end": "2017-08-21T00:00:00.000Z"
'}'
'}'
data[].available.trademarkobjectObjeto de intervalos de fechas de inicio y fin que representan la fase de la marca del TLD (periodo en el que los titulares de marcas recibirán una notificación del Centro de Intercambio de Información sobre Marcas si se registra un dominio que coincide con su marca). Ejemplo:

'{' 
"trademark": '{'
"start": "2019-06-18T00:00:00.000Z",
"end": "2020-09-21T00:00:00.000Z"
'}'
'}'
data[].available.otherarray of objectsConjunto de objetos que representan varias fases de lanzamiento del TLD y sus intervalos de fechas, como "Land Rush" y "Qualified Launch Program". Ejemplo:

'{' 
"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[].averageobjectObjeto que contiene el precio medio de la extensión, por tipo de precio, para los registradores incluidos. Ejemplo:

'{' 
"average": '{'
"register": "7.63",
"renewal": "13.63",
"transfer": "9.63"
'}'
'}'
data[].average[pricetype]stringEl precio medio de la extensión como cadena numérica para [pricetype], donde la clave [pricetype] es register, renewal, transfer, restore, whoisprivacy.
data[].categorystringLas categorías en las que se ha clasificado el TLD. Cada objeto de la matriz representa una categoría y contiene los siguientes campos:

id - ID de categoría entero utilizado internamente por TLD-List.
idstr - ID de categoría de cadena alterna.
name - nombre de la categoría en inglés.
desc - descripción de la categoría en inglés.

Ejemplo de matriz de categorías:

[
'{'
"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[].dnssecSupportedbooleanSi la zona DNS del registro es compatible con las extensiones de seguridad DNS (DNSSEC).
data[].hasPremiumDomainsobjectObjeto de claves [pricetype] y valores booleanos, que representa si el registro cobra precios más altos por los nombres de dominio "premium" seleccionados. Ejemplo:

'{' 
"hasPremiumDomains": '{'
"register": false,
"renewal": false
'}'
'}'
data[].infoUpdatedstringFecha y hora ISO 8601 (zona horaria UTC) de la última vez que se comprobó y actualizó la información básica del TLD (restricciones, fechas de disponibilidad, etc.). Nota: una nueva fecha de updated.info no indica necesariamente que se haya producido algún cambio en los datos. Sólo indica cuándo se comprobaron y fijaron los datos por última vez.
data[].intendedUsagestringInformación general sobre cómo se espera que los solicitantes de registro utilicen la extensión.
data[].languagestringEl código de idioma ISO 639-1 de 2 caracteres. Si el idioma es inglés o desconocido, este campo no estará presente.
data[].levelintegerNúmero entero que representa el nivel de dominio de la extensión. 1 = dominio de primer nivel, 2 = dominio de segundo nivel, 3 = dominio de tercer nivel, etc.
data[].localPresenceRequiredbooleanSi el registro requiere que el solicitante de registro tenga una dirección física local en la región.
data[].medianobjectObjeto que contiene el precio medio de la extensión, por tipo de precio, para los registradores incluidos. Ejemplo:

'{' 
"median": '{'
"register": "3.17",
"renewal": "20.17",
"transfer": "8.17"
'}'
'}'
data[].median[pricetype]stringEl precio medio de la extensión como cadena numérica para [pricetype], donde la clave [pricetype] es register, renewal, transfer, restore, whoisprivacy.
data[].namestringNombre Unicode de la extensión del dominio.
data[].nameserversarrayLos servidores de nombres raíz del registro que almacenan los servidores de nombres autoritativos de los dominios registrados. Ejemplo de matriz de servidores de nombres:

'{' 
"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[].parentTldstringEl dominio de nivel superior padre de la extensión. Si se trata de un TLD, este campo no estará presente.
data[].pricingUpdatedstringFecha y hora ISO 8601 (zona horaria UTC) de la última vez que se comprobaron y actualizaron los precios del registrador del TLD. Nota: una nueva fecha de updated.pricing no indica necesariamente que se haya producido algún cambio en los datos. Sólo indica cuándo se comprobaron y fijaron los datos por última vez.
data[].punycodestringNombre punycode de la extensión de dominio. Sólo presente para extensiones IDN.
data[].registerMaxYearsintegerMáximo de años que puede estar registrado un dominio en el momento de la compra.
data[].registerMinYearsintegerAños mínimos en los que se puede registrar un dominio en el momento de la compra.
data[].registrarsIncludedintegerRecuento de registradores incluidos en la matriz de registradores devuelta.
data[].registrarsTotalintegerTotal de registradores activos que venden la extensión.
data[].registrarsarray of objectsMatriz de objeto(s) RegistrarPricing que contiene(n) los datos de precios y características del registrador.
data[].registryUrlstringEl sitio web oficial del registro para obtener información sobre el registro de TLD.
data[].renewalMinYearsintegerAños mínimos permitidos en los que se puede renovar un dominio.
data[].restrictionsstringUna breve descripción de las restricciones y requisitos de registro del TLD. Si no hay restricciones, este campo no estará presente.
data[].sponsorobjectObjeto que contiene datos sobre la organización patrocinadora o gestora de la extensión.
data[].sponsor.namestringEl nombre de la organización patrocinadora de la extensión aprobada por ICANN o de la organización de gestión ccTLD.
data[].sponsor.addressstringUbicación física de la organización patrocinadora o de la organización de gestión ccTLD. Ejemplo de matriz de direcciones:

'{' 
"sponsor": '{'
"address": [
"Minerva House",
"Edmund Halley Road",
"Oxford Science Park",
"Oxford OX4 4DQ",
"United Kingdom"
]
'}'
'}'
data[].sponsorParentCompanystringNombre de la entidad que posee la participación mayoritaria en la organización patrocinadora.
data[].romanizedstringEl TLD transcrito en caracteres latinos. Si el idioma es inglés, o desconocido, este campo no estará presente.
data[].rtlstringSi la extensión se lee de "derecha a izquierda" (es decir, en TLDs en árabe), este valor será true. Si se lee de "izquierda a derecha", este valor será false. Si se desconoce, este valor no estará presente.
data[].syntaxobjectObjeto que contiene detalles sobre las reglas y restricciones de nombres de dominio permitidos de la extensión.
data[].syntax.minCharsintegerNúmero mínimo de caracteres en la etiqueta que se permite registrar.
data[].syntax.maxCharsintegerNúmero máximo de caracteres de etiqueta que se permite registrar.
data[].targetMarketstringLas personas o entidades a las que pretende servir el TLD.
data[].translationstringLa traducción al inglés del TLD. Si el TLD ya está en inglés o se desconoce la traducción, este valor no estará presente.
data[].typestringTipo de TLD identificado por una de las siguientes cadenas:

gTLD: dominio de nivel superior genérico.
ccTLD: dominio de nivel superior con código de país.
grTLD: dominio de nivel superior genérico-restringido.
sTLD: dominio de nivel superior patrocinado.
data[].wholesaleobjectObjeto que contiene los precios al por mayor de la extensión por tipo de precio. Los precios al por mayor son los precios que cobra el registro a un registrador por la compra de nombres de dominio. Ejemplo:

'{' 
"wholesale": '{'
"register": "8.97",
"renewal": "8.97",
"transfer": "8.97"
'}'
'}'
data[].whoisPrivacySupportedbooleanSi la extensión permite que los servicios de Privacidad WHOIS enmascaren los nombres y la información de contacto de los registrantes. Si se desconoce, este campo no estará presente.
data[].whoisServerbooleanNombre de host del servidor del registro que almacena la información de contacto del registrante del dominio.

Ejemplo de solicitud/respuesta

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

Devuelve todos los nombres de extensión.

Punto final de la API: https://api.tld-list.com/v1/extension/getNames

Tiempo de respuesta: ~1 second

Parámetros de solicitud

ClaveTipoRequeridoDescripción
omitExtensionsWithoutRegistrarsbooleanNoCuando es verdadero, se omiten las extensiones que no tienen datos de precios del registrador en los resultados. Por defecto es falso.
wantPunycodebooleanNoCodifica todas las extensiones IDN devueltas como punycode en lugar de unicode. Por defecto es false.

Objeto de respuesta

RutaTipoDescripción
dataarray of stringsMatriz de nombres de extensiones.

Ejemplo de solicitud/respuesta

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

Devuelve los registradores/proveedores más baratos, sus precios, el precio medio y el precio medio por extensión de dominio. No se devuelven las extensiones que no vende ningún registrador.

Punto final de la API: https://api.tld-list.com/v1/extension/getCheapestRegistrar

Tiempo de respuesta: ~8 seconds for all extensions, ~4 seconds < 2000 extensions, ~1 second < 100 extensions

Parámetros de solicitud

ClaveTipoRequeridoDescripción
pricetypesarray of stringsNo

Especifica los tipos de precios a recuperar. Si se omite, se devuelven 3 tipos de precios (register, renewal, transfer).

Ejemplo: "pricetypes": ["register", "transfer"]

extensionsarray of stringsNo

Especifica qué extensiones recuperar. No incluya un punto precedente. Los nombres de las extensiones pueden ser unicode o su equivalente en punycode. Si se omite, se devolverán todas las extensiones listadas en TLD-List.

Ejemplo: "extensions": ["com", "io", "co.uk", "移动", "xn--p1ai"]

includeRegistrarsarray of stringsNo

Las cadenas de ID de los registradores activos que se incluirán al determinar los precios más baratos y los cálculos agregados. Los registradores no especificados en este parámetro serán ignorados. Utilice el método getIds para obtener una lista de los ID de todos los registradores que figuran activamente en TLD-List.

Si se omite este parámetro, se tendrán en cuenta todos los registradores que figuren activamente en TLD-List.

Ejemplo: "includeRegistrars": ["godaddy", "porkbun", "namecheap"]

excludeRegistrarsarray of stringsNo

Las cadenas de ID de los registradores activos que deben excluirse al determinar los precios más baratos y los cálculos agregados. Utilice el método getIds para obtener una lista de los ID de todos los registradores que figuran activamente en TLD-List.

Si se omite este parámetro, no se ignorará ningún registrador.

Ejemplo: "excludeRegistrars": ["godaddy", "porkbun", "namecheap"]

omitExtensionsWithoutRegistrarsbooleanNo

Cuando es verdadero, se omiten las extensiones que no tienen datos de precios del registrador en los resultados. Esta situación se produce cuando los parámetros pasados excludeRegistrars y/o includeRegistrars han provocado que una extensión que normalmente tiene datos de precios del registrador no tenga datos de precios del registrador coincidentes. Estas extensiones se incluyen por defecto, pero con matrices vacías para sus datos de precios. Establézcalo a true para omitir estas extensiones de los resultados.

Ejemplo: "omitExtensionsWithoutRegistrars": true

Objeto de respuesta

RutaTipoDescripción
dataarray of objectsMatriz de objetos, cada uno de los cuales representa una extensión de dominio.
data[].namestringNombre Unicode de la extensión del dominio.
data[].punycodestringNombre punycode de la extensión de dominio. Sólo presente para extensiones IDN.
data[].currencystringEl código de moneda ISO 4217 de tres letras de los datos de precios. Actualmente, este valor sólo es USD.
data[].registrarsIncludednumberRecuento de registradores incluidos en los datos de precios devueltos.
data[].averageobjectObjeto que contiene el precio medio de la extensión, por tipo de precio, para los registradores incluidos.
data[].average[pricetype]stringEl precio medio de la extensión como cadena numérica para [pricetype], donde la clave [pricetype] es register, renewal, transfer.
data[].medianobjectObjeto que contiene el precio medio de la extensión, por tipo de precio, para los registradores incluidos.
data[].median[pricetype]stringEl precio medio de la extensión como cadena numérica para [pricetype], donde la clave [pricetype] es register, renewal, transfer.
data[].cheapestobjectObjeto que contiene los registradores más baratos para la extensión por tipo de precio.
data[].cheapest[pricetype]array of objects

Matriz de objeto(s) RegistrarPricing que contiene(n) el(los) registrador(es) más barato(s) por [pricetype], donde la clave [pricetype] es register, renewal, transfer.

Estos datos son una matriz porque el precio más barato para la extensión podría ser el mismo en varios registradores.

Ejemplo de solicitud/respuesta

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 registro

getIds

Devuelve todos los ID de registrador, cada uno de los cuales identifica de forma única a un registrador que cotiza activamente en TLD-List.

Punto final de la API: https://api.tld-list.com/v1/registrar/getIds

Tiempo de respuesta: < 1 second

Parámetros de solicitud

Ninguno

Objeto de respuesta

RutaTipoDescripción
dataarray of stringsMatriz de ID de registrador de cadenas.

Ejemplo de solicitud/respuesta

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"
'}'

Unirse a la lista de espera

Boletín de TLD-List

Suscríbete al boletín de correo electrónico para recibir actualizaciones sobre nuevas funciones, noticias del sitio y correcciones de errores.