GeoRanker - Accurate data from Search Engines

Welcome to the GeoRanker documentation. You'll find comprehensive guides and tutorials to help you start working with GeoRanker as quickly as possible, as well as community support if you get stuck.

Get Started
 
Suggest Edits

Read the full user account information

Read the user information using the user email and session as a principle, the session can be got using the Session Login API command.

 
gethttps://api.georanker.com/v1/account/info.json
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/account/info.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/account/info.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/account/info.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/account/info.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/account/info.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/account/info.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/account/info.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/account/info.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/account/info.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/account/info.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/account/info.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The user email. Example: example@gmail.com

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Return the full user data object with the plan and credits information.

idinteger

The user ID. Example: 9999

emailstring

The user email. Example: test@email.com

display_namestring

The user name displayed. Example: Josh Holmes

registeredstring

When the user was registered. Example: 2015-06-11 13:52:56

urlstring

The user URL inserted in the settings. Example: plus.google.com/291

creditsinteger

How many credits the user has. Example: 4541

creditsexpirationstring

When the credits will expire. Example: 2017-06-16 15:58:02

planobject
plan.namestring

The plan name. Example: Enterprises

plan.priceinteger

The plan price. Example: 490

plan.is_publicreportsboolean

If the plan allows public reports. Example: false

plan.creditspermonthinteger

How many credits the user aquire with the plan. Example: 120000

plan.maxlocationsinteger

Limit number of locations that the plan allow to search per report. Example: 100

plan.maxcreditsperreportinteger

The limit of credits that the plan allows per report. Example: 5000

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Bad or expired session id. To fix this you should re-authenticate the user.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

User data not found.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Read the user account settings

Read the full user account settings using the user email and session as a principle. The session can be got using the Session Login API command.

 
gethttps://api.georanker.com/v1/account/settings.json
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/account/settings.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/account/settings.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/account/settings.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/account/settings.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/account/settings.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/account/settings.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/account/settings.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/account/settings.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/account/settings.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/account/settings.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/account/settings.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The user email. Example: example@gmail.com

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Return the full user settings account object information like country code and timezone.

country_codestring

The user country code to be set. Example: US which is for United States.

is_mergenotificationsboolean

If the user is receiving notification merged with other infos. Example: true

is_sendnewsboolean

If the user is receiving blog news allert. Example: false

notificationstimestring

The notification time when the user will receive something. Example: 08:00:00

timezonestring

The user timezone. Example: America/Recife

wl_headingstring

The whitelabel heading for the PDFs for example.

wl_subheadingstring

The whitelabel sub heading for the PDFs for example.

wl_userlogostring

The whitelabel user logo for the PDFs for example.

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Bad or expired session id. To fix this you should re-authenticate the user.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

User settings data not found.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Method Not Allowed

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Update user account information inserting new data in it

Update the user account information using the body params, it can change the country code, timezone, and other settings.

 
puthttps://api.georanker.com/v1/account/settings.json
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.georanker.com/v1/account/settings.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request PUT \
  --url 'https://api.georanker.com/v1/account/settings.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/account/settings.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.georanker.com/v1/account/settings.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/account/settings.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"PUT"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/account/settings.json"

querystring = {"email":"email","session":"session"}

