API

Programowo wyszukuj i pobieraj dane wyświetlane w TLD-List.

Pracujemy nad ulepszeniem naszego API

Wkrótce dostępne będzie solidne i intuicyjne API JSON. Dzięki niemu użytkownicy biznesowi będą mogli odpytywać dane z bazy danych TLD-List w czasie rzeczywistym. Praktycznie wszystkie dane wyświetlane na tej stronie będą dostępne przez API z możliwością filtrowania za pomocą parametrów zdefiniowanych przez użytkownika.

Ostrzeżenie: API jest obecnie w fazie rozwoju i podlega dodaniu nowych funkcji: nowe metody i parametry mogą zostać dodane w przyszłości. Wszelkie wprowadzone zmiany pozostaną wstecznie kompatybilne z istniejącą funkcjonalnością.

Przegląd

Interfejs API TLD-List v1 może być używany do pobierania danych wyświetlanych na stronie TLD-List z bazy danych na żywo.

API akceptuje HTTP POST zawierające dane JSON i odpowiada danymi JSON. Wymagania dla wszystkich żądań metod API:

  • Żądania muszą być składane przy użyciu metody HTTP POST
  • Żądania muszą mieć treść JSON zawierającą prawidłową parę publicznych i prywatnych kluczy API do uwierzytelniania
  • Żądania muszą zawierać nagłówek: Content-Type: application/json

Parametry są przekazywane do interfejsu API jako klucze/wartości w treści żądania zakodowanej w formacie JSON.

Podstawowy adres URL dla wszystkich żądań API to: https://api.tld-list.com/v1

Uwierzytelnianie

Uwierzytelnianie odbywa się poprzez przekazanie publicznego klucza API i prywatnego klucza API w treści JSON przesłanej do adresu URL metody. Wszystkie wywołania API muszą zawierać prawidłową parę kluczy API. Pary kluczy API można wygenerować na koncie TLD-List w zakładce API.

Proszę odwiedzić Konto > API, aby utworzyć klucze API.

Klucze API są przekazywane w treści żądania JSON przy użyciu parametrów apiKeyPublic (Państwa klucz publiczny) i apiKeyPrivate (Państwa klucz prywatny).

Example authentication parameters

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

Odpowiedź

Wszystkie pomyślne odpowiedzi API będą miały kod stanu HTTP 200 SUCCESS i zakodowaną treść JSON. Każdy inny kod stanu HTTP w odpowiedzi wskazuje, że żądanie nie powiodło się i wystąpił błąd.

Obiekty odpowiedzi JSON zwracane przez API będą miały następującą strukturę:

KluczTypOpis
statusstringOkreśla status żądania. SUCCESS oznacza, że wywołanie API powiodło się, FAIL oznacza, że żądanie nie powiodło się.
errorsarray of objectsTablica obiektów reprezentujących błędy, które wystąpiły. Każdy obiekt błędu będzie zawierał

kod: ciąg znaków identyfikujący typ błędu

komunikat: czytelny dla człowieka ciąg znaków opisujący błąd

parameter: opcjonalny ciąg lub tablica ciągów wskazujących na problem z określonym parametrem (parametrami) przekazanymi w żądaniu.

Jeśli nie wystąpiły żadne błędy, tablica błędów będzie pusta.

Więcej informacji można znaleźć w sekcji Kody błędów.
secondsnumberCzas potrzebny serwerowi API na wygenerowanie odpowiedzi (w sekundach).
datastring|array|objectObiekt, tablica lub ciąg znaków zawierający żądane dane.

Przykład nieudanego obiektu odpowiedzi z błędami

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

Przykład pomyślnego obiektu odpowiedzi

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

Wspólne obiekty odpowiedzi

Niektóre metody API zwracają obiekty danych o tej samej strukturze. Te typowe obiekty danych zostały szczegółowo opisane poniżej.

RegistrarPricing

Opisuje ceny detaliczne rejestratora dla rozszerzenia dla określonego typu cenowego (register, renewal, transfer), w tym dodatkowe szczegóły, takie jak specjalne warunki, opłaty, podatki i promocje.

ŚcieżkaTypOpis
idstringCiąg identyfikatora rejestratora, który jednoznacznie identyfikuje rejestratora.
namestringWyświetlana nazwa rejestratora.
pricestringOstateczna cena detaliczna rejestratora dla rozszerzenia i typu cenowego.

