Request processed successfully.

Table of Contents

General

API

General

Integrate your application with the free DomainScope API featuring domain registry data to inform your domain purchase decisions, daily updated domain drop information and creative discovery tools to find the best available .com and .net domain names

The API provides an HTTP interface to the data behind VERISIGN® DomainScope. More information about DomainScope can be foundhere . All API requests require an API Key and are rate limited.

NOTE: Domain Data/Details API calls for already registered domain names like Verisign.com will NOT return any data except the fact that domain name is unavailable.

API Features

API Keys

Every request requires an API Key.Read the documentation and then create and manage your API key from your profile page.The API Key must be placed in the X-DOMAINSCOPE-APIKEY request header.

Rate Limiting

Rate limits are tied to an API Key. The default rate limit is 20 requests per min. Every response contains 4 headers that describe the current state of the rate limit:

API

DomainScope exposes three APIs to provide programmatic access to its data

  1. Suggestions
  2. Domain Info
  3. Bulk Details

Suggestions API


List of suggestions that correspond to the keyword and optional filters in the request parameters. Properties within each suggestion are listed below.

The specifications for the Suggestions API are as follows:

Request Specifications

Name Description
HTTP Methods Supported GET
Request Headers
  • X-DOMAINSCOPE-APIKEY: Mandatory header containing API key.
  • Accept: Optional header to specify format of response. Possible values are "application/xml" and "application/json". By default JSON will be returned in response.
URL

https://www.domainscope.com/api/1.0/suggest/{sugestion_type}

sugestion_type should be one of the following:

  • namesuggestion: to get suggestions from Name Suggestions
  • nxd: to get suggestions for non-existent domains with traffic
  • pendingdelete: to get suggestions for recently expiring domains

Request Parameters All the criteria for the suggestions are passed using request parameters. The different types of request parameters are listed below.
Suggestion query parameters:
  • keyword: This is the parameter for keyword or keywords that the suggestions will be based on. This is the only mandatory parameter for namesuggestion and nxd but optional for pendingdelete. For more details about the keyword format see the valid search inputs section in the FAQ.
Optional filters
For all Suggestion Types
  • tld: Comma separated list of TLDs to include in the domain name suggestion results. Supported TLDs include com, net, tv and cc.
    For example, the request to limit the suggestions to only .com and .net domains is:
    http://www.domainscope.com/api/1.0/suggest/nxd?keyword=mobile&tld=com,net
  • include_synonyms: true or false depending on whether synonyms of the keywords should be considered as input for retrieving suggestions.
  • include_hyphens: true or false depending on whether the suggestions retrieved should include domain names which include hyphens.
  • include_numbers: true or false depending on whether the suggestions retrieved should include domain names which include numbers or whether they should be alphabets only.
  • include_idn: true or false depending on whether the suggestions retrieved should include internationalized domain names.
  • max_dom_name_len: Maximum domain name length for suggestions retrieved. This should be an integer between 3 and 63.
  • tokenize_keyword: true or false depending on whether input keyword should be split into multiple words where possible. This tokenization will be done using English dictionary. In the absence of this parameter, default value will be considered as false
For Suggestion Type:namesuggestion
  • language: Language of the domain names suggestions retrieved. The possible values are ENG for English, ESP for Spanish, POR for Portuguese, TUR for Turkish, CHI for Simplified Chinese, GER for German andFRE for French.
  • include_geolocation: true or false depending on whether the suggestions retrieved should include your geo location based domain names. This filter uses IPV4 address from where the request is sent, this IP address can be overriden by setting HTTP Header "X-HTTP_CLIENT_IP_V4" in the request with desired IP address.
For Suggestion Type: nxd (Non-Existent Domains)
  • seven_day_score_min: Minimum allowed value for the 7 day DNS Traffic Score. This is a number between 5 and 10.
  • seven_day_score_max: Maximum allowed value for the 7 day DNS Traffic Score. This is a number between 5 and 10.
  • thirty_day_score_min: Minimum allowed value for the 30 day DNS Traffic Score. This is a number between 5 and 10.
  • thirty_day_score_max: Maximum allowed value for the 30 day DNS Traffic Score. This is a number between 5 and 10.
  • sixty_day_score_min: Minimum allowed value for the 60 day DNS Traffic Score. This is a number between 5 and 10.
  • sixty_day_score_max: Maximum allowed value for the 60 day DNS Traffic Score. This is a number between 5 and 10.
  • is_featured: true or false, depending on whether returned results should only contain "featured" domains. If set to true, API will return only "Featured" domain names and if set to false or not present, API will return all types of domain names.
For Suggestion Type: pendingdelete (Recently Expired domains)
  • purpose An indication of how the website hosted on this domain had been used. The possible values are
    • blog for Blog
    • ecommerce for E-Commerce
    • masked_redirect for Masked Redirect
    • redirect for Redirect
    • real_estate for Real Estate
    • online_business for Online Business
    For example, the request to limit the suggestions to domains that previously hosted a website for an online business is:
    http://www.domainscope.com/api/1.0/suggest/nxd?keyword=mobile&purpose=online_business
  • available_in: The minimum number of days this domain will be available in. This should be a number between 1 and 5.
Optional Sorting and paging parameters.
sortBy The filter criteria to sort the suggestions retrieved. This parameter is relevant only for the nxd and pendingdelete Suggestion Types. The possible values for this parameter are as shown below.
For Suggestion Type: nxd (Non-Existent Domains)
  • seven_day_score: The 7 day DNS Traffic Score.
  • domain_name: The domain name suggestion, sorted alphabetically.
  • domain_name_length: The domain name, sorted by length.
