Rank API

by sheerSEO

With the rank API you can collect
rankings data at low cost and
integrate the data in your own application.

Features

  • Google/Bing Rank Tracking

    Track your site's positions in Google & Bing. Including local geo results and mobile/desktop rankings.

  • Local pack results

    Track top 3 local results.

  • Collect rankings from over 40 countries

    Google and Bing show different rankings, based on your search location. Our rankings can be localized to over 40 countries.

  • Great accuracy and speed

    With 10 years of experience, we promise reliable results in very short time.

  • Supports all devices

    Both mobile and desktop.

  • Great support

    We are always there for you...

Step - 1 : Initiate Task


						{
						"priority":"high",
							"tasks":[
								{
								  "keyword":"botox",
								  "search_engine":"google",
								  "localization_code":"us",
								  "domain":"www.botox.com"
								}
							]
						}
						

						{
							"Tasks":[
								{
								  "localization_code":"us",
								  "localization_zip":"",
								  "domain":"www.botox.com",
								  "task_id":"yourTaskId",
								  "keyword":"botox",
								  "search_engine":"google",
								  "status":"ok"
								}
							]
						}
						

Step - 2 : Collecting results from tasks


						{
							"task_ids":[
								"yourTaskId"
							]
						}
						

						{
					"tasks":[
								{
									"yourTaskId":
									{
									"localization_code":"United States",
									"error_msg":"",
									"localization_zip":"",
									"ready":"true",
							     	"domain":"www.botox.com",
									"rank":"2",
									"keyword":"botox",
									"search_engine":"google",
									"status":"ok"
							 		}
								}
							]
					}
						

Our Pricing

We have two pricing options. If you don’t want to commit to monthly payment, you can just pay for an amount of credits. This is called “Pay Per Use”.
Or, if you are willing to commit for a monthly payment, you can get better pricing with our “Monthly Plans”. See below to get an idea of how much that would cost.

Pay Per Use

$49
$
Payment
Buy Credits

Monthly

$200
$
Payment
Buy Monthly Plan

Rank Code Examples

Sending Rank Task


try {
   String request= "{\"priority\":\"high\",\"tasks\":[{\"keyword\":\"seo\",\"domain\":\"www.sheerseo.com\",\"search_engine\":\"google\",\"localization_code\":\"us\"}]}" ;
   URL url = new URL("https://www.sheerseo.com/seo/api/rank-submit?apiKey=yourAPIKey");
   HttpsURLConnection  con = (HttpsURLConnection)url.openConnection();
   con.setRequestMethod("POST");
   con.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
   con.setDoOutput(true);
   // Send post request
   con.connect();
   PrintWriter pw = new PrintWriter(new OutputStreamWriter(con.getOutputStream()));
   pw.write(request);
   pw.close();
   System.out.println("Response Code : " + con.getResponseCode()+". Response Message: "+con.getResponseMessage());
   //read the response - we need the task_id for next step
   BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
   String inputLine;
   StringBuffer response = new StringBuffer();
   while ((inputLine = in.readLine()) != null) {
       response.append(inputLine);
   }
   in.close();
   System.out.println("The response is: "+response.toString());
} catch (Exception e) {e.printStackTrace();} 


$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://sheerseo.com/seo/api/rank-submit?apiKey=yourAPIKey",
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{'priority':'high','tasks':[{'keyword':'seo','domain':'www.sheerseo.com','search_engine':'google','localization_code':'us'}]}",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "content-type: application/json"
  ),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}


#pip install requests
import requests
apiKey="yourAPIKey"
url = "https://sheerseo.com/seo/api/rank-submit?apiKey="+apiKey
payload ="{\"priority\":\"high\",\"tasks\":[{\"keyword\":\"seo\",\"domain\":\"www.sheerseo.com\",\"search_engine\":\"google\",\"localization_code\":\"us\"}]}" 
response = requests.request("POST", url, data=payload)
print(response.text)

Collect Task


try {
   String request= "{\"task_ids\":[\"the task ids you got from as a response from sending the rank tasks\"]}" ;
   URL url = new URL("https://www.sheerseo.com/seo/api/rank-collect?apiKey=yourAPIKey");
   HttpsURLConnection  con = (HttpsURLConnection)url.openConnection();
   con.setRequestMethod("POST");
   con.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
   con.setDoOutput(true);
   // Send post request
   con.connect();
   PrintWriter pw = new PrintWriter(new OutputStreamWriter(con.getOutputStream()));
   pw.write(request);
   pw.close();
   System.out.println("Response Code : " + con.getResponseCode()+". Response Message: "+con.getResponseMessage());
   //read the response - we need the task_id for next step
   BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
   String inputLine;
   StringBuffer response = new StringBuffer();
   while ((inputLine = in.readLine()) != null) {
       response.append(inputLine);
   }
   in.close();
   System.out.println("The response is: "+response.toString());
} catch (Exception e) {e.printStackTrace();} 


  $curl = curl_init();
  curl_setopt_array($curl, array(
  CURLOPT_URL => "https://sheerseo.com/seo/api/rank-collect?apiKey=yourAPIKey",
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"task_ids\":[\"the task ids you got from as a response from sending the rank tasks\"]}",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "content-type: application/json"
  ),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}


#pip install requests
import requests
apiKey="yourAPIKey"
url = "https://sheerseo.com/seo/api/rank-collect?apiKey="+apiKey
payload ="{\"task_ids\":[\"the task ids you got from as a response from sending the rank tasks\"]}" 
response = requests.request("POST", url, data=payload)
print(response.text)