Competitors in Organic Search (competitors)
competitors — method returns the list of competitors for domain or keyword in top 20 Google search results.
Metrics | Description |
result | Encapsulates the answer |
domain | Domain |
visible | Domain's visibility |
keywords | The number of keywords found in the chosen search engine |
traff | Approximate organic traffic prognosis |
visible_dynamic | Change in visibility since the last upgrade |
keywords_dynamic | Change in the number of keywords over the last N-time |
traff_dynamic | Traffic change over the last N-time (in comparison with ""prev_date"" ) |
ads_dynamic | Change in the number of keywords used in PPC Ads |
new_keywords | The number of acquired keywords for the domain over the last N-days |
out_keywords | Number of keywords lost by a domain over the last N-days |
rised_keywords | Number of domain's keywords which positions have improved over the last N-days |
down_keywords | Number of domain's keywords which positions have dropped over the last N-days |
ad_keywords | Number of keywords used by domain in PPC Ads |
ads | Number of Ads as of |
intersected | Keywords domains have in common |
relevance | Domain's relevancy to the keyword |
status_msg | Response "OK" or "Error" report on a successful or unsuccessful request |
status_code | Response code "200" — successful request. Errors occur when limits are exceeded (number of simultaneous requests or account limits) |
left_lines | Number of remaining API queries |
Part of the API response, for which 1 limit is charged:
{
"domain": "kicksusa.com",
"visible": 10.99955,
"keywords": 300529,
"traff": 4565959,
"visible_dynamic": -1.14701,
"keywords_dynamic": -256,
"traff_dynamic": -1043552,
"ads_dynamic": 0,
"new_keywords": 3644,
"out_keywords": 3900,
"rised_keywords": 3914,
"down_keywords": 5986,
"ad_keywords": 1,
"ads": 1,
"intersected": 209719,
"not_intersected": 90810,
"relevance": 69.78,
"new_relevance": 8.99,
"our_relevance": 9.36
}
Domain's competitors:
api.serpstat.com/v3/competitors?query=example.com&token=XXX&se=XXX
Keyword's competitors:
api.serpstat.com/v3/competitors?query=example&token=XXX&se=XXX
{
"result": [
{
"domain": "nike.com",
"visible": 222.73664,
"keywords": 2241695,
"traff": 186806239,
"visible_dynamic": 0,
"keywords_dynamic": 0,
"traff_dynamic": 0,
"ads_dynamic": 0,
"new_keywords": 220163,
"out_keywords": 56190,
"rised_keywords": 44456,
"down_keywords": 66590,
"ad_keywords": 4704,
"ads": 3546,
"prev_date": null,
"intersected": 2241695,
"relevance": 100,
"new_relevance": 100,
"our_relevance": 100
},
{
"domain": "kicksusa.com",
"visible": 10.99955,
"keywords": 300529,
"traff": 4565959,
"visible_dynamic": -1.14701,
"keywords_dynamic": -256,
"traff_dynamic": -1043552,
"ads_dynamic": 0,
"new_keywords": 3644,
"out_keywords": 3900,
"rised_keywords": 3914,
"down_keywords": 5986,
"ad_keywords": 1,
"ads": 1,
"intersected": 209719,
"not_intersected": 90810,
"relevance": 69.78,
"new_relevance": 8.99,
"our_relevance": 9.36
}
],
"status_msg": "OK",
"status_code": 200,
"left_lines": 947652
}
<?php
// This example works on serpstat-sdk only
// https://github.com/SerpstatGlobal/serpstat-sdk
require_once __DIR__ . '/../vendor/autoload.php';
// configure your application
$config = [
'token' => '19666fc1ae1724da1d5ea2f3a99d5f5a',
];
$domain = 'example.com';
// init client with your serpstat api token
$apiClient = new \Serpstat\Sdk\Core\ApiGuzzleHttpClient($config['token']);
// create instance of any api method class
// list of methods classes in folder src\Methods
$apiMethod = new \Serpstat\Sdk\Methods\CompetitorsMethod(
$domain,
\Serpstat\Sdk\Interfaces\IApiClient::SE_GOOGLE_RU
);
try {
// try call api method
$response = $apiClient->call($apiMethod);
} catch (\Exception $e) {
// catch api error
$response = $e->getMessage();
}
import codecs
import json
import pprint
import urllib.request as urlrequest
from urllib.parse import urlencode
host = 'http://api.serpstat.com/v3'
method = 'competitors'
params = {
'query': 'example.com', # string for get info
'se': 'g_us', # string search engine
'token': 'ijmiom4f5m34905g03um8342dm04923lre3w', # string personal token
}
api_url = "{host}/{method}?{params}".format(
host=host,
method=method,
params=urlencode(params)
)
try:
json_data = urlrequest.urlopen(api_url).read()
except Exception as e0:
print("API request error: {error}".format(error=e0))
data = json.loads(json_data)
pprint.pprint(data)