Domain Whois Overview


This endpoint will provide you with Whois data enriched with backlink stats, and ranking and traffic info from organic and paid search results. Using this endpoint you will be able to get all these data for the domains matching the parameters you specify in the request.

Instead of ‘login’ and ‘password’ use your credentials from https://app.dataforseo.com/api-access

checked POST
Pricing

Your account will be charged for each request.
The cost can be calculated on the Pricing page.

All POST data should be sent in the JSON format (UTF-8 encoding). The task setting is done using the POST method. When setting a task, you should send all task parameters in the task array of the generic POST array. You can send up to 2000 API calls per minute.

You can specify the number of results you want to retrieve, set filters and indicate sorting parameters.

Below you will find a detailed description of the fields you can use for setting a task.

Description of the fields for setting a task:

Field nameTypeDescription
limitinteger

the maximum number of returned domains
optional field
default value: 100
maximum value: 1000

offsetinteger

offset in the results array of returned items
optional field
default value: 0
if you specify the 10 value, the first ten items in the results array will be omitted and the data will be provided for the successive items;
Note: we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the offset_token instead

offset_tokenstring

token for subsequent requests
optional field
provided in the identical filed of the response to each request;
use this parameter to avoid timeouts while trying to obtain over 100,000 results in a single request;
by specifying the unique offset_token value from the response array, you will get the subsequent results of the initial task;
offset_token values are unique for each subsequent task
Note: if the offset_token is specified in the request, all other parameters should be identical to the previous request
learn more about this parameter on our Help Center

filtersarray

array of results filtering parameters
optional field
you can add several filters at once (8 filters maximum)
you should set a logical operator and, or between the conditions
the following operators are supported:
regex, <, <=, >, >=, =, <>, in, not_in, like, not_like
you can use the % operator with like and not_like to match any string of zero or more characters

order_byarray

results sorting rules
optional field
you can use the same values as in the filters array to sort the results
possible sorting types:
asc - results will be sorted in the ascending order
desc - results will be sorted in the descending order
the comma is used as a separator
example:
["metrics.organic.pos_1,desc"]
default rule:
["metrics.organic.count,desc"]
note that you can set no more than three sorting rules in a single request
you should use a comma to separate several sorting rules
example:
["expiration_datetime,asc","metrics.organic.etv,desc","metrics.organic.pos_1,desc"]

tagstring

user-defined task identifier
optional field
the character limit is 255
you can use this parameter to identify the task and match it with the result
you will find the specified tag value in the data object of the response


As a response of the API server, you will receive JSON-encoded data containing a tasks array with the information specific to the set tasks.

Description of the fields in the results array:

Field nameTypeDescription
versionstring

the current version of the API

status_codeinteger

general status code
you can find the full list of the response codes here
Note: we strongly recommend designing a necessary system for handling related exceptional or error conditions

status_messagestring

general informational message
you can find the full list of general informational messages here

timestring

execution time, seconds

costfloat

total tasks cost, USD

tasks_countinteger

the number of tasks in the tasks array

tasks_errorinteger

the number of tasks in the tasks array returned with an error

tasksarray

array of tasks

    idstring

task identifier
unique task identifier in our system in the UUID format

    status_codeinteger

status code of the task
generated by DataForSEO; can be within the following range: 10000-60000
you can find the full list of the response codes here

    status_messagestring

informational message of the task
you can find the full list of general informational messages here

    timestring

execution time, seconds

    costfloat

cost of the task, USD

    result_countinteger

number of elements in the result array

    patharray

URL path

    dataobject

contains the same parameters that you specified in the POST request

    resultarray

array of results

        total_countinteger

total amount of results in our database relevant to your request

        items_countinteger

the number of results returned in the items array

        offsetinteger

results offset value specified in POST request

        offset_tokenobject

token for subsequent requests
by specifying the unique offset_token when setting a new task, you will get the subsequent results of the initial task;
offset_token values are unique for each subsequent task

        itemsarray

contains ranking and traffic data

            domainstring

domain name

            created_datetimestring

date and time of registration
date and time (in the ISO 8601 format) when the domain was first registered
example:
"1997-03-29 03:00:00 +00:00"

            changed_datetimestring

