GeoRanker

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

Reads the User Account information

Read the user account information.

 

Query Auth

 Authentication is required for this endpoint.
gethttp://api.highvolume.georanker.com//user
curl --request GET \
  --url 'http://api.highvolume.georanker.com//user?apikey=apikey'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.highvolume.georanker.com//user',
  qs: { apikey: 'apikey' } };

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

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.highvolume.georanker.com//user?apikey=apikey")

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

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", "http://api.highvolume.georanker.com//user?apikey=apikey");

xhr.send(data);
import requests

url = "http://api.highvolume.georanker.com//user"

querystring = {"apikey":"apikey"}

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

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

apikey
string
required

The user account apikey

Response

The user account data.

createdAtstring

When this user was created.

emailsarray

The list email from user.

profileobject
profile.namestring

The user name.

profile.organizationstring

The organization name.

profile.websitestring

The website name.

profile.genderstring

The gender from user.

profile.countryCodestring

The user's country code.

creditsarray

The list email from user.

Bad input parameter. The error message should indicate which one and why.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Bad API Key. Your key may have been mistyped or you do not have access to our API.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Your app is making too many requests and is being rated limited. 503s can trigger on a per-IP or per-user basis.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Suggest Edits

Create a new Search Engine Ranking Page (SERP) request.

Create a request to our system to do a search on the search engine using the keywords, regions, and other settings. This search will be done asynchronously and this request will return a SERP object with an ID that can be used to download the data later.

 

Query Auth

 Authentication is required for this endpoint.
posthttp://api.highvolume.georanker.com//serp/new
curl --request POST \
  --url 'http://api.highvolume.georanker.com//serp/new?apikey=apikey'
var request = require("request");

var options = { method: 'POST',
  url: 'http://api.highvolume.georanker.com//serp/new',
  qs: { apikey: 'apikey' } };

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

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.highvolume.georanker.com//serp/new?apikey=apikey")

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

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", "http://api.highvolume.georanker.com//serp/new?apikey=apikey");

xhr.send(data);
import requests

url = "http://api.highvolume.georanker.com//serp/new"

querystring = {"apikey":"apikey"}

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

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

apikey
string
required

The user account apikey

Body Params

keyword
string
required

The keyword to be used when doing the search. We will not automatically append any city name to the keyword. The search will be done using the exact same keyword sent.

region
string
required

A valid canonical region name or a ISO-3166-1 alpha-2 country code. If the name does not match with a canonical name from our list, we will try to match with its formatted name, local name, id or a country code.

searchEngine
string
required

A valid search engine id.

callback
string

A URL that will be called when this SERP Request is ready to be downloaded. We will do a POST HTTP request with the SERP id (serpId) to the callback URL as soon the data is ready on our database.

maxResults
int32

The total amount of organic results we will collect from the search engine. The maximum value of this variable is determined by the user plan.

isMobile
boolean

If True, we will do the search using a mobile browser. By default, this variable is False.

language
string

Two letters ISO 639-1 language code. If this field is not provided, we will use the default language for the country.

Response

SERP Request created

idstring

A unique id created for this SERP object. This id can be used to read or update this object.

keywordstring

The keyword to be used when doing the search. We will not automatically append any city name to the keyword. The search will be done using the exact same keyword sent.

regionobject
region.idstring

Unique and persistent assigned ID for the region.

region.namestring

Best available English name of the geo region.

region.localNamestring

The name of the region in the local language.

region.formattedNamestring

Fully qualified region name in a human readable format.

region.canonicalNamestring

The constructed fully qualified English name consisting of the region's own name, and that of its parent and country. This is unique and should be used when sending Regions names via our API.

region.placeIdstring

ID code of the region in google maps API.

region.parentIdstring

If the region is inside another region, this field contains the parent's region ID.

region.countryCodestring

The ISO-3166-1 alpha-2 country code that is associated with the region.

region.typestring

The type of the region.

region.populationinteger

The approximate total population of the region.

region.latitudenumber

The latitude of the center of the region.

region.longitudenumber

The longitude of the center of the region.

searchEnginestring

A valid search engine id.

callbackstring

A URL that will be called when this SERP Request is ready to be downloaded. We will do a POST HTTP request with the SERP id to the callback url as soon the data is ready on our database.

maxResultsinteger

The total amount of organic results we will collect from the search engine. The maximum value of this variable is determined by the user plan.

isMobileboolean