For Suggestion Type: pendingdelete (Recently Expired domains)
  • thirty_day_da_score: The 30 day DNS Score.
  • domain_name_length: The domain name, sorted by length.
  • inbound_links: The number of inbound links to this domain name
  • available_in: The number of days in which domain name is going to be available for registration
sortOrder The order in which the results should be sorted. This should be ASC or DESC depending on whether the suggestions should be sorted in ascending or descending order of the sortBy parameter.
pageNumber The page number of the list of suggestions. This usually corresponds to the page number requested for.
pageSize The total number of suggestions in each page of results. This usually corresponds to the page size parameter in the request. The default is 50.

Response Specifications

List of HTTP Status Codes

The response from the server will be accompanied by an appropriate HTTP status code in the response header.

Code Description
401 (UNAUTHORIZED) The request was deemed to be unauthorized. This is likely if the API key is not present in the header as expected, or if the API Key is no longer valid.
429 (TOO MANY REQUESTS) The Rate Limit associated with the API Key in the request header has been exceeded. Subsequent requests with this API key can now be tried after waiting for a minute.
400 (BAD REQUEST) The request is in invalid. Additional information explaining why the request was invalid is present in the errors object in the response body.
500 (INTERNAL SERVER ERROR) There was a problem while responding to your request. More information about the error may be present in the errors object in the response body.
200 (OK) The request is valid and was processed successfully. The response body contains the suggestions requested for.

Format of Response

The response, in either XML or JSON format, will be as follows:

Name Description
errors Description of errors, if any.
result The result of the request for suggestions, based on the parameters passed in. The result object contains the following attributes
pageNumber The page number of the list of suggestions. This usually corresponds to the page number requested for.
pageSize The total number of suggestions in each page of results. This usually corresponds to the page size parameter in the request. The default is 50.
pageCount The total number of pages of suggestions.
Suggestions List of suggestions that correspond to the keyword and optional filters in the request parameters. Properties within each suggestion are listed below.
rating A number corresponding to the rating for this domain name suggestion.
domainName The actual domain name suggested based on the request criteria
availability An indication of the availabiltiy of this domain name for registration. If present, this field contains one of 3 possible values:
  • available_now if the domain name is currently available to be registered.
  • date in the MMM DD YYYY format (e.g. May 17 2013), if the domain name will be available for registration within the next few days.
  • not_available if the domain name is not currently available, and it is not known if it will be availble for registration within the next few days.
totalRecords The total number of records in the results.
attributes Additional attributes depending on the type of suggestion. Not all attributes may be available for all the domains, based on available data.
For Suggestion Type: nxd (Non-Existent Domains)
seven_day_score The 7 day DNS Traffic Score
thirty_day_score The 30 day DNS Traffic Score
sixty_day_score The 60 day DNS Traffic Score
is_featured An indication whether this domain name is a "Featured" domain name.
For Suggestion Type: pendingdelete (Recently Expired domains)
inbound_links The number of inbound links to this domain name.
purpose An indication of how the website hosted on this domain had been used. The possible values are
  • blog for Blog
  • ecommerce for E-Commerce
  • masked_redirect for Masked Redirect
  • redirect for Redirect
  • real_estate for Real Estate
  • online_business for Online Business
  • other for Other
thirty_day_da_score The 30 Day Data Analyzer Score.
monthly_average_popularity_score The monthly average popularity score.
monthly_average_us_based_traffic_percent The monthly average US based traffic share.
monthly_cumulative_traffic_score The monthly cumulative traffic score.
available_date The date when this domain will be available to register.
available_in The number of days in which this domain will be available to register.

Code Samples

Sample PHP Code for Suggestions API

<?php
//PHP5
require "Search.php";


// place your desired Suggestion Type and API in function call below
$search = new Search('namesuggestion','<place your api key here>');

// making search call for single keyword. This will obey rate limit tied to the API key provided.
$search->execute('an*','include_hyphens=true&include_synonyms=false&include_hyphens=false&include_numbers=true',25,50);

// example of making search call for multiple keywords.
$keywords = array('apple','google','android','iphone');
$search->executeKeywordArray($keywords,'include_hyphens=true&include_synonyms=false&include_hyphens=false&include_numbers=true',10,50);

// example of making search calls from keywords in a file
$search->executeFromFile('data.txt','include_hyphens=true&include_synonyms=false&include_hyphens=false&include_numbers=true',2,50);


?>

Sample Java (Spring framework) Code for Suggestions API

package com.verisign.api.client;

import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;

public class SuggestionsApiClient {

	private RestTemplate restTemplate = new RestTemplate();

	public void getSuggestions() {

		String keyHeaderName = "X-DOMAINSCOPE-APIKEY";

		//place API key received from	customer support, if you don't have	api key, contact domainscope@verisign.com
		String keyValue = "api-key";

		ResponseEntity response;

		// modify this url to add required filters as per your need
		String requestUrl = "https://domainscope.com/api/1.0/suggest/nxd?keyword=flower*shop&include_hyphens=true";

		try {
			HttpHeaders requestHeaders = new HttpHeaders();
			requestHeaders.set(keyHeaderName, keyValue);
			requestHeaders.set("Accept", "application/json");

			HttpEntity requestEntity = new HttpEntity(null, requestHeaders);
			response = restTemplate.exchange(requestUrl, HttpMethod.GET, requestEntity, String.class);
			System.out.println(response.getBody());

			// received correct response, parse this response in your favorite
			// XML/Json parser
		} catch (HttpClientErrorException httpError) {
			System.out.println(httpError.getMessage());
			// error thrown by httpclient, handle according to error code, it
			// could be due to bad request or some other error on server side
		} catch (RestClientException e) {
			System.out.println(e.getMessage());
			// handle error
		} catch (Exception e) {
			System.out.println(e.getMessage());
			// handle error
		}
	}
}