date and time when the domain entry was changed
date and time (in the ISO 8601 format) when the domain entry was last modified
example:
"2021-01-14 08:36:28 +00:00"

            expiration_datetimestring

date and time when the domain will expire
date and time (in the ISO 8601 format) when the domain is due to expire
example:
"2022-11-26 17:21:23 +00:00"

            updated_datetimestring

date and time when the domain was updated
date and time (in the ISO 8601 format) when the domain was last updated
example:
"2021-01-29 13:59:38 +00:00"

            first_seenstring

date and time when our crawler found the domain for the first time
in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”
example:
"2019-11-15 12:57:46 +00:00"

            epp_status_codesarray

extensive provisioning protocol status codes
the status of a domain name registration as defined by ICANN

            tldstring

top-level domain
top-level domain in the DNS root zone

            registeredboolean

domain registration status
if false, the domain name registration has expired
Note: expired domains will remain in the database for only a short period of time

            registrarstring

domain registrar
if null, the domain registrar is unknown
example:
NameCheap, Inc.

            metricsobject

ranking data relevant to the specified domain

                organicobject

ranking and traffic data from organic search

                    pos_1integer

number of organic SERPs where the domain ranks #1

                    pos_2_3integer

number of organic SERPs where the domain ranks #2-3

                    pos_4_10integer

number of organic SERPs where the domain ranks #4-10

                    pos_11_20integer

number of organic SERPs where the domain ranks #11-20

                    pos_21_30integer

number of organic SERPs where the domain ranks #21-30

                    pos_31_40integer

number of organic SERPs where the domain ranks #31-40

                    pos_41_50integer

number of organic SERPs where the domain ranks #41-50

                    pos_51_60integer

number of organic SERPs where the domain ranks #51-60

                    pos_61_70integer

number of organic SERPs where the domain ranks #61-70

                    pos_71_80integer

number of organic SERPs where the domain ranks #71-80

                    pos_81_90integer

number of organic SERPs where the domain ranks #81-90

                    pos_91_100integer

number of organic SERPs where the domain ranks #91-100

                    etvfloat

estimated traffic volume
estimated organic monthly traffic to the domain
calculated as the product of CTR (click-through-rate) and search volume values of all keywords the domain ranks for
learn more about how the metric is calculated in this help center article

                    countinteger

total count of organic SERPs that contain the domain

                    estimated_paid_traffic_costfloat

estimated cost of converting organic search traffic into paid
represents the estimated monthly cost of running ads (USD) for all keywords a domain ranks for
the metric is calculated as the product of organic etv and paid cpc values and indicates the cost of driving the estimated volume of monthly organic traffic through PPC advertising in Google Search
learn more about how the metric is calculated in this help center article

                paidobject

ranking and traffic data from paid search

                    pos_1integer

number of paid SERPs where the domain ranks #1

                    pos_2_3integer

number of paid SERPs where the domain ranks #2-3

                    pos_4_10integer

number of paid SERPs where the domain ranks #4-10

                    pos_11_20integer

number of paid SERPs where the domain ranks #11-20

                    pos_21_30integer

number of paid SERPs where the domain ranks #21-30

                    pos_31_40integer

number of paid SERPs where the domain ranks #31-40

                    pos_41_50integer

number of paid SERPs where the domain ranks #41-50

                    pos_51_60integer

number of paid SERPs where the domain ranks #51-60

                    pos_61_70integer

number of paid SERPs where the domain ranks #61-70

                    pos_71_80integer

number of paid SERPs where the domain ranks #71-80

                    pos_81_90integer

number of paid SERPs where the domain ranks #81-90

                    pos_91_100integer

number of paid SERPs where the domain ranks #91-100

                    etvfloat

estimated traffic volume
estimated paid monthly traffic to the domain
calculated as the product of CTR (click-through-rate) and search volume values of all keywords the domain ranks for
learn more about how the metric is calculated in this help center article

                    countinteger

total count of paid SERPs that contain the domain

                    estimated_paid_traffic_costfloat

estimated cost of monthly search traffic
represents the estimated cost of paid monthly traffic (USD) based on etv and cpc values
learn more about how the metric is calculated in this help center article

            backlinks_infoobject

backlink data for the returned domain

                referring_domainsinteger

number of referring domains

                referring_main_domainsinteger

