Cheapest Prices Download Documentation

JSON

Download this sample

Note: this sample data file contains data for only a small number of TLDs (specifically: .com, .ink, .世界). The actual data file contains all TLDs listed on the site.

{
    "data": {
        "com": {
            "punycode": null,
            "clicks": 4212,
            "whois_privacy": true,
            "restricted": false,
            "restrictions": null,
            "best": {
                "price": {
                    "transfer": {
                        "1and1": {
                            "name": "1&1",
                            "price": "0.99",
                            "promo": null
                        }
                    },
                    "renewal": {
                        "alpnames": {
                            "name": "AlpNames",
                            "price": "8.75",
                            "promo": null
                        }
                    },
                    "register": {
                        "1and1": {
                            "name": "1&1",
                            "price": "0.99",
                            "promo": null
                        },
                        "godaddy": {
                            "name": "GoDaddy",
                            "price": "0.99",
                            "promo": null
                        }
                    }
                },
                "value": {
                    "1and1": {
                        "name": "1&1",
                        "three_year_value_score": "20.67"
                    }
                }
            },
            "updated": {
                "info": "2015-12-15T09:30:20",
                "pricing": "2015-12-15T12:49:17"
            }
        },
        "ink": {
            "punycode": null,
            "clicks": 82,
            "whois_privacy": true,
            "restricted": false,
            "restrictions": null,
            "best": {
                "price": {
                    "transfer": {
                        "1and1": {
                            "name": "1&1",
                            "price": "19.99",
                            "promo": null
                        }
                    },
                    "renewal": {
                        "alpnames": {
                            "name": "AlpNames",
                            "price": "20.99",
                            "promo": null
                        }
                    },
                    "register": {
                        "porkbun": {
                            "name": "Porkbun",
                            "price": "16.93",
                            "promo": {
                                "code": "DIMSUM",
                                "amount": "20.00",
                                "type": "discount-percent",
                                "pricetype": [
                                    "register"
                                ],
                                "start": null,
                                "end": null
                            }
                        }
                    }
                },
                "value": {
                    "alpnames": {
                        "name": "AlpNames",
                        "three_year_value_score": "7.54"
                    }
                }
            },
            "updated": {
                "info": "2015-12-15T11:40:11",
                "pricing": "2015-12-15T12:49:19"
            }
        },
        "世界": {
            "punycode": "xn--rhqv96g",
            "clicks": 120,
            "whois_privacy": true,
            "restricted": false,
            "restrictions": null,
            "best": {
                "price": {
                    "transfer": {
                        "dynadot": {
                            "name": "Dynadot",
                            "price": "32.99",
                            "promo": null
                        }
                    },
                    "renewal": {
                        "dynadot": {
                            "name": "Dynadot",
                            "price": "32.99",
                            "promo": null
                        }
                    },
                    "register": {
                        "hexonet": {
                            "name": "Hexonet",
                            "price": "32.30",
                            "promo": null
                        }
                    }
                },
                "value": {
                    "dynadot": {
                        "name": "Dynadot",
                        "three_year_value_score": "2.07"
                    }
                }
            },
            "updated": {
                "info": "2015-12-15T09:30:35",
                "pricing": "2015-12-15T12:48:15"
            }
        }
    },
    "diff": [
        {
            "path": [
                "com",
                "updated"
            ],
            "change": "E",
            "was": {
                "info": "2015-12-15T03:30:20",
                "pricing": "2015-12-15T06:49:17"
            },
            "is": {
                "info": "2015-12-15T09:30:20",
                "pricing": "2015-12-15T12:49:17"
            }
        },
        {
            "path": [
                "ink",
                "updated"
            ],
            "change": "E",
            "was": {
                "info": "2015-12-15T05:40:11",
                "pricing": "2015-12-15T06:49:19"
            },
            "is": {
                "info": "2015-12-15T11:40:11",
                "pricing": "2015-12-15T12:49:19"
            }
        },
        {
            "path": [
                "世界",
                "updated"
            ],
            "change": "E",
            "was": {
                "info": "2015-12-15T03:30:35",
                "pricing": "2015-12-15T06:48:15"
            },
            "is": {
                "info": "2015-12-15T09:30:35",
                "pricing": "2015-12-15T12:48:15"
            }
        }
    ]
}

Description

This download is a JSON file containing all TLD objects keyed by TLD name. It contains the data displayed on the TLD List main list pages.

The tables below describe the fields contained in the data file. The Field column is the path of the field in dot notation. The Type column is the data type of the field's value.

data

The top-level data object of the JSON file contains the collection of TLD objects, keyed by the TLD name. Below are the fields of each TLD object.

Note: for easier integration, it is recommended to simply sync the top-level data object to your own database on every download.

Field Type Description
punycode string|null The punycode representation of the TLD. If the TLD is not an Internationalized Domain Name (IDN), the value will be null.
clicks number The number of clicks and views the TLD has received on TLD List. This value is incremented for every unique IP address per day that clicks on a TLD, or views its detail page.
whois_privacy boolean If the TLD supports WHOIS Privacy services from at least one registrar or provider, this value will be true. Otherwise, false.
restricted boolean If registration is limited to certain people or uses, this value will be true. Otherwise, false.
restrictions string|null A short description of the TLD's registration restrictions and requirements. If there are no restrictions, this value will be null.
best.price object A collection of price type objects. Each price type object is a collection of the registrars offering the TLD at the cheapest price. Each price type object is keyed by price type (register (a.k.a registration), renewal, transfer, restore). For example:

