Domain Top Pages (get_top_urls)
get_top_urls — method returns all website's pages in hierarchical order. Also, it shows the number of keywords from Google top-100 or Yandex top-50 for each URL, visitors a page would receive per month if it was to rank number 1 in Google or Yandex SERP for its top-20 keywords, Facebook and LinkedIn shares of the researched domain's page. The results are sorted by traffic volume.
Pagination
Following parameters can be used for pagination:
- page_size: number of results per page (default: 100, max: 1000)
- page: page number (set to the 1st page by default)
Sorting
Following parameters can be used for sorting:
- sort: field that needs to be sorted (organic_keyword, facebook_shares, linkedin_shares, google_shares, potencial_traff). For example sort=organic_keywords&page_size=100
- order: sort results in descending order "desc" or ascending order "
asc " ( default: desc ). For example order=desc
Metrics | Description |
result | Encapsulates the answer |
total | The total number of the website pages |
top_urls | Encapsulates the answer |
URL of the domain |
|
organic_keywords | The number of keywords the URL ranks for in Google top-100 or Yandex top-50 results |
facebook_shares | The number of Facebook shares of the researched domain's page. |
potencial_traff | The number of visitors a page would receive per month if it was to rank number 1 in Google or Yandex SERP for its top-20 keywords |
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 | API limits left |
api.serpstat.com/v3/get_top_urls?query=example.com&se=XXX&token=XXX&order=desc&sort=organic_keywords&page_size=100&page=1
"result":{
"total":1125158,
"hits":[
{
"url":"https:\/\/example.com\/",
"organic_keywords":5178,
"facebook_shares":215208,
"potencial_traff":184351
},
{
"url":"https:\/\/example.com\/example\/example\/",
"organic_keywords":4792,
"facebook_shares":0,
"potencial_traff":28594
}
..................
]
},
"status_msg":"OK",
"status_code":200,
"left_lines":2147481649
}
require_once __DIR__ . '/vendor/autoload.php';
// configure your application
$config = [
'token' => '5ef58df8d6a5ef19efa6b9d460f41806',
];
//domain name
$domain = 'olx.ua';
//optional params
$additionalParams =[
'page' => 1,
//pagination result page
'order' => 'asc',
//order (asc, desc)
'sort' => 'organic_keywords',];
/*sort by value of (can be sorted by - organic_keywords
*- facebook_shares
*- potencial_traff
*/
// init client with your serpstat api token
$apiClient = new \Serpstat\Sdk\Core\ApiGuzzleHttpClient($config['token']);
// create instance of api method class
$apiMethod = new \Serpstat\Sdk\Methods\GetTopUrlsMethod(
$domain,
\Serpstat\Sdk\Interfaces\IApiClient::SE_GOOGLE_UA,
$additionalParams
);
try {
// try call api method
$response = $apiClient->call($apiMethod)->getResult();
} catch (\Exception $e) {
// catch api error
$response = $e->getMessage();
}
var_dump($response);
import json
import pprint
import urllib.request as urlrequest
from urllib.parse import urlencode
host = 'http://api.serpstat.com/v3'
method = 'get_top_urls'
wait_timeout = 600 # sec
params = {
'query': 'example.com',
'se': 'g_us',
'order': 'asc',
'sort': 'organic_keywords',
'token': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'}
api_url = "{host}/{method}?{params}".format(
host=host,
method=method,
params=urlencode(params, safe=',')
)
json_data = None
try:
json_data = urlrequest.urlopen(api_url, timeout=wait_timeout).read()
except Exception as e0:
print("API request error: {error}".format(error=e0))
if json_data:
data = json.loads(json_data)
pprint.pprint(data)