number of referring main domains

                referring_pagesinteger

number of referring pages

                dofollowinteger

number of dofollow links

                backlinksinteger

total number of backlinks
the total number of backlinks, including dofollow and nofollow links

                time_updatestring

date and time when backlink data was updated
in the UTC format: "yyyy-mm-dd hh-mm-ss +00:00"
example:
2019-11-15 12:57:46 +00:00


‌‌

Instead of ‘login’ and ‘password’ use your credentials from https://app.dataforseo.com/api-access

# Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access 
login="login" 
password="password" 
cred="$(printf ${login}:${password} | base64)" 
curl --location --request POST "https://api.dataforseo.com/v3/domain_analytics/whois/overview/live" 
--header "Authorization: Basic ${cred}"  
--header "Content-Type: application/json" 
--data-raw '[
    {
        "limit": 2,
        "filters": [
            [
                "epp_status_codes",
                "in",
                [
                    "client_transfer_prohibited",
                    "client_update_prohibited"
                ]
            ]
        ]
    }
]'
<?php
// You can download this file from here https://cdn.dataforseo.com/v3/examples/php/php_RestClient.zip
require('RestClient.php');
$api_url = 'https://api.dataforseo.com/';
// Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
$client = new RestClient($api_url, null, 'login', 'password');

$post_array = array();
// simple way to set a task
$post_array[] = array(
	"limit" => 10,
	"filters" => [
		["domain", "like", "%seo%"],
		"and",
		["metrics.organic.pos_1", ">", 200]
	],
	"order_by" => ["metrics.organic.pos_1,desc"]

);
try {
	// POST /v3/domain_analytics/whois/overview/live
	$result = $client->post('/v3/domain_analytics/whois/overview/live', $post_array);
	print_r($result);
	// do something with post result
} catch (RestClientException $e) {
	echo "n";
	print "HTTP code: {$e->getHttpCode()}n";
	print "Error code: {$e->getCode()}n";
	print "Message: {$e->getMessage()}n";
	print  $e->getTraceAsString();
	echo "n";
}
$client = null;
?>
const post_array = [];

post_array.push({
  "limit": 10,
  "filters": [
    ["domain", "like", "%seo%"],
    "and",
    ["metrics.organic.pos_1", ">", 200]
  ],
  "order_by": ["metrics.organic.pos_1,desc"]
});

const axios = require('axios');

axios({
  method: 'post',
  url: 'https://api.dataforseo.com/v3/domain_analytics/whois/overview/live',
  auth: {
    username: 'login',
    password: 'password'
  },
  data: post_array,
  headers: {
    'content-type': 'application/json'
  }
}).then(function (response) {
  var result = response['data']['tasks'];
  // Result data
  console.log(result);
}).catch(function (error) {
  console.log(error);
});
from client import RestClient
# You can download this file from here https://cdn.dataforseo.com/v3/examples/python/python_Client.zip
client = RestClient("login", "password")
post_data = dict()
# simple way to set a task
post_data[len(post_data)] = dict(
    limit=10,
    filters=[
        ["domain", "like", "%seo%"],
        "and",
        ["metrics.organic.pos_1", ">", 200]
    ],
    order_by = ["metrics.organic.pos_1,desc"]
)
# POST /v3/domain_analytics/whois/overview/live
response = client.post("/v3/domain_analytics/whois/overview/live", post_data)
# you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
if response["status_code"] == 20000:
    print(response)
    # do something with result
else:
    print("error. Code: %d Message: %s" % (response["status_code"], response["status_message"]))
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;

namespace DataForSeoDemos
{
    public static partial class Demos
    {
        public static async Task dataforseo_labs_google_competitors_domain_live()
        {
            var httpClient = new HttpClient
            {
                BaseAddress = new Uri("https://api.dataforseo.com/"),
                // Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
                DefaultRequestHeaders = { Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes("login:password"))) }
            };
            var postData = new List<object>();
            postData.Add(new
            {
                limit = 10,
                filters = new object[]
                {
                    new object[] { "domain", "like", "%seo%" },
                    "and",
                    new object[] { "metrics.organic.pos_1", ">", 200 }
                },
                order_by = new object[] { "metrics.organic.pos_1,desc" }
            });
            // POST /v3/domain_analytics/whois/overview/live
            // the full list of possible parameters is available in documentation
            var taskPostResponse = await httpClient.PostAsync("/v3/domain_analytics/whois/overview/live", new StringContent(JsonConvert.SerializeObject(postData)));
            var result = JsonConvert.DeserializeObject<dynamic>(await taskPostResponse.Content.ReadAsStringAsync());
            // you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
            if (result.status_code == 20000)
            {
                // do something with result
                Console.WriteLine(result);
            }
            else
                Console.WriteLine($"error. Code: {result.status_code} Message: {result.status_message}");
        }
    }
}