{
    "transfer": {
        "1and1": {
            "name": "1&1",
            "price": "0.99",
            "promo": null
        }
    }
}
best.price[price type] object A collection of registrar pricing objects. These represent the registrars offering the TLD at the cheapest price for the pricetype. Each object is keyed by a unique ID that identifies the registrar. For example:

{
    "alpnames": {
        "name": "AlpNames",
        "price": "8.75",
        "promo": null
    }
}
best.price[price type][registrar].name string The display name of the registrar or provider.
best.price[price type][registrar].price string The registrar's price (for the price type) in USD.
best.price[price type][registrar].promo_best object|null A promo object representing promotional pricing that has been applied to the registrar's price for this TLD and price type. If no promo has been applied, this value will be null. Example promo object:

{
    "code": "MYCOUPONCODE",
    "amount": "20.00",
    "type": "discount-percent",
    "pricetype": [
        "register"
    ],
    "start": "2015-06-22T00:00:00",
    "end": "2017-06-22T00:00:00"
}
best.price[price type][registrar].promo.code string|null The promo code the customer must enter at checkout to receive the discounted promotion. If the promotion has no promo code, this value will be null.
best.price[price type][registrar].promo.amount string The numeric amount of the promotional pricing. Depending on the promo's type, this could be the discounted price (price), the amount subtracted from the regular price (discount), or the percentage amount subtracted from the regular price (discount-percent).
best.price[price type][registrar].promo.type string A string representing the type of promotional pricing. Will be one of the following values:

price - means the promo's amount field is the new discounted price
discount - means the promo's amount field was subtracted from the regular price to obtain the applied price
discount-percent - means the promo's amount field is a percentage, and the percentage was subtracted from the regular price to obtain the applied price.
best.price[price type][registrar].promo.pricetype array of strings The price type(s) the promo applies to: register, renewal, transfer, restore.
best.price[price type][registrar].promo.start strings|null ISO 8601 datetime (UTC timezone) of when the promo started. Will be null if there was no specific start date. For example: 2015-06-22T00:00:00
best.price[price type][registrar].promo.end string|null ISO 8601 datetime (UTC timezone) of when the promo will end. Will be null if there is no specific end date. For example: 2017-06-22T00:00:00
best.value object A collection of best 3 year value registrar objects. Each best 3 year value object represents the registrar(s) offering the TLD with the best 3 year value and is keyed by a unique ID that identifies the registrar. For example:

{
    "dynadot": {
        "name": "Dynadot",
        "three_year_value_score": "2.07"
    }
}
best.value[registrar].name string The display name of the registrar or provider.
best.value[registrar].three_year_value_score string A numeric measurement of how much value you get for your money when you own a domain with this particular registrar for 3 years.
updated.pricing string ISO 8601 datetime (UTC timezone) of when the TLD's registrar pricing was last checked and updated. Note: a new updated.pricing date does not necessarily indicate that any data change occurred. It only indicates when the data was last checked and set.
updated.info string ISO 8601 datetime (UTC timezone) of when the TLD's basic info (restrictions, availability dates, etc) was last checked and updated. Note: a new updated.info date does not necessarily indicate that any data change occurred. It only indicates when the data was last checked and set.

diff

The top-level diff object of the JSON file contains the differences of this data file compared to your previously downloaded data file. If the data file has changed since your last download, the diff object will be an array of diff objects describing the paths of the data that changed, the type of change, and the prior and current values. If the data has not changed, the diff object will be an empty array. The table below describes the fields contained in each diff object.

Note: the diff is provided for informational purposes only. For easier integration, it is recommended to simply sync the top-level data object to your own database, rather than trying to update specific fields according to the diff.

Field Type Description
path array of strings The path of the changed field in the data object, where each element is a string subpath. The array can be joined with a a '.' character to get the path as a string in dot notation.
change string A single character representing the type of change:
N - indicates a newly added field/property
D - indicates a field/property was deleted
E - indicates a field/property was edited
A - indicates a change occurred within an array
was mixed The previous value of the path.
is mixed The current value of the path.
index number When the change occurred to an array (change = 'A'), indicates the numeric array index where the change occurred. Not present when the change did not occur to an array.
item mixed When the change occurred to an array (change = 'A'), contains a nested diff object indicating the change that occurred at the array index. Not present when the change did not occur to an array.

Registrars

A list of registrar ID's and the registrars they represent.

ID Registrar
101domain 101domain
1and1 1&1
above.com Above.com
alpnames AlpNames
amazonroute53 Amazon Route 53
amenworld AmenWorld
bigrock BigRock
crazydomains Crazy Domains
directnic Directnic
domain.com Domain.com
domainmonster Domainmonster
dot.al Dot.AL
dotology Dotology
dotster Dotster
dreamhost DreamHost
dyn Dyn
dynadot Dynadot
epik Epik
espace2001 Espace 2001
eurodns EuroDNS
gandi Gandi.net
godaddy GoDaddy
googledomains Google Domains
hexonet Hexonet
hostgator HostGator
hover Hover
instra Instra
internet.bs Internet.bs
istanco ISTanCo
iwantmyname iwantmyname
marcaria Marcaria.com
mindsandmachines Minds + Machines
name.com Name.com
namecheap Namecheap
namesilo NameSilo
netcetera Netcetera
netfirms Netfirms
netim Netim
networksolutions Network Solutions
nfsn NearlyFreeSpeech
onlydomains OnlyDomains
porkbun Porkbun
regtons Regtons
uniregistry Uniregistry
uniteddomains United Domains
web4africa Web4Africa
webnames.ca Webnames.ca
whois.com Whois.com