Uwaga: to pole jest obecne tylko wtedy, gdy obiekt RegistrarPricing jest zagnieżdżony w kontekście typu ceny (na przykład w odpowiedzi z getCheapestRegistrars).
priceOriginalstringRegularna cena detaliczna rejestratora dla rozszerzenia jako ciąg liczbowy. To pole będzie obecne tylko wtedy, gdy cena jest ceną promocyjną.
pricetypestringTyp ceny rozszerzenia, jeden z: register, renewal, transfer.
pricesobjectCena detaliczna rejestratora dla rozszerzenia dla wszystkich typów cen.
promoobjectObiekt RegistrarPromo reprezentujący promocyjną cenę, która została zastosowana do ceny rejestratora dla tego rozszerzenia i typu ceny.
promosarray of objectsTablica obiektów RegistrarPromo reprezentujących wszystkie aktywne ceny promocyjne oferowane przez rejestratora dla tego rozszerzenia.
termsobjectKolekcja obiektów reprezentujących specjalne warunki, które mają zastosowanie do cennika rejestratora.
notesobjectKolekcja obiektów reprezentujących noty, które odnoszą się do wyceny rejestratora.
freeFeaturesarray of objectsTablica obiektów reprezentujących bezpłatne funkcje oferowane przez rejestratora wraz z własnością domeny.
currencystringTrzyliterowy kod waluty ISO 4217 danych cenowych. Ta wartość jest obecnie tylko USD.
threeYearValueScorenumberLiczbowa miara wartości, określona na podstawie cen i bezpłatnych funkcji, za posiadanie domeny z tym rozszerzeniem za pośrednictwem rejestratora przez okres 3 lat.

RegistrarPromo

Opisuje aktywną promocję oferowaną przez rejestratora.

'{'
"code": "MYCOUPONCODE",
"amount": "20.00",
"type": "discount-percent",
"start": "2015-06-22T00:00:00",
"end": "2025-06-22T00:00:00"
'}'
ŚcieżkaTypOpis
promo.codestringKod promocyjny, który klient musi wprowadzić przy kasie, aby skorzystać ze zniżki.
promo.amountstringWartość liczbowa ceny promocyjnej. W zależności od typu promocji, może to być obniżona cena (cena), kwota odjęta od ceny regularnej (rabat) lub kwota procentowa odjęta od ceny regularnej (procent rabatu).
promo.typestringCiąg znaków reprezentujący typ ceny promocyjnej. Będzie to jedna z następujących wartości:

price - oznacza, że pole kwoty promocji jest nową obniżoną ceną
discount - oznacza, że pole kwoty promocji zostało odjęte od ceny regularnej
discount-percent - oznacza, że pole kwoty promocji jest wartością procentową.
promo.startstringCzas ISO 8601 (strefa czasowa UTC) rozpoczęcia promocji. Nie będzie obecny, jeśli nie było określonej daty rozpoczęcia.
promo.endstringGodzina zakończenia promocji w formacie ISO 8601 (strefa czasowa UTC). Nie będzie obecny, jeśli nie ma określonej daty zakończenia.

Kody błędów

W przypadku niepowodzenia żądania obiekt odpowiedzi JSON może zawierać jeden lub więcej obiektów błędów, które opisują, co poszło nie tak. Poniżej znajduje się niepełna lista identyfikacyjnych kodów błędów, które można ustawić w polu kodu obiektu błędu.

KodOpis
502Serwer API jest tymczasowo niedostępny.
RATE_LIMITEDLiczba żądań API klienta przekroczyła dozwolone maksimum.
INVALID_METHODŻądana metoda API nie istnieje.
SYSTEMWystąpił nieznany błąd systemu.
RESPONSE_TIMEOUTSerwer API przekroczył limit czasu podczas generowania odpowiedzi.
PARAMETER_REQUIREDWymagany parametr dla wywoływanej metody nie został dostarczony przez klienta.
ACCOUNT_INACTIVEKonto klienta nie jest już aktywne i wymagane jest odnowienie subskrypcji w celu uzyskania dostępu do API.
NO_ACCESSPoziom konta klienta nie zapewnia dostępu do API. W celu uzyskania dostępu do API wymagana jest aktualizacja konta.
AUTH_INVALIDUwierzytelnianie nie powiodło się: podane klucze API są nieaktywne lub nieprawidłowe.
CLIENT_IPS_EXCEEDEDPrzekroczono maksymalny unikalny adres IP klienta, który może uzyskać dostęp do interfejsu API dla podanej pary kluczy API.
REQUEST_ENDED_BY_CLIENTŻądanie zostało zakończone przez klienta przed wygenerowaniem odpowiedzi.