The above command returns JSON structured like this:

{
    "version": "0.1.20260327",
    "status_code": 20000,
    "status_message": "Ok.",
    "time": "10.8848 sec.",
    "cost": 0.102,
    "tasks_count": 1,
    "tasks_error": 0,
    "tasks": [
        {
            "id": "04061632-1535-0481-0000-7454232ef986",
            "status_code": 20000,
            "status_message": "Ok.",
            "time": "10.8249 sec.",
            "cost": 0.102,
            "result_count": 1,
            "path": [
                "v3",
                "domain_analytics",
                "whois",
                "overview",
                "live"
            ],
            "data": {
                "api": "domain_analytics",
                "function": "overview",
                "se": "whois",
                "limit": 2,
                "filters": [
                    [
                        "epp_status_codes",
                        "in",
                        [
                            "client_transfer_prohibited",
                            "client_update_prohibited"
                        ]
                    ]
                ]
            },
            "result": [
                {
                    "total_count": 131036623,
                    "items_count": 2,
                    "offset": 0,
                    "offset_token": "eyJDdXJyZW50T2Zmc2V0IjoyLCJSZXF1ZXN0RGF0YSI6eyJzZWFyY2hfYWZ0ZXJfdG9rZW4iOm51bGwsImxhbmd1YWdlIjpudWxsLCJzZWFyY2hfZW5naW5lIjoiZ29vZ2xlIiwibG9jYXRpb24iOm51bGwsInVzZV9uZXdfY2F0ZWdvcmllcyI6dHJ1ZSwib3JkZXJfYnkiOnsib3JkZXJfZmllbGQiOiJtZXRyaWNzLm9yZ2FuaWMuY291bnQiLCJvcmRlcl90eXBlIjoiRGVzYyIsIm5leHQiOm51bGx9LCJsaW1pdCI6Miwib2Zmc2V0IjowLCJhaWQiOjE1MzUsInVzZV9jYWNoZSI6dHJ1ZSwidGFza19pZCI6IjA0MDYxNjMyLTE1MzUtMDQ4MS0wMDAwLTc0NTQyMzJlZjk4NiIsImZsYWdzIjpudWxsfSwiUmF3UXVlcnkiOnsiZmllbGQiOiJwYXJzZWRfc3RhdHVzZXMiLCJ0eXBlIjoiaW4iLCJ2YWx1ZSI6WyJjbGllbnRfdHJhbnNmZXJfcHJvaGliaXRlZCIsImNsaWVudF91cGRhdGVfcHJvaGliaXRlZCJdfSwiSWQiOiIxZmFhOTQ3OC02Y2RiLTRkOTgtOWQzYi1mZmFjMzgyYTgzZjQiLCJTZWFyY2hBZnRlckRhdGEiOlszOTg3NTIzNTAuMCwiNzhlYzQzMjMtNGNhMC1hOTZlLWQ4MDgtMDYzNDVkMzFmZDc4Il0sIkV4ZWN1dG9yIjoyNzA5NjI3NDY1OTc5MzczNDkwfQ==",
                    "items": [
                        {
                            "domain": "youtube.com",
                            "created_datetime": "2005-02-15 03:13:12 +00:00",
                            "changed_datetime": "2026-01-14 08:29:14 +00:00",
                            "expiration_datetime": "2027-02-15 03:13:12 +00:00",
                            "updated_datetime": "2026-02-10 04:45:47 +00:00",
                            "first_seen": "2020-10-06 21:00:00 +00:00",
                            "epp_status_codes": [
                                "client_delete_prohibited",
                                "client_transfer_prohibited",
                                "client_update_prohibited",
                                "server_delete_prohibited",
                                "server_transfer_prohibited",
                                "server_update_prohibited"
                            ],
                            "tld": "com",
                            "registered": true,
                            "registrar": "MarkMonitor Inc.",
                            "metrics": {
                                "organic": {
                                    "pos_1": 14846707,
                                    "pos_2_3": 19552816,
                                    "pos_4_10": 106681794,
                                    "pos_11_20": 138312433,
                                    "pos_21_30": 82907142,
                                    "pos_31_40": 44293544,
                                    "pos_41_50": 23471005,
                                    "pos_51_60": 12764235,
                                    "pos_61_70": 7289769,
                                    "pos_71_80": 4446429,
                                    "pos_81_90": 2834310,
                                    "pos_91_100": 1447607,
                                    "etv": 15370164717.398664,
                                    "count": 458847791,
                                    "estimated_paid_traffic_cost": 9947921864.140717
                                },
                                "paid": {
                                    "pos_1": 51,
                                    "pos_2_3": 4,
                                    "pos_4_10": 1,
                                    "pos_11_20": 0,
                                    "pos_21_30": 0,
                                    "pos_31_40": 0,
                                    "pos_41_50": 0,
                                    "pos_51_60": 0,
                                    "pos_61_70": 0,
                                    "pos_71_80": 0,
                                    "pos_81_90": 0,
                                    "pos_91_100": 0,
                                    "etv": 461009.10263210535,
                                    "count": 56,
                                    "estimated_paid_traffic_cost": 8890.541761744767
                                }
                            },
                            "backlinks_info": {
                                "referring_domains": 20775079,
                                "referring_main_domains": 15508091,
                                "referring_pages": 26854913222,
                                "dofollow": 23047187966,
                                "backlinks": 36153043000,
                                "time_update": "2026-03-20 00:46:21 +00:00"
                            }
                        },
                        {
                            "domain": "facebook.com",
                            "created_datetime": "1997-03-29 03:00:00 +00:00",
                            "changed_datetime": "2020-03-10 16:53:59 +00:00",
                            "expiration_datetime": "2028-03-30 01:00:00 +00:00",
                            "updated_datetime": "2021-06-11 16:57:33 +00:00",
                            "first_seen": "2020-10-06 21:00:00 +00:00",
                            "epp_status_codes": [
                                "client_delete_prohibited",
                                "client_transfer_prohibited",
                                "client_update_prohibited",
                                "server_delete_prohibited",
                                "server_transfer_prohibited",
                                "server_update_prohibited"
                            ],
                            "tld": "com",
                            "registered": true,
                            "registrar": null,
                            "metrics": {
                                "organic": {
                                    "pos_1": 8110835,
                                    "pos_2_3": 38399739,
                                    "pos_4_10": 113875984,
                                    "pos_11_20": 77274410,
                                    "pos_21_30": 50588781,
                                    "pos_31_40": 35459009,
                                    "pos_41_50": 24597152,
                                    "pos_51_60": 17605929,
                                    "pos_61_70": 12843898,
                                    "pos_71_80": 9390813,
                                    "pos_81_90": 6893761,
                                    "pos_91_100": 3712026,
                                    "etv": 12907263277.442297,
                                    "count": 398752337,
                                    "estimated_paid_traffic_cost": 10807286334.484005
                                },
                                "paid": {
                                    "pos_1": 1695,
                                    "pos_2_3": 109,
                                    "pos_4_10": 25,
                                    "pos_11_20": 1,
                                    "pos_21_30": 1,
                                    "pos_31_40": 0,
                                    "pos_41_50": 0,
                                    "pos_51_60": 0,
                                    "pos_61_70": 0,
                                    "pos_71_80": 0,
                                    "pos_81_90": 0,
                                    "pos_91_100": 0,
                                    "etv": 458496.5912024081,
                                    "count": 1831,
                                    "estimated_paid_traffic_cost": 1079915.6122864299
                                }
                            },
                            "backlinks_info": {
                                "referring_domains": 39768060,
                                "referring_main_domains": 30300262,
                                "referring_pages": 56477948556,
                                "dofollow": 46777568316,
                                "backlinks": 74973720695,
                                "time_update": "2026-03-18 06:31:50 +00:00"
                            }
                        }
                    ]
                }
            ]
        }
    ]
}