If True, we will do the search using a mobile browser. By default, this variable is False.

languagestring

Two letters ISO 639-1 language code. If this field is not provided, we will use the default language for the country.

readyboolean

If this object is false, means that the SERP data is not ready yet and we are still processing it. If true, the data can be consumed.

isFromApiboolean

If true, this SERP was created by our API

queuedboolean

True if the SERP request was already sent to one of our crawlers.

createdAtstring

When this search was requested to be processed.

generatedAtstring

When this Search was performed at the search engine.

dataobject
data.totalResultsinteger

The amount of results the search engine has indexed to that keyword.

data.organicarray

The organic list of results for this search. This can include some special data like, for example, Google Maps Pack.

data.advertisersarray

The list of advertisers that was displayed when doing this search.

Bad input parameter. The error message should indicate which one and why.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Bad API Key. Your key may have been mistyped or you do not have access to our API.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Your app is making too many requests and is being rated limited. 503s can trigger on a per-IP or per-user basis.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

The user has no credits left.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Suggest Edits

Display the current SERP data for a provided ID.

Return the full SERP data based on the ID. If the data is not ready yet, the flag ready will be false and the data object may be null.

 

Query Auth

 Authentication is required for this endpoint.
gethttp://api.highvolume.georanker.com//serp/id
curl --request GET \
  --url 'http://api.highvolume.georanker.com//serp/id?apikey=apikey'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.highvolume.georanker.com//serp/id',
  qs: { apikey: 'apikey' } };

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

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.highvolume.georanker.com//serp/id?apikey=apikey")

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

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", "http://api.highvolume.georanker.com//serp/id?apikey=apikey");

xhr.send(data);
import requests

url = "http://api.highvolume.georanker.com//serp/id"

querystring = {"apikey":"apikey"}

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

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of SERP that needs to be fetched

Query Params

apikey
string
required

The user account apikey

Response

SERP Request created

idstring

A unique id created for this SERP object. This id can be used to read or update this object.

keywordstring

The keyword to be used when doing the search. We will not automatically append any city name to the keyword. The search will be done using the exact same keyword sent.

regionobject
region.idstring

Unique and persistent assigned ID for the region.

region.namestring

Best available English name of the geo region.

region.localNamestring

The name of the region in the local language.

region.formattedNamestring

Fully qualified region name in a human readable format.

region.canonicalNamestring

The constructed fully qualified English name consisting of the region's own name, and that of its parent and country. This is unique and should be used when sending Regions names via our API.

region.placeIdstring

ID code of the region in google maps API.

region.parentIdstring

If the region is inside another region, this field contains the parent's region ID.

region.countryCodestring

The ISO-3166-1 alpha-2 country code that is associated with the region.

region.typestring

The type of the region.

region.populationinteger

The approximate total population of the region.

region.latitudenumber

The latitude of the center of the region.

region.longitudenumber

The longitude of the center of the region.

searchEnginestring

A valid search engine id.

callbackstring

A URL that will be called when this SERP Request is ready to be downloaded. We will do a POST HTTP request with the SERP id to the callback url as soon the data is ready on our database.

maxResultsinteger

The total amount of organic results we will collect from the search engine. The maximum value of this variable is determined by the user plan.

isMobileboolean

If True, we will do the search using a mobile browser. By default, this variable is False.

languagestring

Two letters ISO 639-1 language code. If this field is not provided, we will use the default language for the country.

readyboolean

If this object is false, means that the SERP data is not ready yet and we are still processing it. If true, the data can be consumed.

isFromApiboolean

If true, this SERP was created by our API

queuedboolean

True if the SERP request was already sent to one of our crawlers.

createdAtstring

When this search was requested to be processed.

generatedAtstring

When this Search was performed at the search engine.

dataobject
data.totalResultsinteger

The amount of results the search engine has indexed to that keyword.

data.organicarray

The organic list of results for this search. This can include some special data like, for example, Google Maps Pack.

data.advertisersarray

The list of advertisers that was displayed when doing this search.

Bad input parameter. The error message should indicate which one and why.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Bad API Key. Your key may have been mistyped or you do not have access to our API.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

SERP not found or you don't have permission to read it.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Your app is making too many requests and is being rated limited. 503s can trigger on a per-IP or per-user basis.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

The user has no credits left.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Suggest Edits

Deletes a SERP request from our database.

Remove from our database a SERP object that is not necessary anymore. This will not give the credits back to the user account.

 

