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:
| Clave | Tipo | Descripción |
|---|---|---|
status | string | Especifica el estado de la solicitud. SUCCESS indica que la llamada a la API se ha realizado correctamente, FAIL indica que la solicitud ha fallado. |
errors | array of objects | Matriz de objetos que representan los errores que se han producido. Cada objeto de error contendrácódigo: cadena que identifica el tipo de errormensaje: cadena legible por humanos que describe el errorpará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. |
seconds | number | Cantidad de tiempo que el servidor API tardó en generar una respuesta (en segundos). |
data | string|array|object | Un 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.
| Ruta | Tipo | Descripción |
|---|---|---|
id | string | Cadena de ID de registrador que identifica de forma única al registrador. |
name | string | Nombre para mostrar del registrador. |
price | string | El 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). |
priceOriginal | string | El 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). |
pricetype | string | El 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). |
prices | object | El precio de venta al público del registrador para la extensión para todos los tipos de precios. |
prices[pricetype] | string | El precio de venta final del registrador para la extensión y [pricetype], donde la clave [pricetype] es register, renewal, transfer, restore, whoisprivacy. Ejemplo:'{' |
pricesOriginal | object | El 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] | string | El precio de venta habitual del registrador para la extensión y [pricetype], donde la clave [pricetype] es register, renewal, transfer, restore, whoisprivacy. |
promo | object | Un 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: '{' 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). |
promos | array of objects | Matriz de objetos RegistrarPromo que representan todos los precios promocionales activos ofrecidos por el registrador para esta extensión. |
terms | object | Una 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: '{' |
terms[term].count | number | La 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].pricetype | array of strings | Tipo(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. |
notes | object | Una 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.feeIcann | object | Especifica 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: '{' 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.feeTax | array of objects | Especifica 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: '{' |
notes.feeTax[].type | string | Etiqueta 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[].amountRate | number|string | Importe 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[].amountRateType | string | El 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[].appliesToCustomers | string|array of strings | La 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[].addedToListPrice | boolean | Indica si el importe del impuesto calculado se ha añadido al precio final. |
notes.feePayment | object | Especifica 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: '{' |
notes.feePayment.amountRate | string | Importe 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.amountRateMin | string | Importe mínimo de la tasa, sólo se aplica si la tasa es variable. |
notes.feePayment.amountRateMax | string | Importe máximo de la tasa, sólo se aplica si la tasa es variable. |
notes.feePayment.amountRateType | string | El 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.addedToListPrice | boolean | Indica si el importe de la tasa calculada se ha añadido al precio final. |
notes.currencyExchangeRate | object | Especifica 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: '{' |
threeYearValueScore | number | Una 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. |
currency | string | El código de moneda ISO 4217 de tres letras de los datos de precios. Actualmente, este valor sólo es USD. |
freeFeatures | array of objects | Una 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: [ |
freeFeatures[].count | number | La cantidad de la característica que el registrador ofrece de forma gratuita. Este campo no estará presente si no se aplica. |
freeFeatures[].duration | number | El 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"
'}'| Ruta | Tipo | Descripción |
|---|---|---|
promo.code | string | El código promocional que el cliente debe introducir en la caja para recibir la promoción con descuento. |
promo.amount | string | El 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.type | string | Una 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 descuentodiscount - significa que el campo de importe de la promoción se restó del precio normal para obtener el precio aplicadodiscount-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.start | string | Fecha 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.end | string | Fecha 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.pricetype | array of strings | Tipo(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ódigo | Descripción |
|---|---|
| 502 | El servidor API no está disponible temporalmente. |
| RATE_LIMITED | El número de solicitudes de la API del cliente ha superado el máximo permitido. |
| INVALID_METHOD | El método API solicitado no existe. |
| SYSTEM | Se ha producido un error desconocido del sistema. |
| RESPONSE_TIMEOUT | El servidor API ha expirado mientras generaba una respuesta. |
| PARAMETER_REQUIRED | Un parámetro requerido para el método llamado no fue proporcionado por el cliente. |
| ACCOUNT_INACTIVE | La cuenta del cliente ya no está activa y es necesario renovar la suscripción para acceder a la API. |
| NO_ACCESS | El nivel de cuenta del cliente no concede acceso a la API. Para acceder a la API es necesario actualizar la cuenta. |
| AUTH_INVALID | Autenticación fallida: las claves API proporcionadas están inactivas o no son válidas. |
| CLIENT_IPS_EXCEEDED | Se 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_CLIENT | La 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.
| Tipo | Descripción |
|---|---|
| Claves API por cuenta | 3 |
| Límite de tarifa | 100 solicitudes máximas por 15 minutos |
| Direcciones IP de clientes por clave API | 5 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
| Clave | Tipo | Requerido | Descripción |
|---|---|---|---|
extensions | array of strings | No | 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: |
includeFields | array of strings | No | Especifique 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: |
excludeFields | array of strings | No | Especifique 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: |
includeRegistrars | array of strings | No | 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: |
excludeRegistrars | array of strings | No | 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: |
omitExtensionsWithoutRegistrars | boolean | No | Cuando Ejemplo: |
Objeto de respuesta
| Ruta | Tipo | Descripción |
|---|---|---|
data | array of objects | Matriz de nombres de extensiones. |
data[].available | object | Objeto de las fechas de disponibilidad de la fase TLD. |
data[].available.general | object | Fecha y hora ISO 8601 (zona horaria UTC) de cuando el registro del dominio está disponible para el público en general. |
data[].available.sunrise | object | Objeto 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: '{' |
data[].available.trademark | object | Objeto 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: '{' |
data[].available.other | array of objects | Conjunto de objetos que representan varias fases de lanzamiento del TLD y sus intervalos de fechas, como "Land Rush" y "Qualified Launch Program". Ejemplo: '{' |
data[].average | object | Objeto que contiene el precio medio de la extensión, por tipo de precio, para los registradores incluidos. Ejemplo: '{' |
data[].average[pricetype] | string | El precio medio de la extensión como cadena numérica para [pricetype], donde la clave [pricetype] es register, renewal, transfer, restore, whoisprivacy. |
data[].category | string | Las 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: [ |
data[].dnssecSupported | boolean | Si la zona DNS del registro es compatible con las extensiones de seguridad DNS (DNSSEC). |
data[].hasPremiumDomains | object | Objeto de claves [pricetype] y valores booleanos, que representa si el registro cobra precios más altos por los nombres de dominio "premium" seleccionados. Ejemplo: '{' |
data[].infoUpdated | string | Fecha 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[].intendedUsage | string | Información general sobre cómo se espera que los solicitantes de registro utilicen la extensión. |
data[].language | string | El código de idioma ISO 639-1 de 2 caracteres. Si el idioma es inglés o desconocido, este campo no estará presente. |
data[].level | integer | Nú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[].localPresenceRequired | boolean | Si el registro requiere que el solicitante de registro tenga una dirección física local en la región. |
data[].median | object | Objeto que contiene el precio medio de la extensión, por tipo de precio, para los registradores incluidos. Ejemplo: '{' |
data[].median[pricetype] | string | El precio medio de la extensión como cadena numérica para [pricetype], donde la clave [pricetype] es register, renewal, transfer, restore, whoisprivacy. |
data[].name | string | Nombre Unicode de la extensión del dominio. |
data[].nameservers | array | Los 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: '{' |
data[].parentTld | string | El dominio de nivel superior padre de la extensión. Si se trata de un TLD, este campo no estará presente. |
data[].pricingUpdated | string | Fecha 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[].punycode | string | Nombre punycode de la extensión de dominio. Sólo presente para extensiones IDN. |
data[].registerMaxYears | integer | Máximo de años que puede estar registrado un dominio en el momento de la compra. |
data[].registerMinYears | integer | Años mínimos en los que se puede registrar un dominio en el momento de la compra. |
data[].registrarsIncluded | integer | Recuento de registradores incluidos en la matriz de registradores devuelta. |
data[].registrarsTotal | integer | Total de registradores activos que venden la extensión. |
data[].registrars | array of objects | Matriz de objeto(s) RegistrarPricing que contiene(n) los datos de precios y características del registrador. |
data[].registryUrl | string | El sitio web oficial del registro para obtener información sobre el registro de TLD. |
data[].renewalMinYears | integer | Años mínimos permitidos en los que se puede renovar un dominio. |
data[].restrictions | string | Una breve descripción de las restricciones y requisitos de registro del TLD. Si no hay restricciones, este campo no estará presente. |
data[].sponsor | object | Objeto que contiene datos sobre la organización patrocinadora o gestora de la extensión. |
data[].sponsor.name | string | El nombre de la organización patrocinadora de la extensión aprobada por ICANN o de la organización de gestión ccTLD. |
data[].sponsor.address | string | Ubicación física de la organización patrocinadora o de la organización de gestión ccTLD. Ejemplo de matriz de direcciones: '{' |
data[].sponsorParentCompany | string | Nombre de la entidad que posee la participación mayoritaria en la organización patrocinadora. |
data[].romanized | string | El TLD transcrito en caracteres latinos. Si el idioma es inglés, o desconocido, este campo no estará presente. |
data[].rtl | string | Si 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[].syntax | object | Objeto que contiene detalles sobre las reglas y restricciones de nombres de dominio permitidos de la extensión. |
data[].syntax.minChars | integer | Número mínimo de caracteres en la etiqueta que se permite registrar. |
data[].syntax.maxChars | integer | Número máximo de caracteres de etiqueta que se permite registrar. |
data[].targetMarket | string | Las personas o entidades a las que pretende servir el TLD. |
data[].translation | string | La 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[].type | string | Tipo 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[].wholesale | object | Objeto 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: '{' |
data[].whoisPrivacySupported | boolean | Si 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[].whoisServer | boolean | Nombre 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
| Clave | Tipo | Requerido | Descripción |
|---|---|---|---|
omitExtensionsWithoutRegistrars | boolean | No | Cuando es verdadero, se omiten las extensiones que no tienen datos de precios del registrador en los resultados. Por defecto es falso. |
wantPunycode | boolean | No | Codifica todas las extensiones IDN devueltas como punycode en lugar de unicode. Por defecto es false. |
Objeto de respuesta
| Ruta | Tipo | Descripción |
|---|---|---|
data | array of strings | Matriz 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
| Clave | Tipo | Requerido | Descripción |
|---|---|---|---|
pricetypes | array of strings | No | Especifica los tipos de precios a recuperar. Si se omite, se devuelven 3 tipos de precios ( Ejemplo: |
extensions | array of strings | No | 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: |
includeRegistrars | array of strings | No | 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: |
excludeRegistrars | array of strings | No | 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: |
omitExtensionsWithoutRegistrars | boolean | No | Cuando Ejemplo: |
Objeto de respuesta
| Ruta | Tipo | Descripción |
|---|---|---|
data | array of objects | Matriz de objetos, cada uno de los cuales representa una extensión de dominio. |
data[].name | string | Nombre Unicode de la extensión del dominio. |
data[].punycode | string | Nombre punycode de la extensión de dominio. Sólo presente para extensiones IDN. |
data[].currency | string | El código de moneda ISO 4217 de tres letras de los datos de precios. Actualmente, este valor sólo es USD. |
data[].registrarsIncluded | number | Recuento de registradores incluidos en los datos de precios devueltos. |
data[].average | object | Objeto que contiene el precio medio de la extensión, por tipo de precio, para los registradores incluidos. |
data[].average[pricetype] | string | El precio medio de la extensión como cadena numérica para [pricetype], donde la clave [pricetype] es register, renewal, transfer. |
data[].median | object | Objeto que contiene el precio medio de la extensión, por tipo de precio, para los registradores incluidos. |
data[].median[pricetype] | string | El precio medio de la extensión como cadena numérica para [pricetype], donde la clave [pricetype] es register, renewal, transfer. |
data[].cheapest | object | Objeto 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 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
| Ruta | Tipo | Descripción |
|---|---|---|
data | array of strings | Matriz 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"
'}'