NAV
php node python

Getting Started

API Endpoints
API Endpoints
API Endpoints

https://api.seotify.com/v1/

Seotify API enables you to create powerful marketing and competitive research applications for a variety of scenarios. It provides you with programmatic access to Seotify apps, and lets you interact with your Seotify account.

We have language bindings in PHP, Node.js, and Python! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

The Seotify API is organized around REST. Our API has predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors. We use built-in HTTP features, like HTTP authentication and HTTP verbs, which are understood by off-the-shelf HTTP clients. We support cross-origin resource sharing, allowing you to interact securely with our API from a client-side web application. JSON is returned by all API responses, including errors, although our API libraries convert responses to appropriate language-specific objects.

Seotify uses API keys to allow access to the API. You can register a new Seotify API key in your profile settings.

Seotify expects for the API key to be included in all API requests to the server in a header

Authentication

require 'Seotify'

api = Seotify::APIClient.authorize!('meowmeowmeow')
api.kittens.get
import Seotify

api = Seotify.authorize('meowmeowmeow')
api.kittens.get()
curl "http://example.com/api/kittens"
-H "Authorization: meowmeowmeow"

GET https://api.seotify.com/v1/PARAMETER=value&key="12DigitAuthKey"

Before you can interact with the Seotify API, you must provide the necessary authentication credentials in each HTTP request that you make to Seotify.

Authenticate your account by including your secret key in API requests. You can manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such GitHub, client-side code, and so forth.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.


Heatmap

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,"https://api.seotify.com/v1/heatmap key=mySecretKey& url=ebay.com");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close ($ch);
var request = require('request');
request('https://api.seotify.com/v1/param',function(err,res,body) {
console.log('error:', error);
console.log('body:', body);
});
import requests
payload = {'key': 'mySecretKey', 'url': 'heatmapUrl'}
r = requests.get('https://api.seotify.com/v1/heatmap', params=payload)
print(r.content)

The above command returns the following JSON object:

[
{
"url": "https://seotify.com/cognitive-intelligence",
"resolution": "1920x1080",
"coordinates": "52x573",
"device": Windows PC,
},
{
"url": "https://seotify.com/cognitive-intelligence",
"resolution": "1920x1080",
"coordinates": "521x2118",
"device": Windows PC,
}
]

Description

Seotify heatmap API is used to retrieve heatmap data for any web page out there.

Available heatmap data for each web page is broken down by mouse click coordinates.

Query Parameters

Parameter Required Description
key True Your secret API key that is used to authorize your requests.
url True URL which you would like to retrieve heatmap data.

Internallink architecture mapping

GET https://api.seotify.com/v1/internallink?url=ebay.com&key="12DigitAuthKey"

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,"https://api.seotify.com/v1/internallink key=mySecretKey& url=ebay.com");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close ($ch);
const request = require('request');
request('https://api.seotify.com/v1/internallink/',function(err,res,body) {
console.log('error:', error);
console.log('body:', body);
});
import requests
payload = {'key': 'mySecretKey', 'url': 'internallinkUrl'}
r = requests.get('https://api.seotify.com/v1/internallink', params=payload)
print(r.content)

The above command returns the following JSON object:

[
{
"url": "https://seotify.com/cognitive-intelligence",
"resolution": "1920x1080",
"coordinates": "52x573",
"device": Windows PC,
},
{
"url": "https://seotify.com/cognitive-intelligence",
"resolution": "1920x1080",
"coordinates": "521x2118",
"device": Windows PC,
}
]

Send post request to the following endpoint to start a new crawl. POST https://api.seotify.com/v1/internallink?url=ebay.com&key="12DigitAuthKey"

Description

You can use our internallink mapping API to programatically run our crawlers on a domain name, and retrieve internallink architecture of a website.

Available internallink data is broken down by unique link relations.

Query Parameters

Parameter Required Description
key True Your secret API key that is used to authorize your requests.
url True URL which you would like to retrieve heatmap data.

Errors

When Seotify receives a request to an API endpoint, a number of different HTTP status codes can be returned in the response depending on the original request. We use conventional HTTP response codes to indicate the success or failure of an API request.

Error Code Meaning
200 The request was successfully processed by Seotify
201 The request has been fulfilled and a new resource has been created.
202 The request has been accepted, but not yet processed.
400 The request was not understood by the server, generally due to bad syntax
401 The necessary authentication credentials are not present in the request or are incorrect
402 Client account is currently frozen
404 The requested resource was not found but could be available again in the future.
429 The request was not accepted because the application has exceeded the rate limit
500 An internal error occurred in Seotify
501 The requested endpoint is not available on that particular service.
503 Service Unavailable – We’re temporarially offline for maintanance. Please try again later.
504 The request could not complete in time. Try breaking it down in multiple smaller requests.