Purchasable Link Search API Documentation

Purchasable Link Search API Commands and Endpoint Details

General Information

Cost per use 0 credits
Concurrent Connections 5
If you need bulk data please use the website, it will be much faster.
Input Item Type webpage or domain

API Endpoint

Use POST to send the data to servya.

https://api.servya.com/process_job.php

Input Variables

Variable Name Input Details
apikey Your unique API Key. If you don't have one, please first get an API Key.
job_type purchasable_link_search
job_input This is the webpage or domain that you want to submit

Output Variables

Variable Description
address The original domain or page address as it was entered.
domain The domain of the entered address. This is what was used for the buyable backlink search
listings A List of all of the listings to buy a link on the entered website. Each Listing item can contain the following items:
  • homepage - This is the homepage of the linking website
  • dofollow - Whether a dofollow link is available or not. Not all sellers divulge this
  • verified - Some websites have tight content placement guidelines and are more likely to deny a post. If they are verified then they are far more likely to accept your post or backlink.
  • turnaround - Turnaround time in days. Usual is around 14 days if it is not listed.
  • traffic - The traffic as reported by a third party source, usually Ahrefs
  • Ahrefs_DR - The Ahrefs Domain Rank of the linking website
  • Moz_DA - The Moz Domain Authority of the linking website
  • price_from - The starting cost for a link on this website. This is usually the cost for providing your own content for the guest post
  • platform - This is the name of the link selling marketplace
  • platform_link - This is a backlink to the marketplace listing, where possible, and to the marketplace homepage where it isn't.
  • link_type - The type of link available in this listing:
    • guest - New post on the website with your backlink. Price may or may not included content writing
    • insertion - Insert your backlink into an existing content
    • press-release - Part of a press release submission
  • categories - Some of the categories given for content posted on the website

Output Examples

Servya API Instructions for Developers

To start testing your implementation and the provided code examples you will first need to acquire an API key.

When you have your API key you will want to visit the documentation for the individual tools to get the API endpoints, inputs, outputs and examples.

We have code examples in lots of popular languages but if you need some help in a different language you can get in touch for some advice.

The API uses simple HTTP post requests and JSON to keep the process of interacting with the API and handling the data returned as simple as possible.

See the list of tools on this page for a direct link to the documentation for the tools.

We have code examples for 6 major programming languages below to aid the integration with your platform.

How to use the API for End Users

Integrating Servya into a supported tool is really simple!

You will first need to get an API key for Servya and then copy it into your software.

From our side, that is all you need to do. Your software should now be able to use the data from our tools.

Servya API Code Examples

Below you'll find code examples in various programming languages. These examples demonstrate how to interact with our API, making it easier for you to integrate our services into your applications. Simply click on the headers to view the code in your preferred language and see how you can quickly get started.

<?php
//Input Variables
$api_key = "!! THIS IS YOUR API KEY !!"; 
$job_input = "example.com";

$apiUrl = "https://api.servya.com/process_job.php";

$data = array(
    'apikey' => $api_key,
    'job_type' => 'purchasable_link_search',
    'job_input' => $job_input
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
if ($response === FALSE) {
    die('Error: ' . curl_error($ch));
}
curl_close($ch);

$data = json_decode($response, true);

// Output API response
print_r($response);
?>
using System;
using System.Net.Http;
using System.Collections.Generic;
using System.Threading.Tasks;
using Newtonsoft.Json;

class Program
{
    private static readonly HttpClient client = new HttpClient();

    static async Task Main()
    {
		// Input Variables
		string api_key = "!! THIS IS YOUR API KEY !!";
		string domain = "example.com";


		var values = new Dictionary
		{
			{ "apikey", api_key },
			{ "job_type", "purchasable_link_search" },
			{ "job_input", domain }
		};

		var content = new FormUrlEncodedContent(values);
		var response = await client.PostAsync("https://api.servya.com/process_job.php", content);
		var responseString = await response.Content.ReadAsStringAsync();

		dynamic data = Newtonsoft.Json.JsonConvert.DeserializeObject(responseString);

		// Output response data to console
		Console.WriteLine(data);
    }
}
import requests

# Fill in your API Key from the website
api_key = '!! THIS IS WHERE YOU PUT YOUR API KEY !!'
# This is the domain to check
domain = 'example.com'

api_url = 'https://api.servya.com/process_job.php'
data = {
    'apikey': api_key,
    'job_type': 'purchasable_link_search',
    'job_input': domain
}

response = requests.post(api_url, data=data)
data = response.json()

# output the data
print(data)
const https = require('https');
const querystring = require('querystring');

const postData = querystring.stringify({
  'apikey': 'your_api_key',
  'job_type': 'purchasable_link_search',
  'job_input': 'example.com'
});

const options = {
  hostname: 'api.servya.com',
  port: 443,
  path: '/process_job.php',
  method: 'POST',
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded',
    'Content-Length': postData.length
  }
};

const req = https.request(options, (res) => {
  let data = '';

  res.on('data', (chunk) => {
    data += chunk;
  });

  res.on('end', () => {
    const parsedData = JSON.parse(data);
    console.log(parsedData);
  });
});

req.on('error', (e) => {
  console.error(`Problem with request: ${e.message}`);
});

req.write(postData);
req.end();
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse("https://api.servya.com/process_job.php")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
  "apikey" => "your_api_key",
  "job_type" => "purchasable_link_search",
  "job_input" => "example.com"
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

data = JSON.parse(response.body)
puts data
package main

import (
	"bytes"
	"fmt"
	"net/http"
	"net/url"
	"strings"
)

func main() {
	apiUrl := "https://api.servya.com/process_job.php"
	data := url.Values{}
	data.Set("apikey", "!! THIS IS YOUR API KEY !!")
	data.Set("job_type", "purchasable_link_search")
	data.Set("job_input", "example.com")

	req, err := http.NewRequest("POST", apiUrl, strings.NewReader(data.Encode()))
	if err != nil {
		fmt.Println("Error creating request:", err)
		return
	}
	req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
	req.Header.Set("Content-Length", fmt.Sprint(len(data.Encode())))

	client := &http.Client{}
	response, err := client.Do(req)
	if err != nil {
		fmt.Println("Error making request:", err)
		return
	}
	defer response.Body.Close()

	buf := new(bytes.Buffer)
	buf.ReadFrom(response.Body)
	fmt.Println("Response:", buf.String())
}
$page_title logger