Query Auth

 Authentication is required for this endpoint.
deletehttp://api.highvolume.georanker.com//serp/id
curl --request DELETE \
  --url 'http://api.highvolume.georanker.com//serp/id?apikey=apikey'
var request = require("request");

var options = { method: 'DELETE',
  url: 'http://api.highvolume.georanker.com//serp/id',
  qs: { apikey: 'apikey' } };

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

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.highvolume.georanker.com//serp/id?apikey=apikey")

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

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", "http://api.highvolume.georanker.com//serp/id?apikey=apikey");

xhr.send(data);
import requests

url = "http://api.highvolume.georanker.com//serp/id"

querystring = {"apikey":"apikey"}

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

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of SERP that needs to be deleted

Query Params

apikey
string
required

The user account apikey

Response

SERP request deleted. Please note that the code 204 means "No Content" and the response body will be empty.

Bad input parameter. The error message should indicate which one and why.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Bad API Key. Your key may have been mistyped or you do not have access to our API.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

SERP not found or you don't have permission to read it.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Your app is making too many requests and is being rated limited. 503s can trigger on a per-IP or per-user basis.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Suggest Edits

Read a list of regions

Read and filter a list of regions. The region list is static and can be cached on the client side.

 

Query Auth

 Authentication is required for this endpoint.
gethttp://api.highvolume.georanker.com//region/list
curl --request GET \
  --url 'http://api.highvolume.georanker.com//region/list?apikey=apikey'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.highvolume.georanker.com//region/list',
  qs: { apikey: 'apikey' } };

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

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.highvolume.georanker.com//region/list?apikey=apikey")

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

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", "http://api.highvolume.georanker.com//region/list?apikey=apikey");

xhr.send(data);
import requests

url = "http://api.highvolume.georanker.com//region/list"

querystring = {"apikey":"apikey"}

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

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

countryCode
string

The two letters ISO-3166-1 alpha-2 country code to use to filter the region list.

type
string

The type of the region

items
integer

The total number of items to return on the search

page
integer

The page to download

apikey
string
required

The user account apikey

Response

The list of regions that was found using the filters

pageinteger

Current page number

totalinteger

The total amount of results for this search.

itemsarray

The name of the region in the local language.

Bad input parameter. The error message should indicate which one and why.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Bad API Key. Your key may have been mistyped or you do not have access to our API.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Your app is making too many requests and is being rated limited. 503s can trigger on a per-IP or per-user basis.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Suggest Edits

Get whois data and contact information from a domain name

Return the whois data from a domain name. The response includes informations of the domain's server, it's social media links and contacts of the responsible personal of the domain.

 

Query Auth

 Authentication is required for this endpoint.
gethttp://api.highvolume.georanker.com//whois/domain
curl --request GET \
  --url 'http://api.highvolume.georanker.com//whois/domain?apikey=apikey'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.highvolume.georanker.com//whois/domain',
  qs: { apikey: 'apikey' } };

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

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.highvolume.georanker.com//whois/domain?apikey=apikey")

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

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", "http://api.highvolume.georanker.com//whois/domain?apikey=apikey");

xhr.send(data);
import requests

url = "http://api.highvolume.georanker.com//whois/domain"

querystring = {"apikey":"apikey"}

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

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

domain
string
required

Domain name of whois data that needs to be fetched

Query Params

apikey
string
required

The user account apikey

source
string

This is the data source to generate the whois data.
The possible values are:
auto: This is the default option. Our System chooses the best data source based on the domain TLD.

website: This will make the request try to be solved using the website scraping algorithm. This will only work for a small and very specific list of TLDs.
whois: Most of the time, we will use this data source to get the data. This is equivalent to run the whois via command line on a linux machine and, after, extract each single piece of data.

Response

The Whois object with the contact and social links information collected.

domainstring

The domain used to gather informations.

tldstring

The domain's tld. If the domain is an IP address, this field will be NULL. This field never starts with a dot.

statusarray

The list of status of the domain.

createdAtstring

When this domain was created.

updatedAtstring

When this domain was last updated.

expiredAtstring

When this domain will expire.

nameServersarray

The list of the names of the domain.

contactsobject

The contact data object related to the domain.

contacts.registrantobject

The contact information data.

contacts.registrant.namestring

The name of the contact.

contacts.registrant.orgstring

The name of the organization

contacts.registrant.emailstring

