API
Interroga e recupera programmaticamente i dati visualizzati su TLD-List.
Stiamo lavorando per migliorare la nostra API
A breve sarà disponibile un'API JSON robusta e intuitiva. Questa API consentirà agli utenti aziendali di interrogare i dati del database in tempo reale di TLD-List. Praticamente tutti i dati visualizzati su questo sito saranno accessibili tramite l'API, con la possibilità di filtrarli tramite parametri definiti dall'utente.
Avvertimento: L'API è attualmente in fase di sviluppo e soggetta a funzionalità aggiunte: nuovi metodi e parametri potrebbero essere aggiunti in futuro. Qualsiasi modifica apportata rimarrà compatibile con le funzionalità esistenti.
Panoramica
L'API TLD-List v1 può essere utilizzata per recuperare i dati visualizzati su TLD-List dal suo database live.
L'API accetta HTTP POST contenenti dati JSON e risponde con dati JSON. Requisiti per tutte le richieste di metodi API:
- Le richieste devono essere effettuate con il metodo HTTP POST.
- Le richieste devono avere un corpo JSON contenente una coppia di chiavi API pubbliche e private valide per l'autenticazione.
- Le richieste devono includere l'intestazione:
Tipo di contenuto: application/json
I parametri vengono passati all'API come chiavi/valori nel corpo della richiesta codificata JSON.
L'URL di base per tutte le richieste API è: https://api.tld-list.com/v1
Autenticazione
L'autenticazione viene eseguita passando una chiave API pubblica e una chiave API privata nel corpo JSON inviato all'URL del metodo. Tutte le chiamate API devono includere una coppia di chiavi API valida. Le coppie di chiavi API possono essere generate nel suo account TLD-List, nella scheda API.
Visiti il sito Account > API per creare le chiavi API.
Le chiavi API vengono passate nel corpo della richiesta JSON utilizzando i parametri apiKeyPublic (la sua chiave pubblica) e apiKeyPrivate (la sua chiave privata).
Example authentication parameters
'{'
"apiKeyPublic":"MY_PUBLIC_KEY",
"apiKeyPrivate":"MY_PRIVATE_KEY"
'}' Risposta
Tutte le risposte API di successo avranno un codice di stato HTTP 200 SUCCESS e un corpo codificato JSON. Qualsiasi altro codice di stato HTTP nella risposta indica che la richiesta non è andata a buon fine e che si è verificato un errore.
Gli oggetti di risposta JSON restituiti dall'API avranno la seguente struttura:
| Chiave | Tipo | Descrizione |
|---|---|---|
status | string | Specifica lo stato della richiesta. SUCCESS indica che la chiamata API ha avuto successo, FAIL indica che la richiesta è fallita. |
errors | array of objects | Array di oggetti che rappresentano gli errori che si sono verificati. Ogni oggetto errore conterrà:codice: stringa che identifica il tipo di erroremessaggio: stringa leggibile dall'uomo che descrive l'erroreparametro: stringa o array di stringhe opzionale che indica un problema con uno o più parametri passati nella richiesta.Se non si sono verificati errori, l'array degli errori sarà vuoto.Per maggiori informazioni, consulti i codici di errore. |
seconds | number | Tempo impiegato dal server API per generare una risposta (in secondi). |
data | string|array|object | Un oggetto, un array o una stringa contenente i dati richiesti. |
Esempio di oggetto di risposta fallito con errori
'{'
"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"
'}' Esempio di oggetto di risposta di successo
'{'
"data" : [
'{'
"cheapest" : '{'
"renewal" : [
'{'
"id" : "sav",
"name" : "Sav",
"price" : "8.38"
'}'
],
'}',
"currency" : "USD",
"name" : "com",
"registrarsIncluded" : 58,
"registrarsTotal" : 58
'}'
],
"errors" : [],
"seconds" : 0.001,
"status" : "SUCCESS"
'}' Oggetti di risposta comuni
Alcuni dei metodi API restituiscono oggetti di dati che hanno la stessa struttura. Questi oggetti di dati comuni sono descritti in dettaglio di seguito.
RegistrarPricing
Descrive i prezzi al dettaglio di una società di registrazione per un'estensione per un particolare tipo di prezzo (register, renewal, transfer), inclusi dettagli aggiuntivi come termini speciali, tariffe, tasse e promozioni.
| Percorso | Tipo | Descrizione |
|---|---|---|
id | string | Stringa dell'ID della società di registrazione che identifica in modo univoco la società di registrazione. |
name | string | Nome visualizzato della società di registrazione. |
price | string | Il prezzo di vendita finale della società di registrazione per l'estensione e il tipo di prezzo. Nota: questo campo è presente solo quando l'oggetto RegistrarPricing è annidato nel contesto di un tipo di prezzo. |
priceOriginal | string | Il prezzo di vendita regolare della società di registrazione per l'estensione, come stringa numerica. Questo campo sarà presente solo se il prezzo è un prezzo promozionale. |
pricetype | string | Il tipo di prezzo dell'estensione, uno dei seguenti: register, renewal, transfer. |
prices | object | Il prezzo al dettaglio del registrar per l'estensione per tutti i tipi di prezzo. |
prices[pricetype] | string | Il prezzo di vendita finale del registrar per l'estensione e [pricetype], dove la chiave [pricetype] è register, renewal, transfer, restore, whoisprivacy. Esempio:'{' |
pricesOriginal | object | Il prezzo al dettaglio regolare della società di registrazione per l'estensione, per tutti i tipi di prezzo. Questo campo non sarà presente se la società di registrazione non ha promozioni attive. |
pricesOriginal[pricetype] | string | Il prezzo di vendita regolare del registrar per l'estensione e [pricetype], dove la chiave [pricetype] è register, renewal, transfer, restore, whoisprivacy. |
promo | object | Un oggetto RegistrarPromo che rappresenta il prezzo promozionale che è stato applicato al prezzo della società di registrazione per questa estensione e questo tipo di prezzo. Se non è stata applicata alcuna promo, questo campo non sarà presente. Esempio di oggetto promo:'{' |
promos | array of objects | Array di oggetti RegistrarPromo che rappresentano tutte le tariffe promozionali attive offerte dalla società di registrazione per questa estensione. |
terms | object | Una collezione di oggetti che rappresentano i termini speciali che si applicano alla tariffazione della società di registrazione. Se non si applicano termini speciali, questo campo non sarà presente. |
notes | object | Una raccolta di oggetti che rappresentano le note che riguardano la tariffazione della società di registrazione. Se non ci sono note di tariffazione, questo valore sarà un oggetto vuoto. |
threeYearValueScore | number | Una misura numerica del valore, determinata dal prezzo e dalle funzioni gratuite, per possedere un dominio con questa estensione tramite il registrar per un periodo di 3 anni. |
currency | string | Il codice di valuta a tre lettere ISO 4217 dei dati di tariffazione. Questo valore è attualmente solo USD. |
freeFeatures | array of objects | Un array di oggetti che rappresentano le funzionalità gratuite che la società di registrazione offre con la proprietà del dominio. |
RegistrarPromo
Descrive una promozione attiva offerta da una società di registrazione. Esempio:
'{'
"code": "MYCOUPONCODE",
"amount": "20.00",
"type": "discount-percent",
"start": "2015-06-22T00:00:00",
"end": "2025-06-22T00:00:00"
'}' | Percorso | Tipo | Descrizione |
|---|---|---|
promo.code | string | Il codice promozionale che il cliente deve inserire al momento del checkout per ricevere la promozione scontata. |
promo.amount | string | L'importo numerico del prezzo promozionale. A seconda del tipo di promo, potrebbe trattarsi del prezzo scontato(prezzo), dell'importo sottratto al prezzo normale(sconto) o dell'importo percentuale sottratto al prezzo normale(sconto-percentuale). |
promo.type | string | Una stringa che rappresenta il tipo di prezzo promozionale. Sarà uno dei seguenti valori:prezzo - significa che il campo importo della promo è il nuovo prezzo scontatosconto - significa che il campo importo della promo è stato sottratto dal prezzo regolare per ottenere il prezzo applicatosconto-percentuale - significa che il campo importo della promo è una percentuale e la percentuale è stata sottratta dal prezzo regolare per ottenere il prezzo applicato. |
promo.start | string | Data ISO 8601 (fuso orario UTC) di quando è iniziata la promo. Non sarà presente se non c'è una data di inizio specifica. Esempio: 2015-06-22T00:00:00 |
promo.end | string | Data ISO 8601 (fuso orario UTC) di quando terminerà la promo. Non sarà presente se non c'è una data finale specifica. Esempio: 2025-06-22T00:00:00 |
promo.pricetype | array of strings | Il tipo o i tipi di prezzo a cui si applica la promo: register, renewal, transfer. |
Codici di errore
In caso di fallimento della richiesta, l'oggetto di risposta JSON può contenere uno o più oggetti di errore che descrivono cosa è andato storto. Di seguito è riportato un elenco non esaustivo di codici di errore identificativi che possono essere impostati nel campo codice dell'oggetto error.
| Codice | Descrizione |
|---|---|
| 502 | Il server API è temporaneamente non disponibile. |
| RATE_LIMITED | Il numero di richieste API del cliente ha superato il massimo consentito. |
| INVALID_METHOD | Il metodo API richiesto non esiste. |
| SYSTEM | Si è verificato un errore di sistema sconosciuto. |
| RESPONSE_TIMEOUT | Il server API si è bloccato durante la generazione di una risposta. |
| PARAMETER_REQUIRED | Un parametro richiesto per il metodo chiamato non è stato fornito dal cliente. |
| ACCOUNT_INACTIVE | L'account del cliente non è più attivo e per l'accesso all'API è necessario rinnovare l'abbonamento. |
| NO_ACCESS | Il livello dell'account del cliente non garantisce l'accesso all'API. Per l'accesso all'API è necessario un aggiornamento dell'account. |
| AUTH_INVALID | Autenticazione fallita: le chiavi API fornite sono inattive o non valide. |
| CLIENT_IPS_EXCEEDED | È stato superato il numero massimo di IP unici del cliente autorizzati ad accedere all'API per la coppia di chiavi API fornita. |
| REQUEST_ENDED_BY_CLIENT | La richiesta è stata terminata dal cliente prima che potesse essere generata una risposta. |
Limiti
L'utilizzo dell'API è soggetto a determinati limiti per evitare abusi. Questi limiti di utilizzo sono indicati di seguito e sono soggetti a modifiche senza preavviso.
| Tipo | Descrizione |
|---|---|
| Chiavi API per account | 3 |
| Limite del tasso | 100 richieste massime per 15 minuti |
| Indirizzi IP del cliente per chiave API | 5 indirizzi IP unici del cliente per chiave per 1440 minuti |
Metodi di estensione
get
Restituisce le estensioni e i dati relativi ai prezzi e ai dettagli ad esse associati. Questo metodo è simile al recupero dei dati visualizzati su una o più pagine di dettagli del TLD, ad eccezione dei dati della "Storia del prezzo più conveniente", che non vengono restituiti da questo metodo.
Endpoint API: https://api.tld-list.com/v1/extension/get
Tempo di risposta: ~12 seconds for all extensions, ~6 seconds < 2000 extensions, ~2 seconds < 100 extensions
Parametri della richiesta
| Chiave | Tipo | Richiesto | Descrizione |
|---|---|---|---|
extensions | array of strings | No | Specifica quali estensioni recuperare. Non includa un punto precedente. |
includeFields | array of strings | No | Specifica alcuni dati da restituire in base al nome della chiave. |
excludeFields | array of strings | No | Specifica i dati di cetain da escludere in base al nome della chiave. |
includeRegistrars | array of strings | No | Gli ID stringa delle società di registrazione attive da includere nei risultati. |
excludeRegistrars | array of strings | No | La stringa degli ID delle società di registrazione attive da escludere nei risultati. |
omitExtensionsWithoutRegistrars | boolean | No | Quando è vero, le estensioni senza registrar vengono omesse. |
Oggetto della risposta
| Percorso | Tipo | Descrizione |
|---|---|---|
data | array of objects | Array di nomi di estensioni. |
data[].name | string | Nome Unicode dell'estensione del dominio. |
data[].average | object | Oggetto contenente il prezzo medio dell'estensione. |
data[].median | object | Oggetto contenente il prezzo mediano dell'estensione. |
data[].registrars | array of objects | Array di oggetti RegistrarPricing. |
data[].registrarsIncluded | integer | Conteggio delle società di registrazione incluse. |
data[].registrarsTotal | integer | Totale dei registrar attivi che vendono l'estensione. |
data[].dnssecSupported | boolean | Se DNSSEC è supportato. |
data[].whoisPrivacySupported | boolean | Se WHOIS Privacy è supportato. |
data[].type | string | Il tipo di TLD. |
Esempio di richiesta/risposta
curl -X POST https://api.tld-list.com/v1/extension/get -H 'Content-Type: application/json' -d '{"extensions": ["com"], "apiKeyPublic":"MY_PUBLIC_KEY","apiKeyPrivate":"MY_PRIVATE_KEY"}'
'{' "data" : [...], "errors" : [], "seconds" : 0.068, "status" : "SUCCESS" '}' getNames
Restituisce tutti i nomi delle estensioni.
Endpoint API: https://api.tld-list.com/v1/extension/getNames
Tempo di risposta: ~1 second
Parametri della richiesta
| Chiave | Tipo | Richiesto | Descrizione |
|---|---|---|---|
omitExtensionsWithoutRegistrars | boolean | No | Quando è vero, le estensioni senza registrar vengono omesse. |
wantPunycode | boolean | No | Codifica tutte le estensioni IDN come punycode. |
Oggetto della risposta
| Percorso | Tipo | Descrizione |
|---|---|---|
data | array of strings | Array di nomi di estensioni. |
Esempio di richiesta/risposta
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"}'
'{' "data" : ["com", "net", "org", ...], "errors" : [], "seconds" : 0.697, "status" : "SUCCESS" '}' getCheapestRegistrar
Restituisce i registrar/provider più economici, i loro prezzi, il prezzo mediano e il prezzo medio per estensione di dominio.
Endpoint API: https://api.tld-list.com/v1/extension/getCheapestRegistrar
Tempo di risposta: ~8 seconds for all extensions, ~4 seconds < 2000 extensions, ~1 second < 100 extensions
Parametri della richiesta
| Chiave | Tipo | Richiesto | Descrizione |
|---|---|---|---|
pricetypes | array of strings | No | Specifica i tipi di prezzi da recuperare. |
extensions | array of strings | No | Specifica quali estensioni recuperare. |
includeRegistrars | array of strings | No | Gli ID delle società di registrazione da includere. |
excludeRegistrars | array of strings | No | Gli ID delle società di registrazione da escludere. |
omitExtensionsWithoutRegistrars | boolean | No | Quando è vero, le estensioni senza registrar vengono omesse. |
Oggetto della risposta
| Percorso | Tipo | Descrizione |
|---|---|---|
data | array of objects | Array di oggetti, ognuno rappresenta un'estensione di dominio. |
data[].name | string | Nome Unicode dell'estensione del dominio. |
data[].currency | string | Il codice di valuta ISO 4217. |
data[].average | object | Oggetto contenente il prezzo medio. |
data[].median | object | Oggetto contenente il prezzo mediano. |
data[].cheapest | object | Le società di registrazione più economiche. |
Esempio di richiesta/risposta
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", "extensions": ["com"]}'
'{' "data" : [...], "errors" : [], "seconds" : 0.126, "status" : "SUCCESS" '}' Metodi di registrazione
getIds
Restituisce tutti gli ID della società di registrazione, ognuno dei quali identifica in modo univoco una società di registrazione attivamente quotata su TLD-List.
Endpoint API: https://api.tld-list.com/v1/registrar/getIds
Tempo di risposta: < 1 second
Parametri della richiesta
Nessuno
Oggetto della risposta
| Percorso | Tipo | Descrizione |
|---|---|---|
data | array of strings | Array di stringhe di ID della società di registrazione. |
Esempio di richiesta/risposta
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", ..., "webnames.ca"], "errors" : [], "seconds" : 0.001, "status" : "SUCCESS" '}'