The Xovi API provides you with a programming interface to the Xovi SEO Controlling & Online Marketing Suite. Having this direct interface to the Xovi Software, its possible to retrieve a subset of our data automatically via your own programs and thus integrate it into your daily business processes.

Newsletter
Sign into the Newsletter to get a message, if changes occure.

Preconditions for using the XOVI API
To access data via the API from your software, you need to have a Xovi account (adequately – order it at https://order.xovi.de/) and an access key (necessary – more details within the next paragraph ‘Authentication’). Furthermore its mandatory that the client you are using for requesting data via API supports HTTP.

Authentication
Additional to the Xovi account, you also need an API key to get access to the services of the API. You’ll find your API key in the software by navigating to the subpage “API Dashboard” within our section “Account” . After creating your personal API key, it is a necessity to deliver it within the parameter ‘key’ for every request you make.

Cost model
The costs model bases on credits. Every user has a certain amount of credits available for all his requests during a given period of time. All information about the specific amount of credits for every single type of user can be checked on the subpage “API Dashboard” within the section “Account”. Not having the necessary amount of credits for you projects it is for sure possible to order additional credits. You can order them via e-mail.

Example for adding credits to a given type of user:
PRO User Account (100.000 credits) + 20,000 Credits (ordered additionally) = 120,000 Credits per period of time.

Concerning your credits, you can check the amount of credits you already used up and the amount of remaining ones via the API Dashboard and the API itself without being charged additional credits.

The only thing charging you credits is using a service method of the API. In doing so every single service method has its own costs. You find further information on the costs of each method within the reference of possible operations concerning the API.

It is furthermore worth mentioning that there are two different ways of how costs get calculated. We therefore distinguish between the two methods ‘Call’ and ‘Row’. ‘Row’ is static; the costs of a given service method is constant, no matter of how many rows it returns. In contrast ‘Row’ is dynamic; a given number of rows is defined as a package and every singe one has a defined amount of credits you get charged. In short: The amount of credits you get charged by using an operation is the sum of the costs per package and the number of packages.

Formatting/Charset
The whole API provides the UTF-8 charset. All requested data can be exported in your favored format. It is therefore possible to choose between JSON and XML. Getting data as PDF just is possible by using the function ‘getPdf’ of the service ‘Reporting’. If the format is not requested explicitly, the output will be formatted in JSON.

Exemplary code

<?php
// API-Root
$root = 'https://api.xovi.net/api/';

$arrayParams = array(
    'service' => 'user',
    'method'  => 'getCreditstate',
    'key'     => 'myPersonalKey',
    'format'  => 'json',
);

// Build URL params
$getParams = implode($arrayParams, '/');

// Build final request URL
$requestURL = $root . $getParams;

// Request
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
$output = curl_exec($ch);

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

// Print result
echo $output;
?>

Exemplary results (JSON):

{
   "apiErrorCode":0,
   "apiErrorMessage":"0k.",
   "apiResult":{
      "creditamount":1000,
      "additionalCreditamount":5000,
      "bookedCreditamount":100000,
      "refillintervall":4,
      "lastrefill":"2013-03-08 15:00:00",
      "creditsleft":5280,
      "creditsused":720
   }
}