getKeywordTrend

Returns the ranking trend of a keyword for a domain.

Route /keywords/getKeywordTrend[/:key[/:urlpattern[/:keyword[/:sengine[/:format[/:limit[/:skip[/:date]]]]]]]]
Necessary Paramter urlpattern
keyword
sengine
Optional parameter format
limit (max:1000)
skip
date
Return values crawlDate
crawlTime
position
positionChange
url
resultCount
Cross references getSearchEngines()
Hints Limit: The maximum limit is 1000. To get more results, please use the parameter skip.
resultCount: Shows the amount of the result without limits. Usefull for pagination.

Parameter

Labeling Description Values margin Default value
sengine Contains a unique identifier for the returned search engine. (a-z)+
urlpattern Contains a qualified domain name. (www.|*)?(A-Z|a-z|0-9)+.(a-z|*)+
keyword Contains a particular keyword. (A-Z|a-z|0-9)+
limit Defines the amount of the returned results. (max:1000) 0-1000 1
skip Defines the starting page of the result. One page equals the the value of limit. (0-9)+ 0
format Defines in which format the result will be returned. json|xml json
date Contains a date YYYY-MM-DD latest crawldate

Return values

Labeling Description Values margin
crawlDate Contains the date on which the ranking was determined. Date: YYYY-MM-DD
crawlTime Contains the time a ranking was determined. Time: HH:II:SS
position Contains the best position of a keyword in a certain period of time. (0-9)+
positionChange Shows the change of position compared to the last position tracking. (0-9)+
url Shows the best ranking url. http[s]?://(www.)?(A-Z|a-z|0-9)+.(a-z)+
resultCount Shows the number of the search results. (0-9)+

Messages

Message Description
maximum limit exeeded The maximum limit is reached.
no permission The key has no access to this function.
internal error An internal error occured.
param missing A required parameter is missing.
param invalid The value of a parameter is not valid.
result empty The request was successful, but the result itself is empty.
cost error The current credit amount is not sufficient to handle the request.
0k. The processing was successful.

Exemplary code

$root = 'https://suite.xovi.net/api/';
$arrayParams = array(
        'service'       => 'keywords',
	'method'	=> 'getKeywordTrend',
	'key'		=> 'myPersonalKey',
	'urlpattern'	=> 'www.xovi.de',
	'keyword'	=> 'seo',
	'sengine'	=> 'google.de',
	'format'	=> 'xml',
 );
$GETparams = implode('/', $arrayParams);

$requestURL = $root.$GETparams;

if (!function_exists('curl_init')) die('cURL not available');

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_URL, $requestURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Download the given URL, and return output
$output = curl_exec($ch);

// Close the cURL resource, and free system resources
curl_close($ch);

echo $output;

Exemplary results

JSON

{
	"apiErrorCode":0,
	"apiErrorMessage":"0k.",
	"apiResult":[
		{
			"crawlDate":"2013-03-13",
			"crawlTime":"13:34:17",
			"position":"7.00",
			"positionChange":"-1.00",
			"url":"http:\/\/www.xovi.de\/",
			"resultCount":"871000000"
		}
	]
}

XML

<result>
    <apiMeta>
        <resultCount>351</resultCount>
    </apiMeta>
    <apiErrorCode>0</apiErrorCode>
    <apiErrorMessage>0k.</apiErrorMessage>
    <apiResult>
        <keywordpositions>
            <keywordposition>
                <date>2016-01-10</date>
                <position>20</position>
                <url>http://www.xovi.de/</url>
            </keywordposition>
       </keywordpositions>
    </apiResult>
</result>