NAVNavbar
Logo
cURL php NodeJS Python cSharp

Backlinks


This endpoint will provide you with a list of backlinks and relevant data for the specified domain, subdomain, or webpage.
Note: API will return the list of unique backlinks from the referring pages;
if a page contains more than 1 backlink pointing to your target, the link with the highest rank will be returned; the number of duplicate backlinks from the referring page will be indicated in the links_count field.

Instead of ‘login’ and ‘password’ use your credentials from https://app.dataforseo.com/api-dashboard

<?php
// You can download this file from here https://cdn.dataforseo.com/v3/examples/php/php_RestClient.zip
require('RestClient.php');
$api_url = 'https://api.dataforseo.com/';
// Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-dashboard
$client = new RestClient($api_url, null, 'login', 'password');
$post_array = array();
// simple way to set a task
$post_array[] = array(
   "target" => "forbes.com",
   "limit" => 5,
   "mode" => "as_is",
   "filters" => ["dofollow", "=", true]
);
try {
   // POST /v3/backlinks/backlinks/live
   $result = $client->post('/v3/backlinks/backlinks/live', $post_array);
   print_r($result);
   // do something with post result
} catch (RestClientException $e) {
   echo "n";
   print "HTTP code: {$e->getHttpCode()}n";
   print "Error code: {$e->getCode()}n";
   print "Message: {$e->getMessage()}n";
   print  $e->getTraceAsString();
   echo "n";
}
$client = null;
?>

The above command returns JSON structured like this:

{
  "version": "0.1.20210907",
  "status_code": 20000,
  "status_message": "Ok.",
  "time": "10.7121 sec.",
  "cost": 0.02015,
  "tasks_count": 1,
  "tasks_error": 0,
  "tasks": [
    {
      "id": "09101550-1535-0269-0000-fffdc584aa01",
      "status_code": 20000,
      "status_message": "Ok.",
      "time": "10.6528 sec.",
      "cost": 0.02015,
      "result_count": 1,
      "path": [
        "v3",
        "backlinks",
        "backlinks",
        "live"
      ],
      "data": {
        "api": "backlinks",
        "function": "backlinks",
        "target": "forbes.com",
        "mode": "as_is",
        "filters": [
          "dofollow",
          "=",
          true
        ],
        "limit": 5
      },
      "result": [
        {
          "target": "forbes.com",
          "mode": "as_is",
          "total_count": 10292401,
          "items_count": 5,
          "items": [
            {
              "type": "backlink",
              "domain_from": "bit.ly",
              "url_from": "http://bit.ly/2Y2rVX8",
              "url_from_https": false,
              "domain_to": "www.forbes.com",
              "url_to": "https://www.forbes.com/sites/cryptoconfidential",
              "url_to_https": true,
              "tld_from": "ly",
              "is_new": false,
              "is_lost": false,
              "rank": 674,
              "page_from_rank": 685,
              "domain_from_rank": 754,
              "domain_from_platform_type": null,
              "domain_from_is_ip": false,
              "domain_from_ip": "67.199.248.11",
              "page_from_external_links": 0,
              "page_from_internal_links": 0,
              "page_from_size": 134,
              "page_from_encoding": null,
              "page_from_language": null,
              "page_from_title": null,
              "page_from_status_code": 301,
              "first_seen": "2019-08-24 09:17:54 +00:00",
              "prev_seen": "2021-08-26 12:58:13 +00:00",
              "last_seen": "2021-09-05 12:59:29 +00:00",
              "item_type": "redirect",
              "attributes": null,
              "dofollow": true,
              "original": false,
              "alt": null,
              "anchor": null,
              "text_pre": null,
              "text_post": null,
              "semantic_location": null,
              "links_count": 1,
              "group_count": 0,
              "is_broken": false,
              "url_to_status_code": 302
            },
            {
              "type": "backlink",
              "domain_from": "bit.ly",
              "url_from": "https://bit.ly/2Rkd9oN",
              "url_from_https": true,
              "domain_to": "cloud.read.forbes.com",
              "url_to": "https://cloud.read.forbes.com/Investing-Digest-Sign-Up?k=FDC_INV_Opt",
              "url_to_https": true,
              "tld_from": "ly",
              "is_new": false,
              "is_lost": false,
              "rank": 656,
              "page_from_rank": 667,
              "domain_from_rank": 754,
              "domain_from_platform_type": null,
              "domain_from_is_ip": false,
              "domain_from_ip": "67.199.248.11",
              "page_from_external_links": 0,
              "page_from_internal_links": 0,
              "page_from_size": 155,
              "page_from_encoding": null,
              "page_from_language": null,
              "page_from_title": null,
              "page_from_status_code": 301,
              "first_seen": "2020-10-30 22:42:03 +00:00",
              "prev_seen": "2021-08-26 13:42:58 +00:00",
              "last_seen": "2021-09-05 13:44:44 +00:00",
              "item_type": "redirect",
              "attributes": null,
              "dofollow": true,
              "original": false,
              "alt": null,
              "anchor": null,
              "text_pre": null,
              "text_post": null,
              "semantic_location": null,
              "links_count": 1,
              "group_count": 0,
              "is_broken": false,
              "url_to_status_code": 200
            },
            {
              "type": "backlink",
              "domain_from": "bit.ly",
              "url_from": "http://bit.ly/2YWucPR",
              "url_from_https": false,
              "domain_to": "info.forbes.com",
              "url_to": "http://info.forbes.com/CM_EM_ID_Signup_Dropdown_Investing-Digest-Sign-Up.html?k=EM_ID_Dropdown",
              "url_to_https": false,
              "tld_from": "ly",
              "is_new": true,
              "is_lost": false,
              "rank": 652,
              "page_from_rank": 664,
              "domain_from_rank": 725,
              "domain_from_platform_type": null,
              "domain_from_is_ip": false,
              "domain_from_ip": "67.199.248.11",
              "page_from_external_links": 0,
              "page_from_internal_links": 0,
              "page_from_size": 181,
              "page_from_encoding": null,
              "page_from_language": null,
              "page_from_title": null,
              "page_from_status_code": 301,
              "first_seen": "2020-08-15 21:24:18 +00:00",
              "prev_seen": null,
              "last_seen": "2020-08-15 21:24:18 +00:00",
              "item_type": "redirect",
              "attributes": null,
              "dofollow": true,
              "original": true,
              "alt": null,
              "anchor": null,
              "text_pre": null,
              "text_post": null,
              "semantic_location": null,
              "links_count": 1,
              "group_count": 0,
              "is_broken": true,
              "url_to_status_code": 404
            },
            {
              "type": "backlink",
              "domain_from": "www.opencart.com",
              "url_from": "https://www.opencart.com/",
              "url_from_https": true,
              "domain_to": "www.forbes.com",
              "url_to": "http://www.forbes.com/sites/brentgleeson/2014/09/05/3-steps-to-launch-your-first-ecommerce-website/",
              "url_to_https": false,
              "tld_from": "com",
              "is_new": false,
              "is_lost": false,
              "rank": 640,
              "page_from_rank": 821,
              "domain_from_rank": 656,
              "domain_from_platform_type": [
                "unknown"
              ],
              "domain_from_is_ip": false,
              "domain_from_ip": "104.20.15.19",
              "page_from_external_links": 19,
              "page_from_internal_links": 16,
              "page_from_size": 18564,
              "page_from_encoding": "utf-8",
              "page_from_language": "en",
              "page_from_title": "OpenCart - Open Source Shopping Cart Solution",
              "page_from_status_code": 200,
              "first_seen": "2019-01-21 18:17:01 +00:00",
              "prev_seen": "2021-07-27 08:48:37 +00:00",
              "last_seen": "2021-08-06 17:24:17 +00:00",
              "item_type": "anchor",
              "attributes": null,
              "dofollow": true,
              "original": false,
              "alt": "Forbes",
              "anchor": null,
              "text_pre": null,
              "text_post": null,
              "semantic_location": null,
              "links_count": 1,
              "group_count": 0,
              "is_broken": false,
              "url_to_status_code": 301
            },
            {
              "type": "backlink",
              "domain_from": "www.yola.com",
              "url_from": "https://www.yola.com/",
              "url_from_https": true,
              "domain_to": "www.forbes.com",
              "url_to": "http://www.forbes.com/sites/mfonobongnsehe/2012/02/13/top-20-tech-startups-in-africa/",
              "url_to_https": false,
              "tld_from": "com",
              "is_new": false,
              "is_lost": false,
              "rank": 593,
              "page_from_rank": 739,
              "domain_from_rank": 562,
              "domain_from_platform_type": [
                "unknown"
              ],
              "domain_from_is_ip": false,
              "domain_from_ip": "104.18.126.89",
              "page_from_external_links": 9,
              "page_from_internal_links": 23,
              "page_from_size": 40585,
              "page_from_encoding": "utf-8",
              "page_from_language": "en",
              "page_from_title": "Yola - Make a Free Website",
              "page_from_status_code": 200,
              "first_seen": "2021-07-25 21:13:28 +00:00",
              "prev_seen": "2021-08-26 18:45:45 +00:00",
              "last_seen": "2021-09-06 01:20:18 +00:00",
              "item_type": "anchor",
              "attributes": null,
              "dofollow": true,
              "original": false,
              "alt": "Forbes",
              "anchor": null,
              "text_pre": null,
              "text_post": null,
              "semantic_location": "section",
              "links_count": 1,
              "group_count": 0,
              "is_broken": false,
              "url_to_status_code": 301
            }
          ]
        }
      ]
    }
  ]
}