The email address

contacts.registrant.streetarray

The address parts

contacts.registrant.postalstring

The postal code of the contact

contacts.registrant.citystring

The city of the contact

contacts.registrant.statestring

The state of the contact

contacts.registrant.countrystring

The country of the contact

contacts.registrant.phonestring

The phone number of the contact

contacts.registrant.faxstring

The fax number of the contact

contacts.adminobject

The contact information data.

contacts.admin.namestring

The name of the contact.

contacts.admin.orgstring

The name of the organization

contacts.admin.emailstring

The email address

contacts.admin.streetarray

The address parts

contacts.admin.postalstring

The postal code of the contact

contacts.admin.citystring

The city of the contact

contacts.admin.statestring

The state of the contact

contacts.admin.countrystring

The country of the contact

contacts.admin.phonestring

The phone number of the contact

contacts.admin.faxstring

The fax number of the contact

contacts.techobject

The contact information data.

contacts.tech.namestring

The name of the contact.

contacts.tech.orgstring

The name of the organization

contacts.tech.emailstring

The email address

contacts.tech.streetarray

The address parts

contacts.tech.postalstring

The postal code of the contact

contacts.tech.citystring

The city of the contact

contacts.tech.statestring

The state of the contact

contacts.tech.countrystring

The country of the contact

contacts.tech.phonestring

The phone number of the contact

contacts.tech.faxstring

The fax number of the contact

contacts.zoneobject

The contact information data.

contacts.zone.namestring

The name of the contact.

contacts.zone.orgstring

The name of the organization

contacts.zone.emailstring

The email address

contacts.zone.streetarray

The address parts

contacts.zone.postalstring

The postal code of the contact

contacts.zone.citystring

The city of the contact

contacts.zone.statestring

The state of the contact

contacts.zone.countrystring

The country of the contact

contacts.zone.phonestring

The phone number of the contact

contacts.zone.faxstring

The fax number of the contact

contacts.billingobject

The contact information data.

contacts.billing.namestring

The name of the contact.

contacts.billing.orgstring

The name of the organization

contacts.billing.emailstring

The email address

contacts.billing.streetarray

The address parts

contacts.billing.postalstring

The postal code of the contact

contacts.billing.citystring

The city of the contact

contacts.billing.statestring

The state of the contact

contacts.billing.countrystring

The country of the contact

contacts.billing.phonestring

The phone number of the contact

contacts.billing.faxstring

The fax number of the contact

rawTextstring

The raw text of the whois request.

emailsarray

The list of emails found on the whois information of the domain

registeredboolean

Either if the domain is registered or not.

registrarobject

The registrar infomation related to the domain.

registrar.namestring

The registrar name.

registrar.emailstring

The registrar email.

registrar.urlstring

The registrar url.

registrar.phonestring

The registrar phone number.

serverobject

The server information of the domain.

server.ipstring

The IP of the domain.

server.reverseDNSstring

The Reverse DNS hostname of the IP address found.

server.latitudenumber

The latitude of the domain's server.

server.longitudenumber

The longitude of the domain's server.

server.countrystring

The country of the domain's server.

server.citystring

The city of the domain's server.

server.continentstring

The continent of the domain's server.

server.hostingASNstring

The autonomous system number.

server.hostingPoviderstring

The provider of the domain's host.

backlinksinteger

The total number of backlinks that points to any domain or subdomain.

socialLinksobject

The domain social media links. This data is only avaiable if the social links are present on the homepage of the website.

socialLinks.facebookstring

The facebook address found for the domain.

socialLinks.twitterstring

The twitter address found for the domain.

socialLinks.linkedinstring

The linkedin address found for the domain.

Bad input parameter. The error message should indicate which one and why.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Bad API Key. Your key may have been mistyped or you do not have access to our API.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error. The error message should indicate which one and why.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Your app is making too many requests and is being rated limited. 503s can trigger on a per-IP or per-user basis.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

The user has no credits left.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

 
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
curl --request GET \
  --url 'https://api.georanker.com/v1/account/info.json?email=email&session=session'
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);
});
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 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)
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

Response

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

idinteger

The user ID.

emailstring

The user email.

display_namestring

The user name displayed.

registeredstring

When the user was registered.

urlstring

The user URL inserted in the settings.

creditsinteger

How many credits the user has.

creditsexpirationstring

When the credits will expire.

planobject
plan.namestring

The plan name.