Ograniczenia

Korzystanie z API podlega pewnym ograniczeniom, aby zapobiec nadużyciom. Te ograniczenia użytkowania są przedstawione poniżej i mogą ulec zmianie bez powiadomienia.

TypOpis
Klucze API na konto3
Limit stawek100 maksymalna liczba żądań na 15 minut
Adresy IP klientów na klucz API5 unikalnych adresów IP klientów na klucz na 1440 minut

Metody rozszerzenia

get

Zwraca rozszerzenia i powiązane z nimi dane dotyczące cen i szczegółów. Ta metoda jest podobna do pobierania danych wyświetlanych na jednej lub kilku stronach szczegółów TLD (na przykład .com), z wyjątkiem danych "Historia najtańszych cen", które nie są zwracane przez tę metodę.

Punkt końcowy API:https://api.tld-list.com/v1/extension/get

Czas reakcji: ~12 seconds for all extensions, ~6 seconds < 2000 extensions, ~2 seconds < 100 extensions

Parametry żądania

KluczTypWymaganeOpis
extensionsarray of stringsNieOkreśla, które rozszerzenia mają zostać pobrane. Proszę nie dołączać poprzedzającej kropki. Nazwy rozszerzeń mogą być unicode lub ich odpowiednikami punycode. W przypadku pominięcia zwrócone zostaną wszystkie rozszerzenia wymienione na stronie TLD-List. Przykład: "extensions": ["com", "io", "co.uk", "移动", "xn--p1ai"]

Obiekt odpowiedzi

ŚcieżkaTypOpis
dataarray of objectsTablica nazw rozszerzeń.
data[].namestringNazwa Unicode rozszerzenia domeny.

Przykład żądania/odpowiedzi

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" : ['{'
"name" : "com"
'}'],
"errors" : [],
"seconds" : 0.068,
"status" : "SUCCESS"
'}'

getNames

Zwraca wszystkie nazwy rozszerzeń.

Punkt końcowy API:https://api.tld-list.com/v1/extension/getNames

Czas reakcji: ~1 second

Parametry żądania

KluczTypWymaganeOpis
omitExtensionsWithoutRegistrarsbooleanNieGdy wartość true, rozszerzenia, które nie mają danych cennika rejestratora w wynikach, są pomijane. Wartość domyślna to false.

Obiekt odpowiedzi

ŚcieżkaTypOpis
dataarray of stringsTablica nazw rozszerzeń.

Przykład żądania/odpowiedzi

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"
],
"errors" : [],
"seconds" : 0.697,
"status" : "SUCCESS"
'}'

getCheapestRegistrar

Zwraca najtańszych rejestratorów/dostawców, ich ceny, medianę cen i średnią cenę za rozszerzenie domeny. Rozszerzenia, które nie są sprzedawane przez żadnego rejestratora, nie są zwracane.

Punkt końcowy API:https://api.tld-list.com/v1/extension/getCheapestRegistrar

Czas reakcji: ~8 seconds for all extensions, ~4 seconds < 2000 extensions, ~1 second < 100 extensions

Parametry żądania

KluczTypWymaganeOpis
pricetypesarray of stringsNieOkreśla typy cen do pobrania. W przypadku pominięcia zwracane są 3 typy cen (register, renewal, transfer).

Obiekt odpowiedzi

ŚcieżkaTypOpis
dataarray of objectsTablica obiektów, z których każdy reprezentuje rozszerzenie domeny.
data[].namestringNazwa Unicode rozszerzenia domeny.

Przykład żądania/odpowiedzi

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" : ['{'
"name" : "com"
'}'],
"errors" : [],
"seconds" : 0.126,
"status" : "SUCCESS"
'}'

Metody rejestratora

getIds

Zwraca wszystkie identyfikatory rejestratorów, z których każdy jednoznacznie identyfikuje rejestratora aktywnie notowanego na stronie TLD-List.

Punkt końcowy API:https://api.tld-list.com/v1/registrar/getIds

Czas reakcji: < 1 second

Parametry żądania

Brak

Obiekt odpowiedzi

ŚcieżkaTypOpis
dataarray of stringsTablica ciągów identyfikatorów rejestratora.

Przykład żądania/odpowiedzi

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"
],
"errors" : [],
"seconds" : 0.001,
"status" : "SUCCESS"
'}'

Dołącz do listy oczekujących

Newsletter TLD-List

Zapisz się do newslettera e-mail, aby otrzymywać aktualizacje dotyczące nowych funkcji, aktualności serwisu i poprawek błędów.