Examples

For the following request sent to the server:
http://www.domainscope.com/api/1.0/suggest/nxd?keyword=android&pageNumber=1&pageSize=5
The JSON and XML responses are as follows.

JSON XML
{
    "result": {
        "pageNumber": 1,
        "pageSize": 5,
        "pageCount": 364,
        "suggestions": [{
            "domainName": "androidsoftware.tv",
            "attributes": {
                "seven_day_score": "6.2",
                "thirty_day_score": "4.8",
                "sixty_day_score": "1.8"
            }
        }, {
            "domainName": "sleepingandroid.net",
            "attributes": {
                "seven_day_score": "9.8",
                "thirty_day_score": "9.5",
                "sixty_day_score": "9.7"
            }
        }, {
            "domainName": "suonerieandroid.net",
            "attributes": {
                "seven_day_score": "7.0",
                "thirty_day_score": "6.4",
                "sixty_day_score": "6.1"
            }
        }, {
            "domainName": "armouredandroid.net",
            "attributes": {
                "seven_day_score": "8.3",
                "thirty_day_score": "8.0",
                "sixty_day_score": "7.7"
            }
        }, {
            "domainName": "4gandroidphones.net",
            "attributes": {
                "seven_day_score": "9.9",
                "thirty_day_score": "9.5",
                "sixty_day_score": "9.5"
            }
        }],
        "totalRecords": 1817
    }
}
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <errors />
    <result>
        <pageCount>364</pageCount>
        <pageNumber>1</pageNumber>
        <pageSize>5</pageSize>
        <suggestions>
            <suggestion>
                <rating>0</rating>
                <domainName>androidsoftware.tv</domainName>
                <attributes>
                    <attribute>
                        <name>seven_day_score</name>
                        <value>6.2</value>
                    </attribute>
                    <attribute>
                        <name>thirty_day_score</name>
                        <value>4.8</value>
                    </attribute>
                    <attribute>
                        <name>sixty_day_score</name>
                        <value>1.8</value>
                    </attribute>
                </attributes>
            </suggestion>
            <suggestion>
                <rating>0</rating>
                <domainName>sleepingandroid.net</domainName>
                <attributes>
                    <attribute>
                        <name>seven_day_score</name>
                        <value>9.8</value>
                    </attribute>
                    <attribute>
                        <name>thirty_day_score</name>
                        <value>9.5</value>
                    </attribute>
                    <attribute>
                        <name>sixty_day_score</name>
                        <value>9.7</value>
                    </attribute>
                </attributes>
            </suggestion>
            <suggestion>
                <rating>0</rating>
                <domainName>suonerieandroid.net</domainName>
                <attributes>
                    <attribute>
                        <name>seven_day_score</name>
                        <value>7.0</value>
                    </attribute>
                    <attribute>
                        <name>thirty_day_score</name>
                        <value>6.4</value>
                    </attribute>
                    <attribute>
                        <name>sixty_day_score</name>
                        <value>6.1</value>
                    </attribute>
                </attributes>
            </suggestion>
            <suggestion>
                <rating>0</rating>
                <domainName>armouredandroid.net</domainName>
                <attributes>
                    <attribute>
                        <name>seven_day_score</name>
                        <value>8.3</value>
                    </attribute>
                    <attribute>
                        <name>thirty_day_score</name>
                        <value>8.0</value>
                    </attribute>
                    <attribute>
                        <name>sixty_day_score</name>
                        <value>7.7</value>
                    </attribute>
                </attributes>
            </suggestion>
            <suggestion>
                <rating>0</rating>
                <domainName>4gandroidphones.net</domainName>
                <attributes>
                    <attribute>
                        <name>seven_day_score</name>
                        <value>9.9</value>
                    </attribute>
                    <attribute>
                        <name>thirty_day_score</name>
                        <value>9.5</value>
                    </attribute>
                    <attribute>
                        <name>sixty_day_score</name>
                        <value>9.5</value>
                    </attribute>
                </attributes>
            </suggestion>
        </suggestions>
        <totalRecords>1817</totalRecords>
    </result>
</response>

Details API

The Details API provides a way for developers to query DomainScope for all the details for a particular domain name.

The specifications for the Domain API are as follows:

Request Specifications

Name Description
HTTP Methods Supported GET
Request Headers
  • X-DOMAINSCOPE-APIKEY: Mandatory header containing API key.
  • Accept: Optional header to specify format of response. Possible values are "application/xml" and "application/json". By default JSON will be returned in response.
URL

https://www.domainscope.com/api/1.0/domain/{domain_name}

Response Specifications

List of HTTP Status Codes

The response from the server will be accompanied by an appropriate HTTP status code in the response header. The list of HTTP status codes is the same as the ones returned along with the response of Suggestions discussed earlierhere.

Format of Response

The response, in either XML or JSON format, will be as follows:

Name Description
errors Description of errors, if any.
domainName The domain name whose details are present in this response.
availability An indication of the availabiltiy of this domain name for registration. If present, this field contains one of 3 possible values:
  • available_now if the domain name is currently available to be registered.
  • date in the MMM DD YYYY format (e.g. May 17 2013), if the domain name will be available for registration within the next few days.
  • not_available if the domain name is not currently available, and it is not known if it will be availble for registration within the next few days.