plan.priceinteger

The plan price.

plan.is_publicreportsboolean

If the plan allows public reports.

plan.creditspermonthinteger

How many credits the user aquire with the plan.

plan.maxlocationsinteger

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

plan.maxcreditsperreportinteger

The limit of credits that the plan allows per 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

User data not found.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/account/settings.json?email=email&session=session'
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);
});
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 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)
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

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.

is_sendnewsboolean

If the user is receiving blog news allert.

notificationstimestring

The notification time when the user will receive something.

timezonestring

The user timezone.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

User settings data not found.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Method Not Allowed

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request PUT \
  --url 'https://api.georanker.com/v1/account/settings.json?email=email&session=session'
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);
});
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 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)
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

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.

is_sendnews
boolean

If the user is receiving blog news allert.

notificationstime
string

The notification time when the user will receive something.

timezone
string

The user timezone.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

User settings data not found.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/api/login.json?email=email&apikey=apikey'
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);
});
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 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)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The user email

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 user session which is got in the get-session-login command.

expiresstring

The date and hour where the user session will expire.

createdstring

The date and hour where the user session was created.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/api/changelog.json?email=email&session=session'
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);
});
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 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)
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

Response

Return the full title, date and content changelogs.

titlestring

The change log title.

datestring

The date when the change log was published.

textstring

The change log content.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/api/blognews.json?email=email&session=session'
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);
});
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 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)
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

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.

datestring

The date when the blog post was published.

textstring

The blog post content.

urlobject

The blog post URL.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/country/code.json?email=email&session=session'
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);
});
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 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)
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

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.

namestring

The country name.

tldstring

The country tld, if available.

is_activeboolean

Check if the country is available for the search.

continentstring

The country continent.

topcitiesarray

The country top cities, normally who has a biggest country population.

languagesobject
languages.codestring

The language code.

languages.namestring

The language name.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Country not found.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/country/list.json?email=email&session=session'
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);
});
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 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)
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

Response

Return the list of countries available and active in Georanker.

codestring

The country code in capital letters.

namestring

The country name.

tldstring

The country tld, if available.

is_activeboolean

Check if the country is available for the search.

continentstring

The country continent.

topcitiesarray

The country top cities, normally who has a biggest country population.

languagesobject
languages.codestring

The language code.

languages.namestring

The language name.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/language/code.json?email=email&session=session'
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);
});
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 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)
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

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.

namestring

The language name.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Language not found.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/language/list.json?email=email&session=session'
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);
});
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 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)
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

Response

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

codestring

The language code.

namestring

The language name.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/monitor/id.json?email=email&session=session'
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);
});
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 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)
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

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.

report_idinteger

The report ID from the monitor.

date_createdstring

When the monitor was created.

date_executedstring

The last time when the monitor was executed.

is_activeboolean

If the monitor is still alive.

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.

typestring

The reports type of the monitors.

campaign_idinteger

The campaign id from the monitor.

is_statscollectorboolean

If the monitor is collecting stats.

email_ccstring

What is the email to send the changes regarding the monitor.

reportsobject
reports.idinteger

The report ID.

reports.tokenstring

The report token.

reports.campaign_idinteger

The ID for the campain where the report is related.

reports.typestring

The report type.

reports.is_pendingboolean

If the report is still generating.

reports.keywordsarray

Keywords used to generate the report.

reports.countriesarray

List of countries used to generate the report.

reports.regionsarray

List of regions related to the country used to generate the report.

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.

reports.is_fillcitiesboolean

If it was filled automatically the country cities.

reports.is_formobileboolean

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

reports.maxcitiesinteger

Number of cities choosed to search.

reports.search_enginesarray

The search engines used in the report.

reports.date_createdstring

The date when the report was created.

reports.date_generatedstring

The date when the report was generated.

reports.is_publicboolean

If the report is visible for everyone.

reports.monitor_idinteger

The monitor report ID.

reports.creditsinteger

How many credits was consumed to generate the report.

reports.callbackstring

The callback to inform when the report was finished.

reports.is_gmsearchmodeboolean

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

reports.is_carouselfallbackmodeboolean

If the report is to beign create from time to time.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Monitor not found.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request PUT \
  --url 'https://api.georanker.com/v1/monitor/id.json?email=email&session=session'
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);
});
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 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)
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

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.

is_sendemail
boolean

