Links Indexer Sign Up for Free

API Documentation

The Links Indexer API lets you create campaigns, schedule dripfeeds, and check your remaining credits from your own code. No dashboard needed. Send your links over and we handle the pinging.

Getting started

Links Indexer exposes a simple REST API that speaks JSON, so you can create campaigns straight from your own system. Setup takes two steps: copy your api_token from the Settings page, then point your requests at the endpoints below.

Want to test your integration before committing? Create a free account and then contact us; we'll switch your account to a developer one so you can experiment freely.

BASE https://linksindexer.com/api/

Every endpoint below lives under this base URL, and each one accepts GET as well as POST requests.

New to Links Indexer? Read about our link indexing service, compare plans and pricing, or browse the frequently asked questions.

Get your API key →

Guides

Authentication

How to pass your api_token so the API knows who you are.

Read more →

Variables & Codes

What each response field means, plus the error codes and rate limits to watch for.

Read more →

Create Campaign

Submit URLs, group them into campaigns, and control how fast they get pinged.

Read more →

Overview

The Links Indexer API gives you direct access to our web services. You send an HTTP request, the API processes it, and you get JSON back.

Day to day, that means creating new campaigns, setting dripfeed days, checking how many daily credits you have left, and indexing links through your XML RPC requests.

Every endpoint accepts both GET and POST requests.

Prefer not to write code? The free backlink generator creates automated backlinks from your browser — no API key needed.

Authentication

Every request must carry your api_token, which you'll find on the Links Indexer Settings page. Pass it as a request body parameter or as a URL query parameter; both work the same way.

Variables & Codes

When a request fails, the Links Indexer API returns three things: a success flag, a message, and an errors object that lists each field that needs fixing.

{
    "success": false,
    "message": "Input Fields Validation Error",
    "errors": {
        "api_token": [
            "API Token is required"
        ],
        "urls": [
            "URLS are required"
        ]
    }
}
HTTP Key Description
200/404 success Whether the API request succeeded. Returns the boolean true or false depending on the query response.
200 message A success message, or a short description of what went wrong.
200 api_token Your API authentication key, generated by our system for each client. It identifies you to the API. You can find yours on the settings page at Links Indexer.
200 campaign_name The name under which your submitted URLs get grouped. Campaigns help you keep links organized. If you omit this variable or leave it blank, the system creates a campaign named with the current date time stamp. If a campaign with that name already exists, the system adds some random characters to the end of it.
104 dripfeed Sets how links get scheduled. There are 3 possible options.
dripfeed=0 If omitted or left blank, the system defaults to drip-feeding all links within 2 days.
dripfeed=7 Integers only, up to 15. Drip-feeds all the links over the number of days you define.
formula Daily pinged links = (number of links) / (number of days)
200 urls A string of all the URLs to send to our system, separated by | (single pipe) with no spaces or new lines. If you submit more links than your remaining daily limit, the system accepts only as many as that limit allows.
422 rate_limit Repeated calls to any API function with an invalid api_token block the user for a few seconds, and the block grows with each failed attempt. The "Rate Limits" section of the API documentation covers this.

[GET] Health

GET https://linksindexer.com/api/health-check

Returns the current server time. Useful as a quick smoke test: hit it once to confirm the API is up and responding before you send real requests.

<?php

$api_token = 'YOUR_API_KEY_HERE';

// build the POST/GET query string
$qstring = 'api_token=' . $api_token;

// Do the API Request using CURL functions
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL            => 'https://linksindexer.com/api/health-check',
    CURLOPT_POSTFIELDS     => $qstring,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING       => '',
    CURLOPT_MAXREDIRS      => 10,
    CURLOPT_TIMEOUT        => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION   => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST  => 'GET',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Response:

{
    "success": true,
    "timestamp": "Mon, Dec 11, 2023 10:41 AM"  // current time in IST
}

[POST] Create Campaign

POST https://linksindexer.com/api/campaign/create

New API campaigns get a default 7 days dripfeed: links submitted today start getting pinged tomorrow. Want them indexed right away? Send dripfeed=0 instead.

Campaigns that share a name and are created on the same day get merged into one. Say you create a campaign called ABC at 1 AM with 100 links, then create another named ABC at 3 AM; the second one folds into the first. This keeps you from ending up with a pile of tiny campaigns. A campaign created on a later day is never merged with yesterday's, so don't worry if new API campaigns don't show up as separate entries.

<?php

$api_token = 'YOUR_API_KEY_HERE';
$campaign_name = 'CAMPAIGN_NAME_HERE'; // OPTIONAL

// All URLS to be sent are hold in an array for example
$urls = array('http://www.example.com', 'http://www.example.com/title');

// build the POST query string and join the URLs array with | (single pipe)
$qstring = 'api_token=' . $api_token . '&campaign_name=' . $campaign_name
    . '&urls=' . urlencode(implode('|', $urls));

// Do the API Request using CURL functions
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL            => 'https://linksindexer.com/api/campaign/create',
    CURLOPT_POSTFIELDS     => $qstring,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING       => '',
    CURLOPT_MAXREDIRS      => 10,
    CURLOPT_TIMEOUT        => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION   => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST  => 'POST',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Response:

{
    "success": true,
    "message": "API Campaign 2022-06-18 00:35:01 is successfully created!"
}

Parameters

Params Description
api_token Your API key. Attach it to the request to authenticate with the Links Indexer API.
campaign_name The name to group your submitted URLs under. Campaigns help you keep links organized. If you omit this variable or leave it blank, the system creates a campaign named with the current date time stamp.
urls A string of all the URLs to send to our system, separated by | (single pipe) with no spaces or new lines. If you submit more links than your remaining daily limit, the system accepts only as many as that limit allows.
dripfeed How many days to spread the links over. Integers only, up to 15.

Frequently asked questions

How do I authenticate with the Links Indexer API?

Every request must carry your api_token, which you'll find on the Links Indexer Settings page. Pass it as a request body parameter or as a URL query parameter; both work the same way.

How do I check my remaining link credits?

Call the /api/credits endpoint with your api_token. It returns how many links you have left for today. Calling it is optional: once your credits run out, the system rejects further requests on its own.

How do I create an indexing campaign?

Send your api_token, an optional campaign_name, and your pipe-separated urls to /api/campaign/create. New campaigns get a default 7 days dripfeed; send dripfeed=0 to have links indexed right away. See the Create Campaign section for a full example.

What happens if I submit more links than my daily limit?

The system accepts only as many links as your remaining daily limit allows, so a large batch never overdraws your credits.

For questions about the service itself - plans, credits, refunds - see the Links Indexer FAQ or compare our pricing plans.

Looking for answers about plans, credits, and indexing in general? Read the main Links Indexer FAQ.