is_featured An indication whether this domain name is a "Featured" domain name.
attributes Attributes available for the domain name. Not all attributes may be available for all domains, based on available data.
inbound_links The number of inbound links to this domain name.
purpose An indication of how the website hosted on this domain had been used. The possible values are
  • blog for Blog
  • ecommerce for E-Commerce
  • masked_redirect for Masked Redirect
  • redirect for Redirect
  • real_estate for Real Estate
  • online_business for Online Business
  • other for Other
thirty_day_da_score A score based on DNS traffic after the domain enters the Redemption Grace Period during the prior 30 days. Possible values: 0=no data found, 1-10 with 10 the highest.
monthly_average_popularity_score The monthly average popularity score.
monthly_average_us_based_traffic_percent The monthly average US based traffic share.
monthly_cumulative_traffic_score The monthly cumulative traffic score.
available_date The date when this domain will be available to register.
available_in The number of days in which this domain will be available to register.
monthly_average_domain_rank The monthly average domain rank.
create_date The date the domain was created.
expiry_date The date the current registration for this domain name expires.
seven_day_da_score A score based on DNS traffic after the domain enters the Redemption Grace Period during the prior 7 days. Possible values: 0=no data found, 1-10 with 10 the highest.
shopping_cart true or false, Indicates whether the website hosted on this domain had a shopping cart enabled.
third_party_checkout true or false, Indicates whether the website hosted on this domain used any third party checkout application separate from the website's shopping cart.
personal_info true or false, Indicates whether the website hosted on this domain collected personal information from users.
ads_detected true or false, Indicates whether advertisements were found on the website hosted on this domain.
redirect_destination The destination used for websites that automatically direct traffic to a separate website. This information is provided only when the Website Type is Redirect or Masked Redirect.
login_detected true or false, Indicates whether or not the website hosted on thid domain had login capabilities.
brand_safety A measure of profanity found on the website. High = no profanity during the last 3 months, Medium = profanity during one of the last 3 months, Low = profanity during more than one of the last 3 months.
website_keywords Terms that best describe the content of the website previously hosted in this domain. The terms are presented as a comma separated list of words.
outbound_links The number of links from this domain linking to other .com and .net domains.
seven_day_score The 7 day DNS Traffic Score
thirty_day_score The 30 day DNS Traffic Score
sixty_day_score The 60 day DNS Traffic Score
geog_breakout Breakout of traffic from different geographic regions. This is presented as a comma separated list of phrases, where each phrase has the following format:
country_code=total_requests:unique_requests
For example, US=2:1,JP=3:2 means that this domain had 2 total and 1 unique requests for the United States, and 3 total and 2 unique requests for Japan.
seven_day_total_req Total number of requests in the past 7 days.
thirty_day_total_req Total number of requests in the past 30 days.
sixty_day_total_req Total number of requests in the past 60 days.
seven_day_unique_req Number of Unique requests in the past 7 days.
thirty_day_unique_req Number of Unique requests in the past 30 days.
sixty_day_unique_req Number of Unique requests in the past 60 days.
seven_day_business_hour_req Number of Requests during business hours in the past 7 days.
thirty_day_business_hour_req Number of Requests during business hours in the past 30 days.
sixty_day_business_hour_req Number of Requests during business hours in the past 60 days.
seven_day_hourly_req Hourly breakdown of the number of requests in the past 7 days. The requests are presented as a comma separated list of numbers, one for each hour.
thirty_day_hourly_req Hourly breakdown of the number of requests in the past 30 days. The requests are presented as a comma separated list of numbers, one for each hour.
sixty_day_hourly_req Hourly breakdown of the number of requests in the past 60 days. The requests are presented as a comma separated list of numbers, one for each hour.
previously_registered true or false, Indicates whether the domain name was previously registered.

Code Samples

Sample PHP Code for Details API

<?php
//PHP5
require "DomainDetails.php";


// place you API key in the constructor and call execute method with desired domain name.
$domainDetails = new DomainDetails('<api key>');
$domainDetails->execute('sample.com');

?>

Sample Java (Spring framework) Code for Details API

package com.verisign.api.client;

import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;

public class DomainDetailsApiClient {

	private RestTemplate restTemplate = new RestTemplate();

	public void getSuggestions() {

		String keyHeaderName = "X-DOMAINSCOPE-APIKEY";

		//place API key received from customer support. If you don't have an api key, contact domainscope@verisign.com
		String keyValue = "api-key";

		ResponseEntity response;

		// modify this url to specifiy domain name for which details are required
		String requestUrl = "https://domainscope.com/api/1.0/domain/somedomain.com";

		try {
			HttpHeaders requestHeaders = new HttpHeaders();
			requestHeaders.set(keyHeaderName, keyValue);
			requestHeaders.set("Accept", "application/json");

			HttpEntity requestEntity = new HttpEntity(null, requestHeaders);

			response = restTemplate.exchange(requestUrl, HttpMethod.GET, requestEntity, String.class);
			System.out.println(response.getBody());

			// received correct response, parse this response in your favorite
			// XML/Json parser
		} catch (HttpClientErrorException httpError) {
			System.out.println(httpError.getMessage());
			// error thrown by httpclient, handle according to error code, it
			// could be due to bad request or some other error on server side
		} catch (RestClientException e) {
			System.out.println(e.getMessage());
			// handle error
		} catch (Exception e) {
			System.out.println(e.getMessage());
			// handle error
		}
	}
}