Check if the monitor is sending emails or not.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Monitor data not found.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request DELETE \
  --url 'https://api.georanker.com/v1/monitor/id.json?email=email&session=session'
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);
});
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 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)
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

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Monitor not found.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/monitor/list.json?email=email&session=session'
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);
});
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 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)
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 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.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request POST \
  --url 'https://api.georanker.com/v1/monitor/new.json?email=email&session=session'
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);
});
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 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)
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

report_id
integer
required

The report ID that you want to monitor in Integer format

is_sendemail
boolean

If is to send the monitor usage by the user email

periodicity
string
required

For how much time the monitor needs to create a new report

type
string
required

The monitor type

Response

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

idinteger

The monitor ID.

report_idinteger

The report ID from the monitor.

date_createdstring

When the monitor was created.

date_executedstring

The last time when the monitor was executed.

is_activeboolean

If the monitor is still alive.

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.

typestring

The reports type of the monitors.

campaign_idinteger

The campaign id from the monitor.

is_statscollectorboolean

If the monitor is collecting stats.

email_ccstring

What is the email to send the changes regarding the monitor.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Monitor not found. Please, create the report first.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/report/id.json?email=email&session=session'
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);
});
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 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)
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.

tokenstring

The report token.

campaign_idinteger

The ID for the campain where the report is related.

typestring

The report type.

is_pendingboolean

If the report is still generating.

keywordsarray

Keywords used to generate the report.

countriesarray

List of countries used to generate the report.

regionsarray

List of regions related to the country used to generate the report.

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.

is_fillcitiesboolean

If it was filled automatically the country cities.

is_formobileboolean

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

maxcitiesinteger

Number of cities choosed to search.

search_enginesarray

The search engines used in the report.

date_createdstring

The date when the report was created.

date_generatedstring

The date when the report was generated.

is_publicboolean

If the report is visible for everyone.

monitor_idinteger

The monitor report ID.

creditsinteger

How many credits was consumed to generate the report.

callbackstring

The callback to inform when the report was finished.

is_gmsearchmodeboolean

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

is_carouselfallbackmodeboolean

If the report is to beign create from time to time.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Report not found.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request DELETE \
  --url 'https://api.georanker.com/v1/report/id.json?email=email&session=session'
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);
});
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 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)
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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Report not found.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/report/list.json?email=email&session=session'
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);
});
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 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)
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.

items.tokenstring

The report token.

items.campaign_idinteger

The ID for the campain where the report is related.

items.typestring

The report type.

items.is_pendingboolean

If the report is still generating.

items.keywordsarray

Keywords used to generate the report.

items.countriesarray

List of countries used to generate the report.

items.regionsarray

List of regions related to the country used to generate the report.

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.

items.is_fillcitiesboolean

If it was filled automatically the country cities.

items.is_formobileboolean

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

items.maxcitiesinteger

Number of cities choosed to search.

items.search_enginesarray

The search engines used in the report.

items.date_createdstring

The date when the report was created.

items.date_generatedstring

The date when the report was generated.

items.is_publicboolean

If the report is visible for everyone.

items.monitor_idinteger

The monitor report ID.

items.creditsinteger

How many credits was consumed to generate the report.

items.callbackstring

The callback to inform when the report was finished.

items.is_gmsearchmodeboolean

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

items.is_carouselfallbackmodeboolean

If the report is to beign create from time to time.

totalinteger

The numbers of reports returned in the search.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request POST \
  --url 'https://api.georanker.com/v1/report/new.json?email=email&session=session'
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);
});
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 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)
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
required

List of Search Engines (google, googlelocal, yahoo, bing, yandex, youtube, naverwebdocs, naverlocal, baidu,googlenews, googleimages). Default: google.

type
string
required

ranktracker, heatmap, 1stpage, advertisers, authors, citations, sitereport and keywordrankings.

callback
string

A URL that will be called when this Report Request is ready to be downloaded.

countries
array
required

List of Country codes. Use this param or Region.

ignoretypes
array

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).

is_carouselfallbackmode
boolean

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

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.

is_formobile
boolean

Is this report for mobile platform.

is_global
boolean

True if the report is a country-level report.

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.

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.

is_translatekeywords
boolean

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

is_usealternativetld
boolean

If true, it will always use the TLD.com instead of using the local TLDs for each country.

keywords
array
required

List of keywords. You must specify at least one keyword. The keyword must contain at least 3 characters.

language
string

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

maxcities
integer

