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ę:
| Klucz | Typ | Opis |
|---|---|---|
status | string | Określa status żądania. SUCCESS oznacza, że wywołanie API powiodło się, FAIL oznacza, że żądanie nie powiodło się. |
errors | array of objects | Tablica 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łędukomunikat: czytelny dla człowieka ciąg znaków opisujący błądparameter: 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. |
seconds | number | Czas potrzebny serwerowi API na wygenerowanie odpowiedzi (w sekundach). |
data | string|array|object | Obiekt, 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żka | Typ | Opis |
|---|---|---|
id | string | Ciąg identyfikatora rejestratora, który jednoznacznie identyfikuje rejestratora. |
name | string | Wyświetlana nazwa rejestratora. |
price | string | Ostateczna 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). |
priceOriginal | string | Regularna cena detaliczna rejestratora dla rozszerzenia jako ciąg liczbowy. To pole będzie obecne tylko wtedy, gdy cena jest ceną promocyjną. |
pricetype | string | Typ ceny rozszerzenia, jeden z: register, renewal, transfer. |
prices | object | Cena detaliczna rejestratora dla rozszerzenia dla wszystkich typów cen. |
promo | object | Obiekt RegistrarPromo reprezentujący promocyjną cenę, która została zastosowana do ceny rejestratora dla tego rozszerzenia i typu ceny. |
promos | array of objects | Tablica obiektów RegistrarPromo reprezentujących wszystkie aktywne ceny promocyjne oferowane przez rejestratora dla tego rozszerzenia. |
terms | object | Kolekcja obiektów reprezentujących specjalne warunki, które mają zastosowanie do cennika rejestratora. |
notes | object | Kolekcja obiektów reprezentujących noty, które odnoszą się do wyceny rejestratora. |
freeFeatures | array of objects | Tablica obiektów reprezentujących bezpłatne funkcje oferowane przez rejestratora wraz z własnością domeny. |
currency | string | Trzyliterowy kod waluty ISO 4217 danych cenowych. Ta wartość jest obecnie tylko USD. |
threeYearValueScore | number | Liczbowa 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żka | Typ | Opis |
|---|---|---|
promo.code | string | Kod promocyjny, który klient musi wprowadzić przy kasie, aby skorzystać ze zniżki. |
promo.amount | string | Wartość 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.type | string | Cią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 regularnejdiscount-percent - oznacza, że pole kwoty promocji jest wartością procentową. |
promo.start | string | Czas ISO 8601 (strefa czasowa UTC) rozpoczęcia promocji. Nie będzie obecny, jeśli nie było określonej daty rozpoczęcia. |
promo.end | string | Godzina 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.
| Kod | Opis |
|---|---|
| 502 | Serwer API jest tymczasowo niedostępny. |
| RATE_LIMITED | Liczba żądań API klienta przekroczyła dozwolone maksimum. |
| INVALID_METHOD | Żądana metoda API nie istnieje. |
| SYSTEM | Wystąpił nieznany błąd systemu. |
| RESPONSE_TIMEOUT | Serwer API przekroczył limit czasu podczas generowania odpowiedzi. |
| PARAMETER_REQUIRED | Wymagany parametr dla wywoływanej metody nie został dostarczony przez klienta. |
| ACCOUNT_INACTIVE | Konto klienta nie jest już aktywne i wymagane jest odnowienie subskrypcji w celu uzyskania dostępu do API. |
| NO_ACCESS | Poziom konta klienta nie zapewnia dostępu do API. W celu uzyskania dostępu do API wymagana jest aktualizacja konta. |
| AUTH_INVALID | Uwierzytelnianie nie powiodło się: podane klucze API są nieaktywne lub nieprawidłowe. |
| CLIENT_IPS_EXCEEDED | Przekroczono 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.
| Typ | Opis |
|---|---|
| Klucze API na konto | 3 |
| Limit stawek | 100 maksymalna liczba żądań na 15 minut |
| Adresy IP klientów na klucz API | 5 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
| Klucz | Typ | Wymagane | Opis |
|---|---|---|---|
extensions | array of strings | Nie | Okreś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żka | Typ | Opis |
|---|---|---|
data | array of objects | Tablica nazw rozszerzeń. |
data[].name | string | Nazwa 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
| Klucz | Typ | Wymagane | Opis |
|---|---|---|---|
omitExtensionsWithoutRegistrars | boolean | Nie | Gdy wartość true, rozszerzenia, które nie mają danych cennika rejestratora w wynikach, są pomijane. Wartość domyślna to false. |
Obiekt odpowiedzi
| Ścieżka | Typ | Opis |
|---|---|---|
data | array of strings | Tablica 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
| Klucz | Typ | Wymagane | Opis |
|---|---|---|---|
pricetypes | array of strings | Nie | Określa typy cen do pobrania. W przypadku pominięcia zwracane są 3 typy cen (register, renewal, transfer). |
Obiekt odpowiedzi
| Ścieżka | Typ | Opis |
|---|---|---|
data | array of objects | Tablica obiektów, z których każdy reprezentuje rozszerzenie domeny. |
data[].name | string | Nazwa 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żka | Typ | Opis |
|---|---|---|
data | array of strings | Tablica 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"
'}'