Examples

For the following request sent to the server:
http://www.domainscope.com/api/1.0/domain/androidsoftware.tv
The JSON and XML responses are as follows.

JSON XML
{
    "result": {
        "domainName": "androidsoftware.tv",
        "attributes": {
            "seven_day_score": "6.2",
            "thirty_day_score": "4.8",
            "sixty_day_score": "1.8",
            "geog_breakout": "US=1:1,CN=4:3,NL=1:1,JP=2:2",
            "seven_day_total_req": "8",
            "thirty_day_total_req": "40",
            "sixty_day_total_req": "40",
            "seven_day_unique_req": "7",
            "thirty_day_unique_req": "18",
            "sixty_day_unique_req": "18",
            "seven_day_business_hour_req": "4",
            "thirty_day_business_hour_req": "27",
            "sixty_day_business_hour_req": "27",
            "seven_day_hourly_req": "1,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3",
            "thirty_day_hourly_req": "1,0,0,6,0,0,8,3,0,3,0,0,6,0,0,0,0,4,0,0,0,4,1,4",
            "sixty_day_hourly_req": "1,0,0,6,0,0,8,3,0,3,0,0,6,0,0,0,0,4,0,0,0,4,1,4"
        },
        "availability": "available_now"
    }
}
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <errors />
    <result>
        <rating>0</rating>
        <domainName>androidsoftware.tv</domainName>
        <attributes>
            <attribute>
                <name>seven_day_score</name>
                <value>6.2</value>
            </attribute>
            <attribute>
                <name>thirty_day_score</name>
                <value>4.8</value>
            </attribute>
            <attribute>
                <name>sixty_day_score</name>
                <value>1.8</value>
            </attribute>
            <attribute>
                <name>geog_breakout</name>
                <value>US=1:1,CN=4:3,NL=1:1,JP=2:2</value>
            </attribute>
            <attribute>
                <name>seven_day_total_req</name>
                <value>8</value>
            </attribute>
            <attribute>
                <name>thirty_day_total_req</name>
                <value>40</value>
            </attribute>
            <attribute>
                <name>sixty_day_total_req</name>
                <value>40</value>
            </attribute>
            <attribute>
                <name>seven_day_unique_req</name>
                <value>7</value>
            </attribute>
            <attribute>
                <name>thirty_day_unique_req</name>
                <value>18</value>
            </attribute>
            <attribute>
                <name>sixty_day_unique_req</name>
                <value>18</value>
            </attribute>
            <attribute>
                <name>seven_day_business_hour_req</name>
                <value>4</value>
            </attribute>
            <attribute>
                <name>thirty_day_business_hour_req</name>
                <value>27</value>
            </attribute>
            <attribute>
                <name>sixty_day_business_hour_req</name>
                <value>27</value>
            </attribute>
            <attribute>
                <name>seven_day_hourly_req</name>
                <value>1,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3</value>
            </attribute>
            <attribute>
                <name>thirty_day_hourly_req</name>
                <value>1,0,0,6,0,0,8,3,0,3,0,0,6,0,0,0,0,4,0,0,0,4,1,4</value>
            </attribute>
            <attribute>
                <name>sixty_day_hourly_req</name>
                <value>1,0,0,6,0,0,8,3,0,3,0,0,6,0,0,0,0,4,0,0,0,4,1,4</value>
            </attribute>
        </attributes>
        <availability>available_now</availability>
    </result>
</response>

Bulk Details API

The Bulk Details API provides a way for developers to query DomainScope for all the details for DNS traffic and recent history up to 100 domain names per request.

Note: Domain name availability check won't be performed for Bulk Details API

The specifications for the Domain API are as follows:

Request Specifications

Name Description
HTTP Methods Supported GET, POST
Request Headers
  • X-DOMAINSCOPE-APIKEY: Mandatory header containing API key.
  • Accept: Optional header to specify format of response. Possible values are "application/xml" and "application/json". By default JSON will be returned in response.
URL

https://www.domainscope.com/api/1.0/domain/details

Request Parameters

domainnames: List of domain names that the details are retrived for. Up to 100 domain names can be sent per request.
Here is an example of how to send the parameter for GET request: http://www.domainscope.com/api/1.0/domain/details?domainnames=distributedjava.net,javafxscripting.net,manvsjavascript.com,learnjavascript.net

Response Specifications

List of HTTP Status Codes

The response from the server will be accompanied by an appropriate HTTP status code in the response header. The list of HTTP status codes is the same as the ones returned along with the response of Suggestions discussed earlierhere.

Format of Response

The response, in either XML or JSON format, will be as follows:

Name Description
errors Description of errors, if any.
results This contains the list of result objects which has details for individual domains. Following are the attributes of the objects returned in this list.
totalRecords Total number of domain names for which data is being returned.
domainNames The domain name whose details are present in this response.
domainNameASCII This represents the punycode of the domain name in case of IDN.
attributes Attributes available for the domain name. Not all attributes may be available for all domains, based on available data.
inbound_links The number of inbound links to this domain name.
purpose An indication of how the website hosted on this domain had been used. The possible values are
  • blog for Blog
  • ecommerce for E-Commerce
  • masked_redirect for Masked Redirect
  • redirect for Redirect
  • real_estate for Real Estate
  • online_business for Online Business
  • other for Other