Number of cities to search in the search engine.

regions
array

All report regions to search, in array format.

totalresults
integer

The maximum amount of results we will crawl. Usually, you want to keep this at 100.

translatekeywordsfrom
string

Translate the keywords to this specific language.

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.

tokenstring

The report token.

campaign_idinteger

The ID for the campain where the report is related.

typestring

The report type.

is_pendingboolean

If the report is still generating.

keywordsarray

Keywords used to generate the report.

countriesarray

List of countries used to generate the report.

regionsarray

List of regions related to the country used to generate the report.

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.

is_fillcitiesboolean

If it was filled automatically the country cities.

is_formobileboolean

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

maxcitiesinteger

Number of cities choosed to search.

search_enginesarray

The search engines used in the report.

date_createdstring

The date when the report was created.

date_generatedstring

The date when the report was generated.

is_publicboolean

If the report is visible for everyone.

monitor_idinteger

The monitor report ID.

creditsinteger

How many credits was consumed to generate the report.

callbackstring

The callback to inform when the report was finished.

is_gmsearchmodeboolean

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

is_carouselfallbackmodeboolean

If the report is to beign create from time to time.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Report not found. Please, create the report first.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/report/chart/id.json?email=email&session=session'
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);
});
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 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)
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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Report not found.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/report/ranktracker/id.json?email=email&session=session'
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);
});
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 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)
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.

rankpositions.country_codestring

The country in code format used in the search to filter content.

rankpositions.regionstring

The region to search for the content.

rankpositions.positioninteger

in what search engine result position was found the content.

rankpositions.language_codestring

The language code used to transform the content into a specific language.

rankpositions.smallchartdatastring

Data to use in charts.

rankpositions.indexed_pagesinteger

Total of results found in the search engine search.

rankpositions.searchenginestring

The search engine used to search the content.

rankpositions.urlstring

the url which is visible for the user in the search engine result.

rankpositions.has_mapsboolean

If the rank tracker results has maps inside.

rankpositions.has_newsboolean

If the rank tracker results has news inside.

rankpositions.has_adsboolean

If the rank tracker report results has advertisers inside.

rankpositions.has_blendedboolean
rankpositions.has_imagesboolean

If the rank tracker results has images inside.

rankpositions.dataobject
rankpositions.data.matchstring

How the results are macthed, in this case was by URL.

rankpositions.data.positioninteger

in what search engine result position was found the content.

rankpositions.data.pageinteger

in what search engine result page was found the content.

rankpositions.data.titlestring

The title for the result found in the search engine block.

rankpositions.data.urlstring

the full url which not visible for the user in the search engine result.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/report/firstpage/id.json?email=email&session=session'
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);
});
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 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)
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.

indexed_pagesinteger

Total of results found in the search engine search.

searchenginestring

The search engine used to search the content.

country_codestring

The country in code format used in the search to filter content.

language_codestring

The language code used to transform the content into a specific language.

regionstring

The region to search for the content.

has_mapsboolean

If the advertisers results has maps inside.

has_newsboolean

If the advertisers results has news inside.

has_adsboolean

If the advertisers report results has advertisers inside.

has_blendedboolean
has_imagesboolean

If the advertisers results has images inside.

dataobject
data.url_visiblestring

the url which is visible for the user in the search engine result.

data.positionstring

in what search engine result position was found the content.

data.pagestring

in what search engine result page was found the content.

data.typestring

the result block type. OR for organic, for example.

data.urlstring

the full url which not visible for the user in the search engine result.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/report/advertisers/id.json?email=email&session=session'
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);
});
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 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)
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.

indexed_pagesinteger

Total of results found in the search engine search.

searchenginestring

The search engine used to search the content.

country_codestring

The country in code format used in the search to filter content.

language_codestring

The language code used to transform the content into a specific language.

regionstring

The region to search for the content.

has_mapsboolean

If the advertisers results has maps inside.

has_newsboolean

If the advertisers results has news inside.

has_adsboolean

If the advertisers report results has advertisers inside.

has_blendedboolean
has_imagesboolean

If the advertisers results has images inside.

dataobject
data.url_visiblestring

the url which is visible for the user in the search engine result.

data.sitelinksarray

related results that can be found in the result block itself bellow the result description.

data.positioninteger

in what search engine result position was found the content.

data.pageinteger

in what search engine result page was found the content.

data.textstring

the result description.

data.titlestring

the result title.