All POST data should be sent in the JSON format (UTF-8 encoding). The task setting is done using the POST method. When setting a task, you should send all task parameters in the task array of the generic POST array. You can send up to 2000 API calls per minute.

You can specify the number of results you want to retrieve, filter and sort them.

Below you will find a detailed description of the fields you can use for setting a task.

Description of the fields for setting a task:

Field name Type Description
target string domain, subdomain or webpage to get backlinks for
required field
a domain or a subdomain should be specified without https:// and www.
a page should be specified with absolute URL (including http:// or https://)
mode string results grouping type
optional field
possible grouping types:
as_is – returns all backlinks
one_per_domain – returns one backlink per domain
one_per_anchor – returns one backlink per anchor

default value: as_is

filters array array of results filtering parameters
optional field
you can add several filters at once (8 filters maximum)
you should set a logical operator and, or between the conditions
the following operators are supported:
=, <>, in, not_in, like, not_like
you can use the % operator with like and not_like to match any string of zero or more characters
example:
["rank",">","80"]

[["page_from_rank",">","55"],
"and",
["dofollow","=",true]]

[["first_seen",">","2017-10-23 11:31:45 +00:00"],
"and",
[["acnhor","like","%seo%"],"or",["texr_pre","like","%seo%"]]]

The full list of possible filters is available here.

order_by array results sorting rules
optional field
you can use the same values as in the filters array to sort the results
possible sorting types:
asc – results will be sorted in the ascending order
desc – results will be sorted in the descending order
you should use a comma to set up a sorting type
example:
["rank,desc"]
note that you can set no more than three sorting rules in a single request
you should use a comma to separate several sorting rules
example:
["domain_from_rank,desc","page_from_rank,asc"]
offset integer offset in the results array of the returned backlinks
optional field

default value: 0
if you specify the 10 value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks

limit integer the maximum number of returned backlinks
optional field

default value: 100
maximum value: 1000

internal_list_limit integer maximum number of elements within internal arrays
optional field
you can use this field to limit the number of elements within the following arrays:
attributes
domain_from_platform_type

default value: 10
maximum value: 1000

backlinks_status_type string set what backlinks to return and count
optional field
you can use this field to choose what backlinks will be returned and used for aggregated metrics for your target;
possible values:
all – all backlinks will be returned and counted;
live – backlinks found during the last check will be returned and counted;
lost – lost backlinks will be returned and counted;

default value: live

include_subdomains boolean indicates if the subdomains of the target will be included in the search
optional field
if set to false, the subdomains will be ignored
default value: true
tag string user-defined task identifier
optional field
the character limit is 255
you can use this parameter to identify the task and match it with the result
you will find the specified tag value in the data object of the response

As a response of the API server, you will receive JSON-encoded data containing a tasks array with the information specific to the set tasks.

Description of the fields in the results array:

Field name Type Description
version string the current version of the API
status_code integer general status code
you can find the full list of the response codes here
Note: we strongly recommend designing a necessary system for handling related exceptional or error conditions
status_message string general informational message
you can find the full list of general informational messages here
time string execution time, seconds
cost float total tasks cost, USD
tasks_count integer the number of tasks in the tasks array
tasks_error integer the number of tasks in the tasks array returned with an error
tasks array array of tasks
        id string task identifier
unique task identifier in our system in the UUID format
        status_code integer status code of the task
generated by DataForSEO; can be within the following range: 10000-60000
you can find the full list of the response codes here
        status_message string informational message of the task
you can find the full list of general informational messages here
        time string execution time, seconds
        cost float cost of the task, USD
        result_count integer number of elements in the result array
        path array URL path
        data object contains the same parameters that you specified in the POST request
        result array array of results
            target string target domain in a POST array
            mode string mode specified in a POST array
            total_count integer total amount of results relevant the request
            items_count integer the number of results returned in the items array
            items array contains relevant backlinks and referring domains data
                type string type of element = ‘backlink’
                domain_from string domain referring to the target domain or webpage
                url_from string URL of the page where the backlink is found
                url_from_https boolean indicates whether the referring URL is secured with HTTPS
if true, the referring URL is secured with HTTPS
                domain_to string domain the backlink is pointing to
                url_to string URL the backlink is pointing to
                url_to_https boolean indicates if the URL the backlink is pointing to is secured with HTTPS
if true, the URL is secured with HTTPS
                tld_from string top-level domain of the referring URL
                is_new boolean indicates whether the backlink is new
if true, the backlink was found on the page last time our crawler visited it
                is_lost boolean indicates whether the backlink was removed
if true, the backlink or the entire page was removed
                rank integer backlink rank
rank is calculated based on the method for node ranking in a linked database – a principle used in the original Google PageRank algorithm
                page_from_rank integer page rank of the referring page
page_from_rank is calculated based on the method for node ranking in a linked database – a principle used in the original Google PageRank algorithm
                domain_from_rank integer domain rank of the referring domain
domain_from_rank is calculated based on the method for node ranking in a linked database – a principle used in the original Google PageRank algorithm
                domain_from_platform_type array platform types of the referring domain
example:
"cms",
"blogs"
                domain_from_is_ip boolean indicates if the domain is IP
if true, the domain functions as an IP address and does not have a domain name
                domain_from_ip string IP address of the referring domain
                page_from_external_links integer number of external links found on the referring page
                page_from_internal_links integer number of internal links found on the referring page
                page_from_size integer size of the referring page, in bytes
example:
63357
                page_from_encoding string character encoding of the referring page
example:
utf-8
                page_from_language string language of the referring page
in ISO 639-1 format
example:
en
                page_from_title string title of the referring page
                page_from_status_code integer HTTP status code returned by the referring page
example:
200
                first_seen string date and time when our crawler found the backlink for the first time
in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”
example:
2019-11-15 12:57:46 +00:00
                prev_seen string previous to the most recent date when our crawler visited the backlink
in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”
example:
2019-11-15 12:57:46 +00:00
                last_seen string most recent date when our crawler visited the backlink
in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”
example:
2019-11-15 12:57:46 +00:00
                item_type string link type
possible values:
anchor, image, link, meta, canonical, alternate, redirect
                attributes string link attributes of the referring links
example:
nofollow
                dofollow boolean indicates whether the backlink is dofollow
if false, the backlink is nofollow
                original boolean indicates whether the backlink was present on the referring page when our crawler first visited it
                alt string alternative text of the image
this field will be null if backlink type is not image
                anchor string anchor text of the backlink
                text_pre string snippet before the anchor text
                text_post string snippet after the anchor text
                semantic_location string indicates semantic element in HTML where the backlink is found
you can get the full list of semantic elements here
examples:
article, section, summary
                links_count integer number of identical backlinks found on the referring page
                group_count integer indicates total number of backlinks from this domain
for example, if mode is set to one_per_domain, this field will indicate the total number of backlinks coming from this domain
                is_broken boolean indicates whether the backlink is broken
if true, the backlink is pointing to a page responding with a 4xx or 5xx status code
                url_to_status_code integer status code of the referenced page
if the value is null, our crawler hasn’t yet visited the webpage the link is pointing to
example:
200

‌‌