thirty_day_da_score A score based on DNS traffic after the domain enters the Redemption Grace Period during the prior 30 days. Possible values: 0=no data found, 1-10 with 10 the highest.
monthly_average_popularity_score The monthly average popularity score.
monthly_cumulative_traffic_score The monthly cumulative traffic score.
monthly_average_domain_rank The monthly average domain rank.
create_date The date the domain was created.
expiry_date The date the current registration for this domain name expires.
seven_day_da_score A score based on DNS traffic after the domain enters the Redemption Grace Period during the prior 7 days. Possible values: 0=no data found, 1-10 with 10 the highest.
shopping_cart true or false, Indicates whether the website hosted on this domain had a shopping cart enabled.
third_party_checkout true or false, Indicates whether the website hosted on this domain used any third party checkout application separate from the website's shopping cart.
personal_info true or false, Indicates whether the website hosted on this domain collected personal information from users.
ads_detected true or false, Indicates whether advertisements were found on the website hosted on this domain.
redirect_destination The destination used for websites that automatically direct traffic to a separate website. This information is provided only when the Website Type is Redirect or Masked Redirect.
login_detected true or false, Indicates whether or not the website hosted on thid domain had login capabilities.
brand_safety A measure of profanity found on the website. High = no profanity during the last 3 months, Medium = profanity during one of the last 3 months, Low = profanity during more than one of the last 3 months.
website_keywords Terms that best describe the content of the website previously hosted in this domain. The terms are presented as a comma separated list of words.
outbound_links The number of links from this domain linking to other .com and .net domains.
seven_day_score The 7 day DNS Traffic Score
thirty_day_score The 30 day DNS Traffic Score
sixty_day_score The 60 day DNS Traffic Score
geog_breakout Breakout of traffic from different geographic regions. This is presented as a comma separated list of phrases, where each phrase has the following format:
country_code=total_requests:unique_requests
For example, US=2:1,JP=3:2 means that this domain had 2 total and 1 unique requests for the United States, and 3 total and 2 unique requests for Japan.
seven_day_total_req Total number of requests in the past 7 days.
thirty_day_total_req Total number of requests in the past 30 days.
sixty_day_total_req Total number of requests in the past 60 days.
seven_day_unique_req Number of Unique requests in the past 7 days.
thirty_day_unique_req Number of Unique requests in the past 30 days.
sixty_day_unique_req Number of Unique requests in the past 60 days.
seven_day_business_hour_req Number of Requests during business hours in the past 7 days.
thirty_day_business_hour_req Number of Requests during business hours in the past 30 days.
sixty_day_business_hour_req Number of Requests during business hours in the past 60 days.
seven_day_hourly_req Hourly breakdown of the number of requests in the past 7 days. The requests are presented as a comma separated list of numbers, one for each hour.
thirty_day_hourly_req Hourly breakdown of the number of requests in the past 30 days. The requests are presented as a comma separated list of numbers, one for each hour.
sixty_day_hourly_req Hourly breakdown of the number of requests in the past 60 days. The requests are presented as a comma separated list of numbers, one for each hour.
previously_registered true or false, Indicates whether the domain name was previously registered.

Code Samples

Sample PHP Code for Bulk Details API

<?php
//PHP5
require "DomainDetailsBulk.php";

// place API key in contructor below
$bulkDetails = new DomainDetailsBulk('<api key here>');

// example of making search call for multiple domains
$domains = array('sampledomain.com','sampledomain1.com','sampledomain2.com');
$bulkDetails->execute($domains);

// example of making search calls from domains in a file
$bulkDetails->executeFromFile('domain_data.txt');


?>

Sample Java (Spring framework) Code for Bulk Details API

package com.verisign.api.client;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;

public class BulkDomainDetailsApiClient {

	private RestTemplate restTemplate = new RestTemplate();

	public void getBulkDetails() {

		String keyHeaderName = "X-DOMAINSCOPE-APIKEY";

		//place API key recieved from	customer support, if you don't have	api key, contact domainscope@verisign.com
		String keyValue = "apykey";

		ResponseEntity<String> response;

		// modify this url to add required filters as per your need
		String requestUrl = "http://domainscope.com/api/1.0/domain/details";

		try {
			//Both GET and POST are supported
			MultiValueMap<String, String> postParameters = new LinkedMultiValueMap<String, String>();
			postParameters.add("domainnames", "distributedjava.net,javafxscripting.net,manvsjavascript.com,learnjavascript.net");

			HttpHeaders requestHeaders = new HttpHeaders();
			requestHeaders.set(keyHeaderName, keyValue);
			requestHeaders.set("Accept", "application/json");

			HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<MultiValueMap<String, String>>(postParameters, requestHeaders);

			response = restTemplate.exchange(requestUrl, HttpMethod.POST, requestEntity, String.class);
			System.out.println(response.getBody());

			// recieved correct response, parse this response in your favorite
			// XML/Json parser

		} catch (HttpClientErrorException httpError) {
			System.out.println(httpError.getMessage());

			// error thrown by httpclient, handle according to error code, it
			// could be due to bad request or some other error on server side

		} catch (RestClientException e) {
			System.out.println(e.getMessage());
			// handle error

		} catch (Exception e) {
			System.out.println(e.getMessage());
			// handle error

		}

	}


}

Examples

For the following request sent to the server:
http://www.domainscope.com/api/1.0/domain/details
Here is an example of how to send the parameter for GET request: http://www.domainscope.com/api/1.0/domain/details?domainnames=distributedjava.net,javafxscripting.net,manvsjavascript.com,learnjavascript.net
The JSON and XML responses are as follows.