data.typestring

the result block type. OR for organic, for example.

data.urlstring

the full url which not visible for the user in the search engine result.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/report/heatmap/id.json?email=email&session=session'
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);
});
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 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)
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.

indexed_pagesinteger

Total of results found in the search engine search.

searchenginestring

The search engine used to search the content.

country_codestring

The country in code format used in the search to filter content.

language_codestring

The language code used to transform the content into a specific language.

regionstring

The region to search for the content.

has_mapsboolean

If the heat map results has maps inside.

has_newsboolean

If the heat map results has news inside.

has_adsboolean

If the heat map results has advertisers inside.

has_blendedboolean
has_imagesboolean

If the heat map results has images inside.

dataobject
data.url_visiblestring

the url which is visible for the user in the search engine result.

data.sitelinksarray

related results that can be found in the result block itself bellow the result description.

data.positioninteger

in what search engine result position was found the content.

data.pageinteger

in what search engine result page was found the content.

data.titlestring

the result title.

data.typestring

the result block type. OR for organic, for example.

data.urlstring

the full url which not visible for the user in the search engine result.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/report/citations/id.json?email=email&session=session'
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);
});
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 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)
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.

searchenginestring

The search engine used to search the content.

country_namestring

The country name used in the search to filter content.

country_codestring

The country in code format used in the search to filter content.

language_codestring

The language code used to transform the content into a specific language.

regionstring

The region to search for the content.

dataobject
data.urlstring

The url used in the search to filter the results.

data.positionstring

The citation position in the search result.

data.source_phonestring

The phone used in the search to filter the result.

data.source_domainstring

The domain used in the search to filter result.

data.source_keywordstring

This how the search was done in the search engine.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/report/keywordprospecting/id.json?email=email&session=session'
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);
});
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 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)
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.

searchenginestring

The search engine used to search the content.

country_namestring

The country name used in the search to filter content.

country_codestring

The country in code format used in the search to filter content.

regionstring

The region to search for the content.

language_codestring

The language code used to transform the content into a specific language.

dataobject
data.keywordstring

The keyword used to do the search.

data.relevanceinteger

The relevance of the keyword.

data.source_keywordstring

The keyword found in the keyword suggestion.

data.source_relevanceinteger

The relevance of the keyword found in the keyword suggestion.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/user/id.json?email=email&session=session'
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);
});
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 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)
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

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.

emailstring

The user email.

display_namestring

The user name displayed.

registeredstring

When the user was registered.

urlstring

The user URL inserted in the settings.

creditsinteger

How many credits the user has.

creditsexpirationstring

When the credits will expire.

planobject
plan.namestring

The plan name.

plan.priceinteger

The plan price.

plan.is_publicreportsboolean

If the plan allows public reports.

plan.creditspermonthinteger

How many credits the user aquire with the plan.

plan.maxlocationsinteger

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

plan.maxcreditsperreportinteger

The limit of credits that the plan allows per 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request GET \
  --url 'https://api.georanker.com/v1/user/list.json?email=email&session=session'
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);
});
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 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)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The PARTNER email

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.

items.emailstring

The user email.

items.display_namestring

The user name displayed.

items.registeredstring

When the user was registered.

items.urlstring

The user URL inserted in the settings.

items.creditsinteger

How many credits the user has.

items.creditsexpirationstring

When the credits will expire.

items.planobject
items.plan.namestring

The plan name.

items.plan.priceinteger

The plan price.

items.plan.is_publicreportsboolean

If the plan allows public reports.

items.plan.creditspermonthinteger

How many credits the user aquire with the plan.

items.plan.maxlocationsinteger

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

items.plan.maxcreditsperreportinteger

The limit of credits that the plan allows per report.

totalinteger

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request POST \
  --url 'https://api.georanker.com/v1/user/new.json?email=email&session=session'
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);
});
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 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)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The PARTNER email

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

name
string
required

The User name in String format, cannot have invalid characters and spaces and name needs to be available

plan
string
required

A valid plan for the user, like pro or enterprise

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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
curl --request POST \
  --url 'https://api.georanker.com/v1/user/upgrade.json?email=email&session=session'
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);
});
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 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)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

email
string
required

The PARTNER email

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.

plan
string
required

What plan that you want to upgrade, in string format.

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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this 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.

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.

Internal server error.

codeinteger

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

messagestring

The error message generated by our API.

solutionstring

A possible solution to solve this error.