response = requests.request("PUT", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/account/settings.json?email=email&session=session")
  .put(null)
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/account/settings.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/account/settings.json?email=email&session=session");
var request = new RestRequest(Method.PUT);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/account/settings.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/account/settings.json?email=email&session=session"

	req, _ := http.NewRequest("PUT", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The user email. Example: example@gmail.com

session
string
required

The session token of the logged-in user, obtained by calling the login command

Body Params

country_code
string

The user country code to be set. Example: US which is for United States.

is_mergenotifications
boolean

If the user is receiving notification merged with other infos. Example: true

is_sendnews
boolean

If the user is receiving blog news allert. Example: false

notificationstime
string

The notification time when the user will receive something. Example: 08:00:00

timezone
string

The user timezone. Example: America/Recife

wl_heading
string

The whitelabel heading for the PDFs for example.

wl_subheading
string

The whitelabel sub heading for the PDFs for example.

wl_userlogo
string

The whitelabel user logo for the PDFs for example.

Response

User settings updated. Please note that the code 204 means 'No Content' and the response body will be empty.

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Bad or expired session id. To fix this you should re-authenticate the user.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

User settings data not found.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Create this user session before using the other API commands

Create a new session key for the user. (Execute this first). When the session expires, you need to create another again.

 
gethttps://api.georanker.com/v1/api/login.json
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/api/login.json',
  qs: 
   { email: 'email',
     apikey: 'apikey' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/api/login.json?email=email&apikey=apikey'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/api/login.json?email=email&apikey=apikey")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/api/login.json?email=email&apikey=apikey");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/api/login.json?email=email&apikey=apikey"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/api/login.json"

querystring = {"email":"email","apikey":"apikey"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/api/login.json?email=email&apikey=apikey")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/api/login.json?email=email&apikey=apikey",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/api/login.json?email=email&apikey=apikey");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/api/login.json?email=email&apikey=apikey")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/api/login.json?email=email&apikey=apikey"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The user email. Example: example@gmail.com

apikey
string
required

The API Key of the user.

Response

Return the user session in String format with date created and date to expire.

sessionstring

The session token of the logged-in user, obtained by calling the login command. Example: eb8deb79a743aifnb2487a

expiresstring

The date and hour where the user session will expire. Example: 2017-06-17 14:09:00

createdstring

The date and hour where the user session was created. Example: 2017-06-16 14:09:00

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Bad API Key. Unfortunately, re-authenticating the user won't help here.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Get the API ChangeLog

Read the API ChangeLog using the user email and session as a principle.

 
gethttps://api.georanker.com/v1/api/changelog.json
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/api/changelog.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/api/changelog.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/api/changelog.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/api/changelog.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/api/changelog.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/api/changelog.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/api/changelog.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/api/changelog.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/api/changelog.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/api/changelog.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/api/changelog.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The user email. Example: example@gmail.com

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Return the full title, date and content changelogs.

titlestring

The change log title. Example: GeoRanker Beta Released

datestring

The date when the change log was published. Example: 2013-04-12

textstring

The change log content. Example: We are pleased to announce that our tool is already in beta. We are working to improve it and create more relevant reports to our users.

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Bad or expired session id. To fix this you should re-authenticate the user.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Read the Georanker Blog News.

Read all the News from GeoRanker Blog (georanker.com/blog) using the email and session as a principle.

 
gethttps://api.georanker.com/v1/api/blognews.json
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/api/blognews.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/api/blognews.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/api/blognews.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/api/blognews.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/api/blognews.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/api/blognews.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/api/blognews.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/api/blognews.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/api/blognews.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/api/blognews.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/api/blognews.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The user email. Example: example@gmail.com

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Return all the Georanker Blog content containing title, created date, text content and URL to check the full post.

titlestring

The blog post title. Example: How to do On-Page SEO like a PRO. Example: How to do On-Page SEO like a PRO

datestring

The date when the blog post was published. Example: 2017-02-13 13:43:15

textstring

The blog post content. Example:

On-Page SEO Trying to fly without building the airplane it’s impossible, and, even if you have the body of the airplane, you need to adjust the wings, mount the engines and so on. Same things apply when we talk ab...

urlobject

The blog post URL. Example: {'0': 'http://georanker.com/article'}

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Bad or expired session id. To fix this you should re-authenticate the user.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

 
Suggest Edits

Read the complete data of a country by code

Read the complete data of a country by code like 'us' which represents the United States.

 
gethttps://api.georanker.com/v1/country/codeformat
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/country/code.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/country/code.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/country/code.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/country/code.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/country/code.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/country/code.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/country/code.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/country/code.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/country/code.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/country/code.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/country/code.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

code
string
required

The country code. Example: 'us'

format
string
required

The file extension. MUST be .json. NOTE: Please do not use this path if you are using the API in your own code because it is already inserted.

Query Params

email
string
required

The user email. Example: example@gmail.com

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Return the full country details with the language data, tld and top cities (by population).

codestring

The country code in capital letters. Example: US

namestring

The country name. Example: United States

tldstring

The country tld, if available. Example: .com

is_activeboolean

Check if the country is available for the search. Example: true

continentstring

The country continent. Example: North America

topcitiesarray

The country top cities, normally who has a biggest country population. Example: ["New York City", "Los Angeles"]

languagesobject
languages.codestring

The language code. Example: en

languages.namestring

The language name. Example: English

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Country not found.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Read the full list of countries

Read the full list of countries available in Georanker API.

 
gethttps://api.georanker.com/v1/country/list.json
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/country/list.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/country/list.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/country/list.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/country/list.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/country/list.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/country/list.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/country/list.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/country/list.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/country/list.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/country/list.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/country/list.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The user email. Example: example@gmail.com

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Return the list of countries available and active in Georanker.

codestring

The country code in capital letters. Example: US

namestring

The country name. Example: United States

tldstring

The country tld, if available. Example: .com

is_activeboolean

Check if the country is available for the search. Example: true

continentstring

The country continent. Example: North America

topcitiesarray

The country top cities, normally who has a biggest country population. Example: ["New York City", "Los Angeles"]

languagesobject
languages.codestring

The language code. Example: en

languages.namestring

The language name. Example: English

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Bad or expired session id. To fix this you should re-authenticate the user.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

 
Suggest Edits

Read the complete data of a language by code

Read the complete data of a language by code, like 'ro' for Romanian language, available in Georanker API. Remember to generate the session ID first before using this command.

 
gethttps://api.georanker.com/v1/language/codeformat
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/language/code.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/language/code.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/language/code.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/language/code.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/language/code.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/language/code.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/language/code.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/language/code.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/language/code.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/language/code.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/language/code.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

code
string
required

The language code. Example: 'ro'

format
string
required

The file extension. MUST be .json. NOTE: Please do not use this path if you are using the API in your own code because it is already inserted.

Query Params

email
string
required

The user email. Example: example@gmail.com

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Return the language code and name in string format.

codestring

The language code. Example: en

namestring

The language name. Example: English

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Bad API Key. Unfortunately, re-authenticating the user won't help here.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Language not found.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Read the full list of languages

Read the full list of languages available in Georanker API. Create the user session before using this API command.

 
gethttps://api.georanker.com/v1/language/list.json
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/language/list.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/language/list.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/language/list.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/language/list.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/language/list.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/language/list.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/language/list.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/language/list.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/language/list.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/language/list.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/language/list.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The user email. Example: example@gmail.com

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Return the list in array format with all the code and name data from all languages.

codestring

The language code. Example: en

namestring

The language name. Example: English

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Bad or expired session id. To fix this you should re-authenticate the user.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

 
Suggest Edits

Read the complete data of a monitor

Read the complete data of a Georanker Monitor. Just insert the monitor ID and the user session and email correspondent to this monitor.

 
gethttps://api.georanker.com/v1/monitor/idformat
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/monitor/id.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/monitor/id.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/monitor/id.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/monitor/id.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/monitor/id.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/monitor/id.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/monitor/id.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/monitor/id.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/monitor/id.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/monitor/id.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/monitor/id.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The monitor id. Example: '105'

format
string
required

The file extension. MUST be .json. NOTE: Please do not use this path if you are using the API in your own code because it is already inserted.

Query Params

email
string
required

The user email. Example: example@gmail.com

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Return the monitor data with the report which is beign monitored, the periodicity when the monitor is running, the type of report, when the monitor was created and the last day executed.

idinteger

The monitor ID. Example: 17240

report_idinteger

The report ID from the monitor. Example: 1675649

date_createdstring

When the monitor was created. Example: 2017-06-14 16:14:27

date_executedstring

The last time when the monitor was executed. Example: 2017-06-15 16:22:02

is_activeboolean

If the monitor is still alive. Example: true

is_sendemailboolean

If the monitor is sending email to the user about changes.

periodicitystring

From what time the monitor is executed. Example: d is for daily, w is for weekly. Example: d

typestring

The reports type of the monitors. Example: 1stpage

campaign_idinteger

The campaign id from the monitor. Example: 8845

is_statscollectorboolean

If the monitor is collecting stats. Example: false

email_ccstring

What is the email to send the changes regarding the monitor. Example: test@gmail.com

reportsobject
reports.idinteger

The report ID. Example: 11918

reports.tokenstring

The report token. Example: 12f1f36ck962c81a

reports.campaign_idinteger

The ID for the campain where the report is related.

reports.typestring

The report type. Example: 1stpage

reports.is_pendingboolean

If the report is still generating. Example: false

reports.keywordsarray

Keywords used to generate the report. Example: ["furniture"]

reports.countriesarray

List of countries used to generate the report. Example: ["CA", "GB", "US"]

reports.regionsarray

List of regions related to the country used to generate the report. Example: ["London", "new york city"]

reports.urlsarray

The URLs found in the report.

reports.language_codestring

The report language code.

reports.ignoretypesarray

If some types of results was ignored in the report, like organic results.

reports.is_usealternativetldboolean

If was used .com as the search engine TLD for all countries. Example: false

reports.is_fillcitiesboolean

If it was filled automatically the country cities. Example: true

reports.is_formobileboolean

If the report results was only for mobile results, if false then it was for desktop results. Example: false

reports.maxcitiesinteger

Number of cities choosed to search. Example: 30

reports.search_enginesarray

The search engines used in the report. Example: ["yahoo"]

reports.date_createdstring

The date when the report was created.

reports.date_generatedstring

The date when the report was generated. Example: 2017-06-16 22:28:33

reports.is_publicboolean

If the report is visible for everyone. Example: false

reports.monitor_idinteger

The monitor report ID. Example: 12282

reports.creditsinteger

How many credits was consumed to generate the report. Example: 3

reports.callbackstring

The callback to inform when the report was finished. Example: site.com/proccess.php

reports.is_gmsearchmodeboolean

If this option was selected, the results from Organic will be ignored and will not appear in the report. Example: false

reports.is_carouselfallbackmodeboolean

If the report is to beign create from time to time. Example: true

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Monitor not found.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Update the Georanker User Monitor

Update the monitor related to an user email and session account. It can be change the report to be monitored based on its ID.

 
puthttps://api.georanker.com/v1/monitor/idformat
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.georanker.com/v1/monitor/id.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request PUT \
  --url 'https://api.georanker.com/v1/monitor/id.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/monitor/id.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.georanker.com/v1/monitor/id.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/monitor/id.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"PUT"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/monitor/id.json"

querystring = {"email":"email","session":"session"}

response = requests.request("PUT", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/monitor/id.json?email=email&session=session")
  .put(null)
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/monitor/id.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/monitor/id.json?email=email&session=session");
var request = new RestRequest(Method.PUT);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/monitor/id.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/monitor/id.json?email=email&session=session"

	req, _ := http.NewRequest("PUT", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The monitor id that needs to be updated. Example: '105'

format
string
required

The file extension. MUST be .json. NOTE: Please do not use this path if you are using the API in your own code because it is already inserted.

Query Params

email
string
required

The user email. Example: example@gmail.com

session
string
required

The session token of the logged-in user, obtained by calling the login command

Body Params

is_active
boolean

Check if the monitor is active or not. Example: true

is_sendemail
boolean

Check if the monitor is sending emails or not. Example: false

periodicity
string
required

Check in what period the monitor is executing a new report. Example: 'd' is for daily.

Response

Monitor updated. Please note that the code 204 means 'No Content' and the response body will be empty.

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Bad or expired session id. To fix this you should re-authenticate the user.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Monitor data not found.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Delete the Georanker User Monitor

Delete the Monitor related to an user email and session account. There is an API command available to create the session.

 
deletehttps://api.georanker.com/v1/monitor/idformat
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.georanker.com/v1/monitor/id.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request DELETE \
  --url 'https://api.georanker.com/v1/monitor/id.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/monitor/id.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.georanker.com/v1/monitor/id.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/monitor/id.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"DELETE"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/monitor/id.json"

querystring = {"email":"email","session":"session"}

response = requests.request("DELETE", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/monitor/id.json?email=email&session=session")
  .delete(null)
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/monitor/id.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/monitor/id.json?email=email&session=session");
var request = new RestRequest(Method.DELETE);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/monitor/id.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/monitor/id.json?email=email&session=session"

	req, _ := http.NewRequest("DELETE", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The monitor id that needs to be deleted. Example: '105'

format
string
required

The file extension. MUST be .json. NOTE: Please do not use this path if you are using the API in your own code because it is already inserted.

Query Params

email
string
required

The user email. Example: example@gmail.com

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Monitor deleted. Please note that the code 204 means 'No Content' and the response body will be empty.

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Monitor not found.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Read the list of monitors related to a user account

Read the list of monitors related to an user email and session account. The results can be filtered by the number of monitors per page and the number of pages.

 
gethttps://api.georanker.com/v1/monitor/list.json
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/monitor/list.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/monitor/list.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/monitor/list.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/monitor/list.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/monitor/list.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/monitor/list.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/monitor/list.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/monitor/list.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/monitor/list.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/monitor/list.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/monitor/list.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The user email. Example: example@gmail.com

session
string
required

The session token of the logged-in user, obtained by calling the login command

page
string

The page number.
Default: 1

itemsperpage
string

The max number of monitors that each page will contain.
Default: 30

Response

Return all the actived or deactivated monitors in an array with the number of results.

itemsarray

All the monitors data returned.

totalinteger

The total of monitor returned. Example: 3

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Bad or expired session id. To fix this you should re-authenticate the user.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Creates a monitor linked to a report already created

Creates a monitor linked to a report already created. Just set the periodicity and the monitor type related to the account and it's done. A new report can be created using the Georanker dashboard or using the command API.

 
posthttps://api.georanker.com/v1/monitor/new.json
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.georanker.com/v1/monitor/new.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request POST \
  --url 'https://api.georanker.com/v1/monitor/new.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/monitor/new.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.georanker.com/v1/monitor/new.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/monitor/new.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/monitor/new.json"

querystring = {"email":"email","session":"session"}

response = requests.request("POST", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/monitor/new.json?email=email&session=session")
  .post(null)
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/monitor/new.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/monitor/new.json?email=email&session=session");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/monitor/new.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/monitor/new.json?email=email&session=session"

	req, _ := http.NewRequest("POST", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The user email. Example: example@gmail.com

session
string
required

The session token of the logged-in user, obtained by calling the login command

Body Params

report_id
integer
required

The report ID that you want to monitor in Integer format. Example: 12939

is_sendemail
boolean

If is to send the monitor usage by the user email. Example: true

periodicity
string
required

For how much time the monitor needs to create a new report. Example: weekly

type
string
required

The monitor type. Example: pro

Response

Return a new monitor with its ID, if is active, the date which the monitor was created and executed.

idinteger

The monitor ID. Example: 17240

report_idinteger

The report ID from the monitor. Example: 1675649

date_createdstring

When the monitor was created. Example: 2017-06-14 16:14:27

date_executedstring

The last time when the monitor was executed. Example: 2017-06-15 16:22:02

is_activeboolean

If the monitor is still alive. Example: true

is_sendemailboolean

If the monitor is sending email to the user about changes. Example: true

periodicitystring

From what time the monitor is executed. Example: d is for daily, w is for weekly. Example: d

typestring

The reports type of the monitors. Example: 1stpage

campaign_idinteger

The campaign id from the monitor. Example: 8845

is_statscollectorboolean

If the monitor is collecting stats. Example: false

email_ccstring

What is the email to send the changes regarding the monitor. Example: test@gmail.com

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Bad or expired session id. To fix this you should re-authenticate the user.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Monitor not found. Please, create the report first.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Read the complete data of a report

Read the complete data of a report. Just insert the report ID or Token and the user email and session related to this report.

 
gethttps://api.georanker.com/v1/report/idformat
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/report/id.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/report/id.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/report/id.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/report/id.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/report/id.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/report/id.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/report/id.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/report/id.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/report/id.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/report/id.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/report/id.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The report id or token. Example: '150'

format
string
required

The file extension. MUST be .json. NOTE: Please do not use this path if you are using the API in your own code because it is already inserted.

Query Params

email
string
required

The user email

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Return the complete data for the report with keywords, regions, search engines used in the report.

idinteger

The report ID. Example: 11918

tokenstring

The report token. Example: 12f1f36ck962c81a

campaign_idinteger

The ID for the campain where the report is related.

typestring

The report type. Example: 1stpage

is_pendingboolean

If the report is still generating. Example: false

keywordsarray

Keywords used to generate the report. Example: ["furniture"]

countriesarray

List of countries used to generate the report. Example: ["CA", "GB", "US"]

regionsarray

List of regions related to the country used to generate the report. Example: ["London", "new york city"]

urlsarray

The URLs found in the report.

language_codestring

The report language code.

ignoretypesarray

If some types of results was ignored in the report, like organic results.

is_usealternativetldboolean

If was used .com as the search engine TLD for all countries. Example: false

is_fillcitiesboolean

If it was filled automatically the country cities. Example: true

is_formobileboolean

If the report results was only for mobile results, if false then it was for desktop results. Example: false

maxcitiesinteger

Number of cities choosed to search. Example: 30

search_enginesarray

The search engines used in the report. Example: ["yahoo"]

date_createdstring

The date when the report was created.

date_generatedstring

The date when the report was generated. Example: 2017-06-16 22:28:33

is_publicboolean

If the report is visible for everyone. Example: false

monitor_idinteger

The monitor report ID. Example: 12282

creditsinteger

How many credits was consumed to generate the report. Example: 3

callbackstring

The callback to inform when the report was finished. Example: site.com/proccess.php

is_gmsearchmodeboolean

If this option was selected, the results from Organic will be ignored and will not appear in the report. Example: false

is_carouselfallbackmodeboolean

If the report is to beign create from time to time. Example: true

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Report not found.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Delete the Report using the token or id as param

Delete a Report using the token or id as param and the user email and session related to this report. It needs first to have an user session which can be generated in one of our API commands.

 
deletehttps://api.georanker.com/v1/report/idformat
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.georanker.com/v1/report/id.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request DELETE \
  --url 'https://api.georanker.com/v1/report/id.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/report/id.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.georanker.com/v1/report/id.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/report/id.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"DELETE"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/report/id.json"

querystring = {"email":"email","session":"session"}

response = requests.request("DELETE", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/report/id.json?email=email&session=session")
  .delete(null)
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/report/id.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/report/id.json?email=email&session=session");
var request = new RestRequest(Method.DELETE);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/report/id.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/report/id.json?email=email&session=session"

	req, _ := http.NewRequest("DELETE", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The report id or token. that needs to be deleted. Example: '105'

format
string
required

The file extension. MUST be .json. NOTE: Please do not use this path if you are using the API in your own code because it is already inserted.

Query Params

email
string
required

The user email

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Report deleted. Please note that the code 204 means 'No Content' and the response body will be empty.

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Report not found.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Read the list of Reports

Read the list of Reports related to the user email and session. Return all the reports data and the number of reports found.

 
gethttps://api.georanker.com/v1/report/list.json
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/report/list.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/report/list.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/report/list.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/report/list.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/report/list.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/report/list.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/report/list.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/report/list.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/report/list.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/report/list.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/report/list.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The user email

session
string
required

The session token of the logged-in user, obtained by calling the login command

page
string

The page number. Default: 1

itemsperpage
string

The max number of reports that each page will contain. Default: 30

Response

Returns all the reports found with its full data.

itemsobject

The reports data returned in the search.

items.idinteger

The report ID. Example: 11918

items.tokenstring

The report token. Example: 12f1f36ck962c81a

items.campaign_idinteger

The ID for the campain where the report is related.

items.typestring

The report type. Example: 1stpage

items.is_pendingboolean

If the report is still generating. Example: false

items.keywordsarray

Keywords used to generate the report. Example: ["furniture"]

items.countriesarray

List of countries used to generate the report. Example: ["CA", "GB", "US"]

items.regionsarray

List of regions related to the country used to generate the report. Example: ["London", "new york city"]

items.urlsarray

The URLs found in the report.

items.language_codestring

The report language code.

items.ignoretypesarray

If some types of results was ignored in the report, like organic results.

items.is_usealternativetldboolean

If was used .com as the search engine TLD for all countries. Example: false

items.is_fillcitiesboolean

If it was filled automatically the country cities. Example: true

items.is_formobileboolean

If the report results was only for mobile results, if false then it was for desktop results. Example: false

items.maxcitiesinteger

Number of cities choosed to search. Example: 30

items.search_enginesarray

The search engines used in the report. Example: ["yahoo"]

items.date_createdstring

The date when the report was created.

items.date_generatedstring

The date when the report was generated. Example: 2017-06-16 22:28:33

items.is_publicboolean

If the report is visible for everyone. Example: false

items.monitor_idinteger

The monitor report ID. Example: 12282

items.creditsinteger

How many credits was consumed to generate the report. Example: 3

items.callbackstring

The callback to inform when the report was finished. Example: site.com/proccess.php

items.is_gmsearchmodeboolean

If this option was selected, the results from Organic will be ignored and will not appear in the report. Example: false

items.is_carouselfallbackmodeboolean

If the report is to beign create from time to time. Example: true

totalinteger

The numbers of reports returned in the search. Example: 243

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Bad or expired session id. To fix this you should re-authenticate the user.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Creates a new report

Creates a new report for the related user. Use the body params to insert the data that you want to generate in the report. It is not necessary to fill the fields which are not required.

 
posthttps://api.georanker.com/v1/report/new.json
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.georanker.com/v1/report/new.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request POST \
  --url 'https://api.georanker.com/v1/report/new.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/report/new.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.georanker.com/v1/report/new.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/report/new.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/report/new.json"

querystring = {"email":"email","session":"session"}

response = requests.request("POST", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/report/new.json?email=email&session=session")
  .post(null)
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/report/new.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/report/new.json?email=email&session=session");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/report/new.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/report/new.json?email=email&session=session"

	req, _ := http.NewRequest("POST", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The user email

session
string
required

The session token of the logged-in user, obtained by calling the login command

Body Params

searchengines
array of strings
required

List of available Search Engines: google, googlelocal, yahoo, bing, yandex, youtube, naverwebdocs, naverlocal, baidu, googlenews, googleimages, daumsite, daumweb. Default: google.

type
string
required

ranktracker, heatmap, 1stpage, advertisers, authors, citations, sitereport and keywordrankings. Example: heatmap

callback
string

A URL that will be called when this Report Request is ready to be downloaded. Example: site.com/process.php

countries
array of strings
required

List of Country codes. Use this param or Region. Example: ["US", "JP", "KR"]

ignoretypes
array of strings

This is an array with 2 letter strings that allow you to make crawler completely ignore a search result type. The options are 'OR' (organic), 'GM' (google maps). Example: ["OR", "GM"]

is_carouselfallbackmode
boolean

For how much time the monitor needs to create a new report. Example: false

is_fillcities
boolean

If your report has fewer cities than the maxcities, crawler will automatically fill the report cities with the biggest cities from the country. Example: false

is_formobile
boolean

Is this report for mobile platform. Example: false

is_global
boolean

True if the report is a country-level report. Example: true

is_gmsearchmode
boolean

If you put this key to false, the results from Google Maps or Google Places will be ignored and will not appear in the report. Example: true

is_localonly
boolean

If you select put the value of this key to true, the results from Organic will be ignored and will not appear in the report. Example: false

is_translatekeywords
boolean

For how much time the monitor needs to create a new report. Example: false

is_usealternativetld
boolean

If true, it will always use the TLD.com instead of using the local TLDs for each country. Example: false

keywords
array of strings
required

List of keywords. You must specify at least one keyword. The keyword must contain at least 3 characters. Example: ["seo","local seo"]

language
string

For how much time the monitor needs to create a new report. Example: en

maxcities
integer

Number of cities to search in the search engine. Example: 5

regions
array of strings

All report regions to search, in array format. Example: ["San Francisco", "Los Angeles"]

totalresults
integer

The maximum amount of results we will crawl. Usually, you want to keep this at 100. Example: 30

translatekeywordsfrom
string

Translate the keywords to this specific language. Example: en

urls
array of objects

The list of brands in an array of objects format.

brand
url

Response

Returns the report generated data, with how many credits was wasted, keywords, id, token and search engines used.

idinteger

The report ID. Example: 11918

tokenstring

The report token. Example: 12f1f36ck962c81a

campaign_idinteger

The ID for the campain where the report is related.

typestring

The report type. Example: 1stpage

is_pendingboolean

If the report is still generating. Example: false

keywordsarray

Keywords used to generate the report. Example: ["furniture"]

countriesarray

List of countries used to generate the report. Example: ["CA", "GB", "US"]

regionsarray

List of regions related to the country used to generate the report. Example: ["London", "new york city"]

urlsarray

The URLs found in the report.

language_codestring

The report language code.

ignoretypesarray

If some types of results was ignored in the report, like organic results.

is_usealternativetldboolean

If was used .com as the search engine TLD for all countries. Example: false

is_fillcitiesboolean

If it was filled automatically the country cities. Example: true

is_formobileboolean

If the report results was only for mobile results, if false then it was for desktop results. Example: false

maxcitiesinteger

Number of cities choosed to search. Example: 30

search_enginesarray

The search engines used in the report. Example: ["yahoo"]

date_createdstring

The date when the report was created.

date_generatedstring

The date when the report was generated. Example: 2017-06-16 22:28:33

is_publicboolean

If the report is visible for everyone. Example: false

monitor_idinteger

The monitor report ID. Example: 12282

creditsinteger

How many credits was consumed to generate the report. Example: 3

callbackstring

The callback to inform when the report was finished. Example: site.com/proccess.php

is_gmsearchmodeboolean

If this option was selected, the results from Organic will be ignored and will not appear in the report. Example: false

is_carouselfallbackmodeboolean

If the report is to beign create from time to time. Example: true

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Bad or expired session id. To fix this you should re-authenticate the user.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Report not found. Please, create the report first.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Read the report data for charting

Read the report data for charting. Insert the Rank Tracker report ID or Token which contains data inside the chart.

 
gethttps://api.georanker.com/v1/report/chart/idformat
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/report/chart/id.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/report/chart/id.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/report/chart/id.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/report/chart/id.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/report/chart/id.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/report/chart/id.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/report/chart/id.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/report/chart/id.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/report/chart/id.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/report/chart/id.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/report/chart/id.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The report id or token. Example: '150'

format
string
required

The file extension. MUST be .json. NOTE: Please do not use this path if you are using the API in your own code because it is already inserted.

Query Params

email
string
required

The user email

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Return the charting data for the related report.

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Report not found.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Read the Rank Tracker data from a Report

Read the Rank Tracker data from a Report. The report ID or Token needs to be from a generated rank tracker report.

 
gethttps://api.georanker.com/v1/report/ranktracker/idformat
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/report/ranktracker/id.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/report/ranktracker/id.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/report/ranktracker/id.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/report/ranktracker/id.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/report/ranktracker/id.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/report/ranktracker/id.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/report/ranktracker/id.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/report/ranktracker/id.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/report/ranktracker/id.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/report/ranktracker/id.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/report/ranktracker/id.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The report id or token. Example: '150'

format
string
required

The file extension. MUST be .json. NOTE: Please do not use this path if you are using the API in your own code because it is already inserted.

Query Params

email
string
required

The user email

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Return the full rank tracker report data with the positions, the search engines used, if the report has advertisers or local maps.

rankpositionsobject

The rank positions from the keywords.

rankpositions.keywordstring

The keywords used for the search. Example: local seo

rankpositions.country_codestring

The country in code format used in the search to filter content. Example:

rankpositions.regionstring

The region to search for the content. Example: Sao Paulo

rankpositions.positioninteger

in what search engine result position was found the content. Example: 58

rankpositions.language_codestring

The language code used to transform the content into a specific language. Example: pt-br

rankpositions.smallchartdatastring

Data to use in charts. Example: t:13,7

rankpositions.indexed_pagesinteger

Total of results found in the search engine search. Example: 7880000

rankpositions.searchenginestring

The search engine used to search the content. List of available Search Engines: google, googlelocal, yahoo, bing, yandex, youtube, naverwebdocs, naverlocal, baidu, googlenews, googleimages, daumsite, daumweb. Default: google.

rankpositions.urlstring

the url which is visible for the user in the search engine result. Example: georanker.com

rankpositions.has_mapsboolean

If the rank tracker results has maps inside. Example: false

rankpositions.has_newsboolean

If the rank tracker results has news inside. Example: false

rankpositions.has_adsboolean

If the rank tracker report results has advertisers inside. Example: true

rankpositions.has_blendedboolean

Example: false

rankpositions.has_imagesboolean

If the rank tracker results has images inside. Example: false

rankpositions.dataobject
rankpositions.data.matchstring

How the results are macthed, in this case was by URL. Example: URL

rankpositions.data.positioninteger

in what search engine result position was found the content. Example: 58

rankpositions.data.pageinteger

in what search engine result page was found the content. Example: 6

rankpositions.data.titlestring

The title for the result found in the search engine block. Example: Local SEO Tools, Local Citation Finder and Local Rank Checker ...

rankpositions.data.urlstring

the full url which not visible for the user in the search engine result. Example: http://georanker.com

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Report not found, is not ready yet or type does not match.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Read the First Page data from a Report

Read the First Page data from a Report. The report ID or Token needs to be from a generated first page report.

 
gethttps://api.georanker.com/v1/report/firstpage/idformat
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/report/firstpage/id.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/report/firstpage/id.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/report/firstpage/id.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/report/firstpage/id.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/report/firstpage/id.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/report/firstpage/id.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/report/firstpage/id.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/report/firstpage/id.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/report/firstpage/id.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/report/firstpage/id.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/report/firstpage/id.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The report id or token. Example: '150'

format
string
required

The file extension. MUST be .json. NOTE: Please do not use this path if you are using the API in your own code because it is already inserted.

Query Params

email
string
required

The user email

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Return the full first page report data with the website positions, the search engines used, if the report has advertisers or local maps.

keywordstring

The keywords used for the search. Example: local seo

indexed_pagesinteger

Total of results found in the search engine search. Example: 7880000

searchenginestring

The search engine used to search the content. List of available Search Engines: google, googlelocal, yahoo, bing, yandex, youtube, naverwebdocs, naverlocal, baidu, googlenews, googleimages, daumsite, daumweb. Default: google.

country_codestring

The country in code format used in the search to filter content. Example: CA

language_codestring

The language code used to transform the content into a specific language. Example: en

regionstring

The region to search for the content. Example: Toronto

has_mapsboolean

If the advertisers results has maps inside. Example: false

has_newsboolean

If the advertisers results has news inside. Example: false

has_adsboolean

If the advertisers report results has advertisers inside. Example: true

has_blendedboolean

Example: false

has_imagesboolean

If the advertisers results has images inside. Example: false

dataobject
data.url_visiblestring

the url which is visible for the user in the search engine result. Example: georanker.com

data.positionstring

in what search engine result position was found the content. Example: georanker.com

data.pagestring

in what search engine result page was found the content. Example: georanker.com

data.typestring

the result block type. OR for organic, for example. Example: OR

data.urlstring

the full url which not visible for the user in the search engine result. Example: http://seo.com/ppc

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Report not found, is not ready yet or type does not match.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Read the Advertisers data from a Report

Read the Advertisers data from a Report. The report ID or Token needs to be from a generated advertisers report.

 
gethttps://api.georanker.com/v1/report/advertisers/idformat
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/report/advertisers/id.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/report/advertisers/id.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/report/advertisers/id.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/report/advertisers/id.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/report/advertisers/id.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/report/advertisers/id.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/report/advertisers/id.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/report/advertisers/id.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/report/advertisers/id.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/report/advertisers/id.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/report/advertisers/id.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The report id or token. Example: '150'

format
string
required

The file extension. MUST be .json. NOTE: Please do not use this path if you are using the API in your own code because it is already inserted.

Query Params

email
string
required

The user email

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Return the full advertisers report data with the website positions, the search engines used, if the report has local maps.

keywordstring

The keywords used for the search. Example: local seo

indexed_pagesinteger

Total of results found in the search engine search. Example: 507000000

searchenginestring

The search engine used to search the content. List of available Search Engines: google, googlelocal, yahoo, bing, yandex, youtube, naverwebdocs, naverlocal, baidu, googlenews, googleimages, daumsite, daumweb. Default: google.

country_codestring

The country in code format used in the search to filter content. Example: CA

language_codestring

The language code used to transform the content into a specific language. Example: en

regionstring

The region to search for the content. Example: Toronto

has_mapsboolean

If the advertisers results has maps inside. Example: true

has_newsboolean

If the advertisers results has news inside. Example: false

has_adsboolean

If the advertisers report results has advertisers inside. Example: true

has_blendedboolean

Example: false

has_imagesboolean

If the advertisers results has images inside. Example: false

dataobject
data.url_visiblestring

the url which is visible for the user in the search engine result. Example: seo.com/seo

data.sitelinksarray

related results that can be found in the result block itself bellow the result description. Example: ["https://seo.com/seo", "https://seo.com/ppc"]

data.positioninteger

in what search engine result position was found the content. Example: 1

data.pageinteger

in what search engine result page was found the content. Example: 1

data.textstring

the result description. Example: Search Engine Optimisation Experts. Free Online SEO Quote, No Contract.

data.titlestring

the result title. Example: UK SEO Service from just £129 - We Help Clients Rank on Page 1‎

data.typestring

the result block type. OR for organic, for example. Example: AD

data.urlstring

the full url which not visible for the user in the search engine result. Example: http://seo.com/seo

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Report not found, is not ready yet or type does not match.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Read the Heatmap data from a Report

Read the Heatmap data from a Report. The report ID or Token needs to be from a generated heat map report.

 
gethttps://api.georanker.com/v1/report/heatmap/idformat
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/report/heatmap/id.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/report/heatmap/id.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/report/heatmap/id.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/report/heatmap/id.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/report/heatmap/id.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/report/heatmap/id.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/report/heatmap/id.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/report/heatmap/id.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/report/heatmap/id.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/report/heatmap/id.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/report/heatmap/id.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The report id or token. Example: '150'

format
string
required

The file extension. MUST be .json. NOTE: Please do not use this path if you are using the API in your own code because it is already inserted.

Query Params

email
string
required

The user email

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Return the full heat map report data with the website positions, the search engines used, if the report has local maps.

keywordstring

The keywords used for the search. Example: local seo

indexed_pagesinteger

Total of results found in the search engine search. Example: 507000000

searchenginestring

The search engine used to search the content. List of available Search Engines google, googlelocal, yahoo, bing, yandex, youtube, naverwebdocs, naverlocal, baidu, googlenews, googleimages, daumsite, daumweb. Default: google.

country_codestring

The country in code format used in the search to filter content. Example: CA

language_codestring

The language code used to transform the content into a specific language. Example: en

regionstring

The region to search for the content. Example: Toronto

has_mapsboolean

If the heat map results has maps inside. Example: true

has_newsboolean

If the heat map results has news inside. Example: false

has_adsboolean

If the heat map results has advertisers inside. Example: false

has_blendedboolean

Example: false

has_imagesboolean

If the heat map results has images inside. Example: false

dataobject
data.url_visiblestring

the url which is visible for the user in the search engine result. Example: moz.com/seo

data.sitelinksarray

related results that can be found in the result block itself bellow the result description. Example: [" moz.com/seo", " moz.com/guide"]

data.positioninteger

in what search engine result position was found the content. Example: 1

data.pageinteger

in what search engine result page was found the content. Example: 1

data.titlestring

the result title. Example: Beginner's Guide to SEO (Search Engine Optimization) - Moz

data.typestring

the result block type. OR for organic, for example. Example: OR

data.urlstring

the full url which not visible for the user in the search engine result. Example: moz.com/seo

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Report not found, is not ready yet or type does not match.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Read the Citations data from a Report

Read the Citations data from a Report. The report ID or Token needs to be from a generated citation report.

 
gethttps://api.georanker.com/v1/report/citations/idformat
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/report/citations/id.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/report/citations/id.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/report/citations/id.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/report/citations/id.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/report/citations/id.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/report/citations/id.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/report/citations/id.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/report/citations/id.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/report/citations/id.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/report/citations/id.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/report/citations/id.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The report id or token. Example: '150'

format
string
required

The file extension. MUST be .json. NOTE: Please do not use this path if you are using the API in your own code because it is already inserted.

Query Params

email
string
required

The user email

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Return the full citations report data with how many citations the keyword has.

keywordstring

The keywords used for the search. Example: local seo

searchenginestring

The search engine used to search the content. List of available Search Engines: google, googlelocal, yahoo, bing, yandex, youtube, naverwebdocs, naverlocal, baidu, googlenews, googleimages, daumsite, daumweb. Default: google.

country_namestring

The country name used in the search to filter content. Example: Switzerland

country_codestring

The country in code format used in the search to filter content. Example: CH

language_codestring

The language code used to transform the content into a specific language. Example: de

regionstring

The region to search for the content. Example: Basel

dataobject
data.urlstring

The url used in the search to filter the results. Example: informatiktage.ch

data.positionstring

The citation position in the search result. Example: 1

data.source_phonestring

The phone used in the search to filter the result. Example: 044 552 70 00

data.source_domainstring

The domain used in the search to filter result. Example: blueglass.ch

data.source_keywordstring

This how the search was done in the search engine. Example: "044 552 70 00" -site:blueglass.ch -site:facebook.com -site:twitter.com local seo site:.ch

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Report not found, is not ready yet or type does not match.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Read the Keyword Prospecting data from a Report

Read the Keyword Prospecting data from a Report. The report ID or Token needs to be from a generated keyword prospecting report.

 
gethttps://api.georanker.com/v1/report/keywordprospecting/idformat
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/report/keywordprospecting/id.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/report/keywordprospecting/id.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/report/keywordprospecting/id.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/report/keywordprospecting/id.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/report/keywordprospecting/id.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/report/keywordprospecting/id.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/report/keywordprospecting/id.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/report/keywordprospecting/id.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/report/keywordprospecting/id.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/report/keywordprospecting/id.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/report/keywordprospecting/id.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The report id or token. Example: '150'

format
string
required

The file extension. MUST be .json. NOTE: Please do not use this path if you are using the API in your own code because it is already inserted.

Query Params

email
string
required

The user email

session
string
required

The session token of the logged-in user, obtained by calling the login command

Response

Return the report with all keywords used, the relevance and source.

keywordstring

The keywords used for the search. Example: null

searchenginestring

The search engine used to search the content. List of available Search Engines: google, googlelocal, yahoo, bing, yandex, youtube, naverwebdocs, naverlocal, baidu, googlenews, googleimages, daumsite, daumweb. Default: google.

country_namestring

The country name used in the search to filter content. Example: Canada

country_codestring

The country in code format used in the search to filter content. Example: CA

regionstring

The region to search for the content. Example: Toronto

language_codestring

The language code used to transform the content into a specific language. Example: en

dataobject
data.keywordstring

The keyword used to do the search. Example: great canyon

data.relevanceinteger

The relevance of the keyword. Example: 600

data.source_keywordstring

The keyword found in the keyword suggestion. Example: great kanyon

data.source_relevanceinteger

The relevance of the keyword found in the keyword suggestion. Example: 851

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Report not found, is not ready yet or type does not match.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Read the basic information about the user

Read the basic information about the user. Your account needs to be a partner account. To get the user session there is a available API command.

 
gethttps://api.georanker.com/v1/user/idformat
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/user/id.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/user/id.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/user/id.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/user/id.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/user/id.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/user/id.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/user/id.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/user/id.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/user/id.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/user/id.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/user/id.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The user id. Example: '1034'

format
string
required

The file extension. MUST be .json. NOTE: Please do not use this path if you are using the API in your own code because it is already inserted.

Query Params

email
string
required

The PARTNER email. Example: example@gmail.com

session
string
required

The session token of the logged-in PARTNER, obtained by calling the login command

Response

Return the Georanker partner account with the plan data and the email, credits and credits expiration.

idinteger

The user ID. Example: 9999

emailstring

The user email. Example: test@email.com

display_namestring

The user name displayed. Example: Josh Holmes

registeredstring

When the user was registered. Example: 2015-06-11 13:52:56

urlstring

The user URL inserted in the settings. Example: plus.google.com/291

creditsinteger

How many credits the user has. Example: 4541

creditsexpirationstring

When the credits will expire. Example: 2017-06-16 15:58:02

planobject
plan.namestring

The plan name. Example: Enterprises

plan.priceinteger

The plan price. Example: 490

plan.is_publicreportsboolean

If the plan allows public reports. Example: false

plan.creditspermonthinteger

How many credits the user aquire with the plan. Example: 120000

plan.maxlocationsinteger

Limit number of locations that the plan allow to search per report. Example: 100

plan.maxcreditsperreportinteger

The limit of credits that the plan allows per report. Example: 5000

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

User not found or is not linked to the partner.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Read the list of users linked to the partner

Read the list of users linked to the partner account. If there is any account linked to the partner account, then it will return error.

 
gethttps://api.georanker.com/v1/user/list.json
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.georanker.com/v1/user/list.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url 'https://api.georanker.com/v1/user/list.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/user/list.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.georanker.com/v1/user/list.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/user/list.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/user/list.json"

querystring = {"email":"email","session":"session"}

response = requests.request("GET", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/user/list.json?email=email&session=session")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/user/list.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/user/list.json?email=email&session=session");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/user/list.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/user/list.json?email=email&session=session"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The PARTNER email. Example: example@gmail.com

session
string
required

The session token of the logged-in PARTNER, obtained by calling the login command

page
string

The page number.
Default: 1

itemsperpage
string

The max number of users that each page will contain.
Default: 50

Response

Return the number of users with the full data like credits and credits expiration.

itemsobject

The list of users who are partner related to your account.

items.idinteger

The user ID. Example: 9999

items.emailstring

The user email. Example: test@email.com

items.display_namestring

The user name displayed. Example: Josh Holmes

items.registeredstring

When the user was registered. Example: 2015-06-11 13:52:56

items.urlstring

The user URL inserted in the settings. Example: plus.google.com/291

items.creditsinteger

How many credits the user has. Example: 4541

items.creditsexpirationstring

When the credits will expire. Example: 2017-06-16 15:58:02

items.planobject
items.plan.namestring

The plan name. Example: Enterprises

items.plan.priceinteger

The plan price. Example: 490

items.plan.is_publicreportsboolean

If the plan allows public reports. Example: false

items.plan.creditspermonthinteger

How many credits the user aquire with the plan. Example: 120000

items.plan.maxlocationsinteger

Limit number of locations that the plan allow to search per report. Example: 100

items.plan.maxcreditsperreportinteger

The limit of credits that the plan allows per report. Example: 5000

totalinteger

Example: 1

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Bad or expired session id. To fix this you should re-authenticate the user.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Creates a user linked to the partner

Creates a user linked to the partner

 
posthttps://api.georanker.com/v1/user/new.json
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.georanker.com/v1/user/new.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request POST \
  --url 'https://api.georanker.com/v1/user/new.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/user/new.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.georanker.com/v1/user/new.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/user/new.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/user/new.json"

querystring = {"email":"email","session":"session"}

response = requests.request("POST", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/user/new.json?email=email&session=session")
  .post(null)
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/user/new.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/user/new.json?email=email&session=session");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/user/new.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/user/new.json?email=email&session=session"

	req, _ := http.NewRequest("POST", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The PARTNER email. Example: example@gmail.com

session
string
required

The session token of the logged-in PARTNER, obtained by calling the login command

Body Params

email
string
required

The user email in String format. Example: email@provider.com

name
string
required

The User name in String format, cannot have invalid characters and spaces and name needs to be available. Example: thepresident

plan
string
required

A valid plan for the user, like pro or enterprise. Example: pro

Response

Return the new user linked to the partner account.

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Bad or expired session id. To fix this you should re-authenticate the user.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Suggest Edits

Upgrade the user plan removing the old plan and the old credits

Upgrade the user plan removing the old plan and the old credits

 
posthttps://api.georanker.com/v1/user/upgrade.json
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.georanker.com/v1/user/upgrade.json',
  qs: 
   { email: 'email',
     session: 'session' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request POST \
  --url 'https://api.georanker.com/v1/user/upgrade.json?email=email&session=session'
require 'uri'
require 'net/http'

url = URI("https://api.georanker.com/v1/user/upgrade.json?email=email&session=session")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.georanker.com/v1/user/upgrade.json?email=email&session=session");

xhr.send(data);
#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.georanker.com/v1/user/upgrade.json?email=email&session=session"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
import requests

url = "https://api.georanker.com/v1/user/upgrade.json"

querystring = {"email":"email","session":"session"}

response = requests.request("POST", url, params=querystring)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.georanker.com/v1/user/upgrade.json?email=email&session=session")
  .post(null)
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.georanker.com/v1/user/upgrade.json?email=email&session=session",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://api.georanker.com/v1/user/upgrade.json?email=email&session=session");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.georanker.com/v1/user/upgrade.json?email=email&session=session")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.georanker.com/v1/user/upgrade.json?email=email&session=session"

	req, _ := http.NewRequest("POST", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The PARTNER email. Example: example@gmail.com

session
string
required

The session token of the logged-in PARTNER, obtained by calling the login command

Body Params

user_id
integer
required

The user ID in integer format. Example: 657

plan
string
required

What plan that you want to upgrade, in string format. Example: pro

Response

Upgraded the user linked to the partner plan.

Bad input parameter. Error message should indicate which one and why.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Bad or expired session id. To fix this you should re-authenticate the user.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Your app is making too many requests and is being rate limited. 503s can trigger on a per-IP or per-user basis. (Service Unavailable)

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error

Internal server error.

codeinteger

The error code. Usually, we use the same standards as the HTTP status codes. Example: 500

messagestring

The error message generated by our API. Example: Internal Server Error

solutionstring

A possible solution to solve this error. Example: More details about the error