JSON XML
{
    "errors": ["Invalid domains : distr ibutedjava.net"],
    "results": [{
        "domainName": "购物车.net",
        "attributes": {
            "seven_day_score": "9.3",
            "thirty_day_score": "8.9",
            "sixty_day_score": "7.4",
            "trend": "1.9000001",
            "geog_breakout": "US=29:10,UA=1:1,RU=7:7,CN=13:8",
            "seven_day_total_req": "50",
            "thirty_day_total_req": "136",
            "sixty_day_total_req": "136",
            "seven_day_unique_req": "26",
            "thirty_day_unique_req": "87",
            "sixty_day_unique_req": "87",
            "seven_day_business_hour_req": "23",
            "thirty_day_business_hour_req": "73",
            "sixty_day_business_hour_req": "73",
            "seven_day_hourly_req": "2,2,2,2,5,0,1,2,3,0,2,1,2,0,0,3,9,3,2,1,3,2,2,1",
            "thirty_day_hourly_req": "4,5,6,5,10,4,3,5,6,4,4,5,4,2,2,12,15,7,6,4,8,3,4,8",
            "sixty_day_hourly_req": "4,5,6,5,10,4,3,5,6,4,4,5,4,2,2,12,15,7,6,4,8,3,4,8",
            "idn": "true"
        },
        "domainNameASCII": "xn--g2xx48c2rb.net"
    }, {
        "domainName": "母亲购物商场.com",
        "attributes": {
            "seven_day_score": "7.3",
            "thirty_day_score": "7.3",
            "sixty_day_score": "6.9",
            "trend": "0.4000001",
            "geog_breakout": "CN=62:8",
            "seven_day_total_req": "62",
            "thirty_day_total_req": "208",
            "sixty_day_total_req": "238",
            "seven_day_unique_req": "8",
            "thirty_day_unique_req": "35",
            "sixty_day_unique_req": "50",
            "seven_day_business_hour_req": "31",
            "thirty_day_business_hour_req": "92",
            "sixty_day_business_hour_req": "103",
            "seven_day_hourly_req": "0,0,0,0,0,2,0,9,16,4,0,0,0,0,12,0,0,15,2,2,0,0,0,0",
            "thirty_day_hourly_req": "4,0,4,7,8,7,3,9,19,7,11,1,13,6,29,12,4,25,8,6,2,3,8,12",
            "sixty_day_hourly_req": "5,0,4,7,8,7,5,9,21,7,16,4,15,8,32,16,5,26,8,6,2,5,8,14",
            "idn": "true"
        },
        "domainNameASCII": "xn--7lq33n4tb452b0rhv05b.com"
    }, {
        "domainName": "javafxscripting.net",
        "attributes": {
            "seven_day_score": "6.1",
            "thirty_day_score": "5.5",
            "sixty_day_score": "5.6",
            "trend": "0.5",
            "geog_breakout": "US=10:4,CN=3:2",
            "seven_day_total_req": "13",
            "thirty_day_total_req": "45",
            "sixty_day_total_req": "69",
            "seven_day_unique_req": "6",
            "thirty_day_unique_req": "18",
            "sixty_day_unique_req": "30",
            "seven_day_business_hour_req": "12",
            "thirty_day_business_hour_req": "27",
            "sixty_day_business_hour_req": "38",
            "seven_day_hourly_req": "2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,3,1,2,0,0,1,1",
            "thirty_day_hourly_req": "4,1,3,1,1,1,1,1,3,1,0,3,3,1,1,3,3,5,1,3,0,1,2,2",
            "sixty_day_hourly_req": "5,2,6,1,1,1,1,2,3,2,0,4,4,3,2,5,4,8,1,4,1,1,3,5",
            "idn": "false"
        },
        "domainNameASCII": "javafxscripting.net"
    }],
    "totalRecords": 3
}
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <errors>
        <error>Invalid domains : distr ibutedjava.net</error>
    </errors>
    <results>
        <result>
            <domainName>购物车.net</domainName>
            <attributes>
                <attribute>
                    <name>seven_day_score</name>
                    <value>9.3</value>
                </attribute>
                <attribute>
                    <name>thirty_day_score</name>
                    <value>8.9</value>
                </attribute>
                <attribute>
                    <name>sixty_day_score</name>
                    <value>7.4</value>
                </attribute>
                <attribute>
                    <name>trend</name>
                    <value>1.9000001</value>
                </attribute>
                <attribute>
                    <name>geog_breakout</name>
                    <value>US=29:10,UA=1:1,RU=7:7,CN=13:8</value>
                </attribute>
                <attribute>
                    <name>seven_day_total_req</name>
                    <value>50</value>
                </attribute>
                <attribute>
                    <name>thirty_day_total_req</name>
                    <value>136</value>
                </attribute>
                <attribute>
                    <name>sixty_day_total_req</name>
                    <value>136</value>
                </attribute>
                <attribute>
                    <name>seven_day_unique_req</name>
                    <value>26</value>
                </attribute>
                <attribute>
                    <name>thirty_day_unique_req</name>
                    <value>87</value>
                </attribute>
                <attribute>
                    <name>sixty_day_unique_req</name>
                    <value>87</value>
                </attribute>
                <attribute>
                    <name>seven_day_business_hour_req</name>
                    <value>23</value>
                </attribute>
                <attribute>
                    <name>thirty_day_business_hour_req</name>
                    <value>73</value>
                </attribute>
                <attribute>
                    <name>sixty_day_business_hour_req</name>
                    <value>73</value>
                </attribute>
                <attribute>
                    <name>seven_day_hourly_req</name>
                    <value>2,2,2,2,5,0,1,2,3,0,2,1,2,0,0,3,9,3,2,1,3,2,2,1</value>
                </attribute>
                <attribute>
                    <name>thirty_day_hourly_req</name>
                    <value>4,5,6,5,10,4,3,5,6,4,4,5,4,2,2,12,15,7,6,4,8,3,4,8</value>
                </attribute>
                <attribute>
                    <name>sixty_day_hourly_req</name>
                    <value>4,5,6,5,10,4,3,5,6,4,4,5,4,2,2,12,15,7,6,4,8,3,4,8</value>
                </attribute>
                <attribute>
                    <name>idn</name>
                    <value>true</value>
                </attribute>
            </attributes>
        </result>
        <result>
            <domainName>母亲购物商场.com</domainName>
            <attributes>
                <attribute>
                    <name>seven_day_score</name>
                    <value>7.3</value>
                </attribute>
                <attribute>
                    <name>thirty_day_score</name>
                    <value>7.3</value>
                </attribute>
                <attribute>
                    <name>sixty_day_score</name>
                    <value>6.9</value>
                </attribute>
                <attribute>
                    <name>trend</name>
                    <value>0.4000001</value>
                </attribute>
                <attribute>
                    <name>geog_breakout</name>
                    <value>CN=62:8</value>
                </attribute>
                <attribute>
                    <name>seven_day_total_req</name>
                    <value>62</value>
                </attribute>
                <attribute>
                    <name>thirty_day_total_req</name>
                    <value>208</value>
                </attribute>
                <attribute>
                    <name>sixty_day_total_req</name>
                    <value>238</value>
                </attribute>
                <attribute>
                    <name>seven_day_unique_req</name>
                    <value>8</value>
                </attribute>
                <attribute>
                    <name>thirty_day_unique_req</name>
                    <value>35</value>
                </attribute>
                <attribute>
                    <name>sixty_day_unique_req</name>
                    <value>50</value>
                </attribute>
                <attribute>
                    <name>seven_day_business_hour_req</name>
                    <value>31</value>
                </attribute>
                <attribute>
                    <name>thirty_day_business_hour_req</name>
                    <value>92</value>
                </attribute>
                <attribute>
                    <name>sixty_day_business_hour_req</name>
                    <value>103</value>
                </attribute>
                <attribute>
                    <name>seven_day_hourly_req</name>
                    <value>0,0,0,0,0,2,0,9,16,4,0,0,0,0,12,0,0,15,2,2,0,0,0,0</value>
                </attribute>
                <attribute>
                    <name>thirty_day_hourly_req</name>
                    <value>4,0,4,7,8,7,3,9,19,7,11,1,13,6,29,12,4,25,8,6,2,3,8,12</value>
                </attribute>
                <attribute>
                    <name>sixty_day_hourly_req</name>
                    <value>5,0,4,7,8,7,5,9,21,7,16,4,15,8,32,16,5,26,8,6,2,5,8,14</value>
                </attribute>
                <attribute>
                    <name>idn</name>
                    <value>true</value>
                </attribute>
            </attributes>
        </result>
        <result>
            <domainName>javafxscripting.net</domainName>
            <attributes>
                <attribute>
                    <name>seven_day_score</name>
                    <value>6.1</value>
                </attribute>
                <attribute>
                    <name>thirty_day_score</name>
                    <value>5.5</value>
                </attribute>
                <attribute>
                    <name>sixty_day_score</name>
                    <value>5.6</value>
                </attribute>
                <attribute>
                    <name>trend</name>
                    <value>0.5</value>
                </attribute>
                <attribute>
                    <name>geog_breakout</name>
                    <value>US=10:4,CN=3:2</value>
                </attribute>
                <attribute>
                    <name>seven_day_total_req</name>
                    <value>13</value>
                </attribute>
                <attribute>
                    <name>thirty_day_total_req</name>
                    <value>45</value>
                </attribute>
                <attribute>
                    <name>sixty_day_total_req</name>
                    <value>69</value>
                </attribute>
                <attribute>
                    <name>seven_day_unique_req</name>
                    <value>6</value>
                </attribute>
                <attribute>
                    <name>thirty_day_unique_req</name>
                    <value>18</value>
                </attribute>
                <attribute>
                    <name>sixty_day_unique_req</name>
                    <value>30</value>
                </attribute>
                <attribute>
                    <name>seven_day_business_hour_req</name>
                    <value>12</value>
                </attribute>
                <attribute>
                    <name>thirty_day_business_hour_req</name>
                    <value>27</value>
                </attribute>
                <attribute>
                    <name>sixty_day_business_hour_req</name>
                    <value>38</value>
                </attribute>
                <attribute>
                    <name>seven_day_hourly_req</name>
                    <value>2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,3,1,2,0,0,1,1</value>
                </attribute>
                <attribute>
                    <name>thirty_day_hourly_req</name>
                    <value>4,1,3,1,1,1,1,1,3,1,0,3,3,1,1,3,3,5,1,3,0,1,2,2</value>
                </attribute>
                <attribute>
                    <name>sixty_day_hourly_req</name>
                    <value>5,2,6,1,1,1,1,2,3,2,0,4,4,3,2,5,4,8,1,4,1,1,3,5</value>
                </attribute>
                <attribute>
                    <name>idn</name>
                    <value>false</value>
                </attribute>
            </attributes>
        </result>
    </results>
    <totalRecords>3</totalRecords>
</response>
.
Loading...