API Documentation
The API provides an HTTP interface to the data behind VERISIGN®
DomainCountDown. More information about traffic scores can
be found here.
All API requests require an API Key and are rate limited. 20 requests are allowed per minute.
The API Key must be placed in the X-DOMAINCOUNTDOWN-APIKEY request header.
All API requests require an API Key and are rate limited. 20 requests are allowed per minute.
API Keys
Every request requires an API key. Contact us to get your API Key.The API Key must be placed in the X-DOMAINCOUNTDOWN-APIKEY request header.
Rate Limiting
Rate limits are tied to an API key. Every response contains 3 headers that describe the current state of the rate limit:- X-RateLimit-Remaining: # of requests remaining
- X-RateLimit-ResetMs: UTC Time when the rate limit resets
- X-RateLimit-Limit: # of requests allowed in the rate limited period
Using search
Description
The search API provides a way for developers to search for the domains which will become available in the next 5 days using a set of criteria to filter the results. The default query method is .contains. but this can be overridden using the Search Type Parameter. All filter criteria are optional. Wildcards and other special characters are not supported. The search results can be filtered based on the following fields.Access Information
| HTTP Method | GET |
| URL | http://domaincountdown.verisignlabs.com/api/v1/search |
| Formats | XML,JSON |
| Request Headers | X-DOMAINCOUNTDOWN-APIKEY: <API KEY> Accept<application/json>or<application/xml> |
| Result Size | 50 domains |
Request Parameters(Optional)
| searchField | Filters the results to only those containing a specified keyword. |
| searchType | Defines how the specified keyword will be used in the query , beginsWith, endsWith or within (case Insensitive). |
| sortBy | Defines how the results will be sorted , the values can be inBoundLinks , trafficScore ,popularityScore, trafficPercent, purpose or deletionDate. |
| page | 50 resluts per page are returned, to get the next page we increment the value by 1. |
| trafLevMin | Filters the results by a specified minimum NXD Traffic Score , min value 0 and max 10. |
| trafLevMax | Filters the results by a specified maximum NXD Traffic Score , min value 0 and max 10. |
| delDate | Filters the results by a specified date when the domain name will be deleted from the zone, becoming available for registration , format should be 'MMM dd yyyy'. |
| purpose | Filters the results by a specified prior website type , can be empty or have following values Blog,Ecommerce,Masked Redirect,Online Business,purpose,Other,Redirect or Real Estate (case Insensitive). |
| tld | Filters the results by a specified supported TLD can be either com or net. |
| hasNum | Filters the results by the presence of numbers in the domain name , can have vaules of yes or no. |
| hasHyph | Filters the results by the presence of hyphens in the domain name , can have vaules of yes or no. |
Example
The following example show the request and response for a typical search.
| HTTP Method | GET |
| URL | http://domaincountdown.verisignlabs.com/api/v1/search?purpose=blog&page=2 |
| Request Headers |
X-DOMAINCOUNTDOWN-APIKEY: <API KEY> Accept<application/json>or<application/xml> |
| Response | { "totalPages" : 93, "domainList" : [ { "acceptAdds" : "N", "brandSafety" : "High", "createDate" : "2009-03-18", "deletionDate" : "2012-06-03", "domainName" : "hawconews.com", "domainRank" : 2852618, "expiryDate" : "2012-03-18", "inBoundLinks" : 35, "keywords" : "hawaii,county,news,county,hawaii,office", "loginForm" : "N", "outBoundLinks" : 1, "personalInformation" : "N", "popularityScore" : 123, "purpose" : "Blog", "redirectDestination" : "-", "shoppingCart" : "N", "status" : "OK", "thirdPartyCheckout" : "N", "trafficLevel" : 9.3, "trafficPercent" : 70, "trafficScore" : 1768, "zeroSixDayDaScore" : 9.5 }{...} ], } |
Using Get Domain
Description
The Get Domain API provides a way for developers to retrieve all available data fields for specific domain names. Specified domain names must include a supported TLD extension. No other parameters are supported by this API. For a list data fields that will be returned with each domain please refer to the application Glossary.Access Information
| HTTP Method | GET |
| URL | http://domaincountdown.verisignlabs.com/api/v1/domain/{domainName} |
| Formats | XML,JSON |
| Request Headers | X-DOMAINCOUNTDOWN-APIKEY: <API KEY> Accept<application/json>or<application/xml> |
| Result size | 1 domain(which matches the exact resource name) |
Example
The following example shows how to get the detail of a particular domain.
| HTTP Method | GET |
| URL | http://domaincountdown.verisignlabs.com/api/v1/domain/getgooglesearch.com |
| Request Headers |
X-DOMAINCOUNTDOWN-APIKEY: <API KEY> Accept<application/json>or<application/xml> |
| Response | { "acceptAdds" : "N", "brandSafety" : "High", "createDate" : "2008-03-28", "deletionDate" : "2012-06-02", "domainName" : "getgooglesearch.com", "domainRank" : 261555, "expiryDate" : "2012-03-28", "inBoundLinks" : 265, "keywords" : "google,search,box,free,add,website,offer,html,code,google,search,box,put,website", "loginForm" : "N", "outBoundLinks" : 0, "personalInformation" : "N", "popularityScore" : 243, "purpose" : "Other", "redirectDestination" : "-", "shoppingCart" : "N", "status" : "OK", "thirdPartyCheckout" : "N", "trafficLevel" : 9.3, "trafficPercent" : 35, "trafficScore" : 18905, "zeroSixDayDaScore" : 9.5 } |
Sample Code in PHP
Following is the sample test client written in PHP language.1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $ch = curl_init(); # set headers $headers = array('Accept: application/xml', 'X-DOMAINCOUNTDOWN-APIKEY:<YOUR_API_KEY>'); curl_setopt($ch, CURLOPT_URL, "http://domaincountdown.verisignlabs.com/api/v1/search?page=1"); # URL to post to curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); # return into a variable curl_setopt($ch, CURLOPT_HTTPHEADER, $headers ); # custom headers, see above $result = curl_exec( $ch ); # run! curl_close($ch); echo $result; ?> |
Sample Code in Java
Following is the sample test client written in Java language.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | package com.verisign.pendelete.test.api; import java.io.IOException; import org.apache.http.HttpResponse; import org.apache.http.ParseException; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; public class APITestClient { private static final String SEARCH_API_URL = "http://domaincountdown.verisignlabs.com/api/v1/search"; /** * Method to search DomainCountDown Search API for a list of domain names * and keywords using HTTP Get Method * * @param client * @param URL */ private static HttpGet doGetSearch(DefaultHttpClient client, String urlWithQueryParams) { HttpGet getReq = new HttpGet(urlWithQueryParams); // API key getReq.addHeader("X-DOMAINCOUNTDOWN-APIKEY", "XXX"); // desired response format should be either JSON/XML based on your // request getReq.addHeader("Accept", "application/xml"); try { HttpResponse res = client.execute(getReq); String e = EntityUtils.toString(res.getEntity()); if (res.getStatusLine().getStatusCode() == 202) { System.out.println(e); } } catch (ParseException e1) { // handle me } catch (IOException e1) { // handle me } return getReq; } public static void main(String[] args) { DefaultHttpClient client = new DefaultHttpClient(); // search API using GET method doGetSearch(client, SEARCH_API_URL + "?purpose=blog&page=2"); } } |