Skip to content

Backlinks

Jump to OverviewOverview

Price: 45 API units per request

Returns aggregated backlink metrics for the specified target.

Jump to EndpointEndpoint

GEThttps://api.semrush.com/apis/v4/backlinks/v1/overview

Query parameters

urlRequired

Target URL to query. The length must not exceed 2000 characters. Accepts values both with the protocol (https://) and without it.

Example: https://example.com

Value/Type: string

scopeRequired

Which part of the URL to include in the query. Supported values: ROOT_DOMAIN, SUBDOMAIN, SUBFOLDER, PAGE.

Example: ROOT_DOMAIN

Value/Type: string

fields

Field names from the response to return. By default, all fields are returned.

Example: backlinks_count,domains_count,score

Value/Type: string[]

format

Response format. Supported values: json (default), csv.

Value/Type: string

Response Parameters

meta

Response metadata.

Value/Type: object

backlinks_count

The number of backlinks.

Value/Type: integer

domains_count

The number of referring domains.

Value/Type: integer

follows_count

The number of dofollow backlinks.

Value/Type: integer

forms_count

The number of backlinks placed in forms.

Value/Type: integer

frames_count

The number of backlinks placed in iframes.

Value/Type: integer

images_count

The number of image backlinks.

Value/Type: integer

ip_class_c_count

The number of referring IP class C subnets.

Value/Type: integer

ips_count

The number of referring IP addresses.

Value/Type: integer

lost_count

The number of lost backlinks.

Value/Type: integer

new_count

The number of new backlinks (first_seen_at is within the last 30 days).

Value/Type: integer

nofollows_count

The number of nofollow backlinks.

Value/Type: integer

score

For URL scope: page score. For all other scopes: domain score (0–100).

Value/Type: integer

sponsored_count

The number of sponsored backlinks.

Value/Type: integer

texts_count

The number of text backlinks.

Value/Type: integer

ugc_count

The number of UGC backlinks.

Value/Type: integer

urls_count

The number of referring pages.

Value/Type: integer

Request example
curl -H 'Authorization: Apikey YOUR_API_KEY' "https://api.semrush.com/apis/v4/backlinks/v1/overview?url=example.com&scope=ROOT_DOMAIN"
Response example
JSON
{
  "meta": {
      "request_id": "4fb1773ec2a8d61a0407f464599f897c",
      "status_code": 200,
      "success": true
  },
  "data": {
      "backlinks_count": 2341,
      "domains_count": 156,
      "follows_count": 1823,
      "forms_count": 12,
      "frames_count": 8,
      "images_count": 42,
      "ip_class_c_count": 89,
      "ips_count": 142,
      "lost_count": 15,
      "new_count": 23,
      "nofollows_count": 518,
      "score": 78,
      "sponsored_count": 45,
      "texts_count": 1987,
      "ugc_count": 234,
      "urls_count": 267
  }
}
Response example
CSV
backlinks_count;domains_count;urls_count;follows_count;nofollows_count;sponsored_count;ugc_count;frames_count;forms_count;images_count;texts_count;ips_count;ip_class_c_count;new_count;lost_count;score
42;42;42;42;42;42;42;42;42;42;42;42;42;42;42;42

Jump to Historical SummaryHistorical Summary

Price: 40 API units per line

Returns monthly historical trends for Authority Score, backlinks, and referring domains for the specified target.

Jump to EndpointEndpoint

GEThttps://api.semrush.com/apis/v4/backlinks/v1/summary

Query parameters

urlRequired

Target to get historical data for.

Example: https://samplesite.com

Value/Type: string

scopeRequired

Which part of the URL to analyze. Supported values: ROOT_DOMAIN, SUBDOMAIN, PAGE.

Example: ROOT_DOMAIN

Value/Type: string

fields

Field names from the response message to return. By default: score, backlinks_count, domains_count, follows_count, month_date.

Example: score,backlinks_count,domains_count

Value/Type: string[]

limit

Maximum number of rows to return. The effective maximum depends on available history for the target URL. If the limit is larger than the available history for the target URL, only the available points are returned. Default: 12.

Value/Type: integer

date_from

First month (inclusive) to filter by month_date (ISO 8601 date, formatted as YYYY-MM). Default: the oldest available historical month.

Example: 2024-01

Value/Type: string

date_to

Last month (inclusive) to filter by month_date (ISO 8601 date, formatted as YYYY-MM). Default: the current month.

Example: 2024-12

Value/Type: string

format

Response format. Supported values: json, csv.

Example: json

Value/Type: string

Response Parameters

meta

Response metadata.

Value/Type: object

backlinks_count

Number of backlinks.

Value/Type: integer

domains_count

Number of referring domains.

Value/Type: integer

follows_count

Number of follow backlinks.

Value/Type: integer

month_date

Start of the month (ISO 8601 date, formatted as YYYY-MM-01).

Example: 2024-01-01

Value/Type: string

score

Authority Score (0–100). For URL scope: page score. For all other scopes: domain score.

Value/Type: integer

url

Target URL as it was passed in the request.

Example: https://samplesite.com

Value/Type: string

Request example
curl -H 'Authorization: Apikey YOUR_API_KEY' "https://api.semrush.com/apis/v4/backlinks/v1/summary?url=example.com&scope=ROOT_DOMAIN&fields=score,backlinks_count,domains_count&limit=12&date_from=2024-01&date_to=2024-12"
Response example
JSON
{
  "meta": {
      "request_id": "4fb1773ec2a8d61a0407f464599f897c",
      "status_code": 200,
      "success": true,
      "date_from": "2024-01",
      "date_to": "2024-12",
      "effective_url": "https://example.com",
      "scope": "ROOT_DOMAIN",
      "url": "https://example.com",
      "total": 3
  },
  "data": [
      {
          "backlinks_count": 1254,
          "domains_count": 87,
          "follows_count": 892,
          "month_date": "2024-01-01",
          "score": 62,
          "url": "https://example.com"
      },
      {
          "backlinks_count": 1398,
          "domains_count": 95,
          "follows_count": 1001,
          "month_date": "2024-02-01",
          "score": 65,
          "url": "https://example.com"
      },
      {
          "backlinks_count": 1502,
          "domains_count": 102,
          "follows_count": 1087,
          "month_date": "2024-03-01",
          "score": 67,
          "url": "https://example.com"
      }
  ]
}
Response example
CSV
score;backlinks_count;domains_count;follows_count;month_date;url
62;1254;87;892;2024-01-01;https://example.com
65;1398;95;1001;2024-02-01;https://example.com
67;1502;102;1087;2024-03-01;https://example.com

Price: 45 API units per line

Lists backlinks for the specified target.

Jump to EndpointEndpoint

GEThttps://api.semrush.com/apis/v4/backlinks/v1/links

Query parameters

urlRequired

Target URL to query. The length must not exceed 2000 characters. Accepts values with or without the protocol (for example, https:// or a bare domain).

Example: https://samplesite.com

Value/Type: string

scopeRequired

Which part of the URL to analyze: ROOT_DOMAIN, SUBDOMAIN, SUBFOLDER, or PAGE.

Example: ROOT_DOMAIN

Value/Type: string

fields

Field names from the response to return. By default, all fields are returned.

Example: anchor,domain_score,page_score

Value/Type: string[]

order_by

Field name to sort by. Must be one of the response fields returned.

Default value: page_score

Value/Type: string

direction

Sort direction. Supported values: ASC, DESC.

Default value: DESC

Value/Type: string

limit

The number of results to return. The effective maximum depends on available data for the query. Default: 100.

Value/Type: integer

offset

The number of rows to skip.

Value/Type: integer

filter

Advanced filter expression over response fields. Any field from the response message, and only those fields, can be used in the expression. Combine conditions with AND and OR, and use parentheses for grouping. Use LIKE and NOT LIKE with % as a wildcard for string matching. String literals can use either single or double quotes. Inside a string, escape only the same quote character and the backslash itself. No other escape sequences are supported.

Examples: first_seen_at > '2024-01-01' AND last_seen_at > '2026-02-01T13:13:13', source_url LIKE 'https://blog.%', source_url NOT LIKE '%/archive/%', is_nofollow = true

Value/Type: string

format

Response format. Supported values: json (default), csv.

Value/Type: string

Response Parameters

meta

Response metadata.

Value/Type: object

anchor

Backlink anchor text.

Example: visit samplesite

Value/Type: string

domain_score

Source domain authority score (0–100).

Value/Type: integer

external_links_count

Number of external links found on the source page.

Value/Type: integer

first_seen_at

Date and time when the link was first found (ISO 8601 date-time in UTC, formatted as YYYY-MM-DDTHH:MM:SS).

Example: 2024-03-15T10:22:05

Value/Type: string

image_alt

Value of the image alt attribute if the backlink is an image.

Example: Sample logo

Value/Type: string

image_url

Value of the image src attribute if the backlink is an image.

Example: https://samplesite.com/logo.png

Value/Type: string

internal_links_count

Number of internal links found on the source page.

Value/Type: integer

ip_address

Source page IP address.

Example: 151.101.1.69

Value/Type: string

is_form

Whether the backlink is inside a form element.

Value/Type: boolean

is_frame

Whether the backlink is inside an iframe.

Value/Type: boolean

is_image

Whether the backlink is image-based.

Value/Type: boolean

is_lost

Whether the backlink is lost.

Value/Type: boolean

is_new

Whether the backlink is new (first_seen_at is less than 31 days ago).

Value/Type: boolean

is_nofollow

Whether the backlink has the rel="nofollow" attribute.

Value/Type: boolean

is_sitewide_main

Whether this backlink is the main URL among sitewide backlinks.

Value/Type: boolean

is_sponsored

Whether the backlink has the rel="sponsored" attribute.

Value/Type: boolean

is_ugc

Whether the backlink has the rel="ugc" attribute.

Value/Type: boolean

lang

Language of the source page as an ISO 639 code: set 1 (ISO 639-1, two-letter codes) when the language has one; otherwise, set 2 (ISO 639-2, three-letter codes).

Example: en

Value/Type: string

last_seen_at

Date and time when the link was last seen (ISO 8601 date-time in UTC, formatted as YYYY-MM-DDTHH:MM:SS).

Example: 2026-04-20T14:10:33

Value/Type: string

page_score

Source page authority score (0–100).

Value/Type: integer

redirect_url

If the URL found on the source page redirects, this field contains that original URL. In this case, target_url contains the final resolved URL after redirects.

Example: https://old.samplesite.com/page

Value/Type: string

response_code

HTTP status code of the source page.

Value/Type: integer

source_domain

Source page domain.

Example: blog.samplesite.com

Value/Type: string

source_size

Source page content size in bytes.

Value/Type: integer

source_title

Title of the source page where the backlink was found.

Example: Top Resources for Web Developers

Value/Type: string

source_url

Source page URL.

Example: https://blog.samplesite.com/resources

Value/Type: string

target_title

Value of the title attribute on the source page’s anchor element.

Example: Homepage

Value/Type: string

target_url

Target page URL.

Example: https://samplesite.com

Value/Type: string

Request example
curl -H 'Authorization: Apikey YOUR_API_KEY' "https://api.semrush.com/apis/v4/backlinks/v1/links?url=example.com&scope=ROOT_DOMAIN&fields=anchor,domain_score,page_score&order_by=page_score&direction=DESC&limit=10"
Response example
JSON
{
  "meta": {
      "direction": "DESC",
      "effective_url": "https://example.com",
      "filter": null,
      "limit": 10,
      "offset": 0,
      "order_by": "page_score",
      "request_id": "4fb1773ec2a8d61a0407f464599f897c",
      "scope": "ROOT_DOMAIN",
      "status_code": 200,
      "success": true,
      "total": 2,
      "url": "https://example.com"
  },
  "data": [
      {
          "anchor": "visit our resources",
          "domain_score": 78,
          "external_links_count": 45,
          "first_seen_at": "2024-03-15T10:22:05",
          "image_alt": "",
          "image_url": "",
          "internal_links_count": 312,
          "ip_address": "151.101.1.69",
          "is_form": false,
          "is_frame": false,
          "is_image": false,
          "is_lost": false,
          "is_new": false,
          "is_nofollow": false,
          "is_sitewide_main": true,
          "is_sponsored": false,
          "is_ugc": false,
          "lang": "en",
          "last_seen_at": "2026-04-20T14:10:33",
          "page_score": 85,
          "redirect_url": "",
          "response_code": 200,
          "source_domain": "blog.example.com",
          "source_size": 45230,
          "source_title": "Top Resources for Web Developers",
          "source_url": "https://blog.example.com/resources",
          "target_title": "Homepage",
          "target_url": "https://example.com"
      },
      {
          "anchor": "recommended link",
          "domain_score": 65,
          "external_links_count": 28,
          "first_seen_at": "2024-07-22T08:15:12",
          "image_alt": "",
          "image_url": "",
          "internal_links_count": 156,
          "ip_address": "151.101.2.140",
          "is_form": false,
          "is_frame": false,
          "is_image": false,
          "is_lost": false,
          "is_new": false,
          "is_nofollow": false,
          "is_sitewide_main": false,
          "is_sponsored": false,
          "is_ugc": false,
          "lang": "en",
          "last_seen_at": "2026-04-19T22:45:10",
          "page_score": 72,
          "redirect_url": "",
          "response_code": 200,
          "source_domain": "industry-news.com",
          "source_size": 78500,
          "source_title": "Industry News and Insights",
          "source_url": "https://industry-news.com/latest",
          "target_title": "",
          "target_url": "https://example.com/services"
      }
  ]
}
Response example
CSV
source_url;target_url;anchor;redirect_url;source_title;target_title;image_url;image_alt;ip_address;lang;source_size;external_links_count;internal_links_count;response_code;page_score;domain_score;first_seen_at;last_seen_at;source_domain;is_nofollow;is_ugc;is_sponsored;is_form;is_frame;is_image;is_sitewide_main;is_new;is_lost
example;example;example;example;example;example;example;example;example;example;42;42;42;42;42;42;example;example;example;true;true;true;true;true;true;true;true;true

Jump to Referring DomainsReferring Domains

Price: 40 API units per line

Lists referring domains for the specified target.

Jump to EndpointEndpoint

GEThttps://api.semrush.com/apis/v4/backlinks/v1/ref-domains

Query parameters

urlRequired

Target URL to query. The length must not exceed 2000 characters. Accepts values both with the protocol (https://) and without it.

Example: https://samplesite.com

Value/Type: string

scopeRequired

Which part of the URL to analyze. Supported values: ROOT_DOMAIN, SUBDOMAIN, SUBFOLDER, PAGE.

Example: ROOT_DOMAIN

Value/Type: string

fields

Field names from the response message to return. By default, all fields are returned.

Example: backlinks_count,domain,domain_score

Value/Type: string[]

order_by

Field name to sort by. Should be one of the requested fields.

Default value: backlinks_count

Value/Type: string

direction

Sort direction. Supported values: ASC, DESC.

Default value: DESC

Value/Type: string

limit

The number of results to return. The effective maximum depends on available data for the query. Default: 100.

Value/Type: integer

offset

The number of rows to skip.

Value/Type: integer

filter

Advanced filter expression over response fields. Any field from the response message, and only those fields, can be used in the expression. Combine conditions with AND and OR, and use parentheses for grouping. Use LIKE and NOT LIKE with % as a wildcard for string matching. String literals can use either single or double quotes. Inside a string, escape only the same quote character and the backslash itself. No other escape sequences are supported.

Examples: first_seen_at > '2024-01-01' AND last_seen_at > '2026-02-01T13:13:13', domain LIKE '%.example.com', domain NOT LIKE 'test.%', is_follow = true

Value/Type: string

format

Response format. Supported values: json (default), csv.

Value/Type: string

Response Parameters

meta

Response metadata.

Value/Type: object

backlinks_count

The number of backlinks from this domain to the requested target.

Value/Type: integer

country

Country code of the IP address (ISO 3166-1 alpha-2, uppercase).

Example: US

Value/Type: string

domain

The domain that refers to the requested target.

Example: samplesite.com

Value/Type: string

domain_score

Domain score of the referring domain (0–100).

Value/Type: integer

first_seen_at

Date and time when the domain was first seen (ISO 8601 date-time in UTC, formatted as YYYY-MM-DDTHH:MM:SS).

Example: 2024-03-15T10:22:05

Value/Type: string

ip_address

The IP address of the server that hosts the domain.

Example: 151.101.1.69

Value/Type: string

is_follow

Whether this referring domain is dofollow.

Value/Type: boolean

is_lost

Whether this domain is lost.

Value/Type: boolean

is_new

Whether this domain is new (first_seen_at is within the last 30 days).

Value/Type: boolean

last_seen_at

Date and time when the domain was last seen (ISO 8601 date-time in UTC, formatted as YYYY-MM-DDTHH:MM:SS).

Example: 2026-04-20T14:10:33

Value/Type: string

Request example
curl -H 'Authorization: Apikey YOUR_API_KEY' "https://api.semrush.com/apis/v4/backlinks/v1/ref-domains?url=example.com&scope=ROOT_DOMAIN&fields=backlinks_count,domain,domain_score&order_by=backlinks_count&direction=DESC&limit=10&filter=backlinks_count%20%3E%20100"
Response example
JSON
{
  "meta": {
      "request_id": "4fb1773ec2a8d61a0407f464599f897c",
      "status_code": 200,
      "success": true,
      "total": 2,
      "url": "example.com",
      "scope": "ROOT_DOMAIN",
      "direction": "DESC",
      "order_by": "backlinks_count",
      "limit": "10",
      "offset": 0,
      "filter": "backlinks_count > 100"
  },
  "data": [
      {
          "backlinks_count": 245,
          "country": "US",
          "domain": "techblog.com",
          "domain_score": 78,
          "first_seen_at": "2024-03-15T10:22:05",
          "ip_address": "151.101.1.69",
          "is_follow": true,
          "is_lost": false,
          "is_new": false,
          "last_seen_at": "2026-04-20T14:10:33"
      },
      {
          "backlinks_count": 156,
          "country": "GB",
          "domain": "marketingpro.co.uk",
          "domain_score": 65,
          "first_seen_at": "2024-07-22T08:45:12",
          "ip_address": "89.32.45.120",
          "is_follow": true,
          "is_lost": false,
          "is_new": false,
          "last_seen_at": "2026-04-19T16:30:22"
      }
  ]
}
Response example
CSV
domain;ip_address;country;backlinks_count;domain_score;first_seen_at;last_seen_at;is_follow;is_new;is_lost
techblog.com;151.101.1.69;US;245;78;2024-03-15T10:22:05;2026-04-20T14:10:33;true;false;false
marketingpro.co.uk;89.32.45.120;GB;156;65;2024-07-22T08:45:12;2026-04-19T16:30:22;true;false;false

Jump to Referring IPsReferring IPs

Price: 20 API units per line

Lists referring IP addresses for the specified target.

Jump to EndpointEndpoint

GEThttps://api.semrush.com/apis/v4/backlinks/v1/ref-ips

Query parameters

urlRequired

Target URL to query. The length must not exceed 2000 characters. Accepts values both with the protocol (https://) and without it.

Example: example.com

Value/Type: string

scopeRequired

Which part of the URL to analyze. Supported values: ROOT_DOMAIN, SUBDOMAIN, SUBFOLDER, PAGE.

Example: ROOT_DOMAIN

Value/Type: string

fields

Field names from the response message to return. By default, all fields are returned.

Example: backlinks_count,domains_count,country

Value/Type: string[]

order_by

Field name to sort by. Should be one of the requested fields.

Default value: domains_count

Value/Type: string

direction

Sort direction. Supported values: ASC, DESC.

Default value: DESC

Value/Type: string

limit

Number of results to return. The effective maximum depends on available data. Default: 100.

Value/Type: integer

offset

Number of rows to skip.

Value/Type: integer

filter

Advanced filter expression over response fields. Any field from the response message, and only those fields, can be used in the expression. Combine conditions with AND and OR, and use parentheses for grouping. Use LIKE and NOT LIKE with % as a wildcard for string matching. String literals can use either single or double quotes. Inside a string, escape only the same quote character and the backslash itself. No other escape sequences are supported.

Examples: first_seen_at > '2024-01-01' AND last_seen_at > '2024-02-01', ip_address LIKE '192.168.1.%', ip_address NOT LIKE '10.%'

Value/Type: string

format

Response format. Supported values: json (default), csv.

Value/Type: string

Response Parameters

meta

Response metadata.

Value/Type: object

backlinks_count

The number of backlinks from this IP address.

Value/Type: integer

country

Country code of the IP address (ISO 3166-1 alpha-2, uppercase).

Example: US

Value/Type: string

domains_count

The number of domains from this IP address.

Value/Type: integer

first_seen_at

Date and time when the IP address was first seen (ISO 8601 date-time in UTC, formatted as YYYY-MM-DDTHH:MM:SS).

Example: 2024-03-15T10:22:05

Value/Type: string

ip_address

Referring server IP address.

Example: 151.101.1.69

Value/Type: string

last_seen_at

Date and time when the IP address was last seen (ISO 8601 date-time in UTC, formatted as YYYY-MM-DDTHH:MM:SS).

Example: 2026-04-20T14:10:33

Value/Type: string

Request example
curl -H 'Authorization: Apikey YOUR_API_KEY' "https://api.semrush.com/apis/v4/backlinks/v1/ref-ips?url=example.com&scope=ROOT_DOMAIN&fields=backlinks_count,domains_count,country&order_by=domains_count&direction=DESC&limit=10"
Response example
JSON
{
  "meta": {
      "request_id": "4fb1773ec2a8d61a0407f464599f897c",
      "status_code": 200,
      "success": true,
      "total": 2
  },
  "data": [
      {
          "backlinks_count": 245,
          "country": "US",
          "domains_count": 18,
          "first_seen_at": "2024-03-15T10:22:05",
          "ip_address": "151.101.1.69",
          "last_seen_at": "2026-04-20T14:10:33"
      },
      {
          "backlinks_count": 128,
          "country": "DE",
          "domains_count": 12,
          "first_seen_at": "2024-06-22T08:45:12",
          "ip_address": "162.125.3.88",
          "last_seen_at": "2026-05-15T09:33:21"
      }
  ]
}
Response example
CSV
ip_address;country;backlinks_count;domains_count;first_seen_at;last_seen_at
example;example;42;42;example;example

Jump to PagesPages

Price: 40 API units per line

Lists indexed pages for the specified target.

Jump to EndpointEndpoint

GEThttps://api.semrush.com/apis/v4/backlinks/v1/pages

Query parameters

urlRequired

Target URL to query. The length must not exceed 2000 characters. Accepts values both with the protocol (https://) and without it.

Example: https://samplesite.com

Value/Type: string

scopeRequired

Which part of the URL to analyze. Supported values: ROOT_DOMAIN, SUBDOMAIN, SUBFOLDER, PAGE.

Example: ROOT_DOMAIN

Value/Type: string

fields

Field names from the response message to return. By default, all fields are returned.

Value/Type: string[]

order_by

Field name to sort by. Should be one of the requested fields.

Default value: domains_count

Value/Type: string

direction

Sort direction. Supported values: ASC, DESC.

Default value: DESC

Value/Type: string

limit

The number of results to return. The effective maximum depends on available data for the query. Default: 100.

Value/Type: integer

offset

The number of rows to skip.

Value/Type: integer

filter

Advanced filter expression over response fields. Any field from the response message, and only those fields, can be used in the expression. Combine conditions with AND and OR, and use parentheses for grouping. Use LIKE and NOT LIKE with % as a wildcard for string matching. String literals can use either single or double quotes. Inside a string, escape only the same quote character and the backslash itself. No other escape sequences are supported.

Examples: first_seen_at > '2024-01-01' AND last_seen_at > '2026-02-01T13:13:13', source_url LIKE 'https://blog.%', source_url NOT LIKE '%/archive/%'

Value/Type: string

format

Response format. Supported values: json (default), csv.

Value/Type: string

Response Parameters

meta

Response metadata.

Value/Type: object

backlinks_count

The number of backlinks to this page.

Value/Type: integer

domains_count

The number of referring domains to this page.

Value/Type: integer

external_links_count

The number of external links found on this source page.

Value/Type: integer

first_seen_at

Date and time when the page was first seen (ISO 8601 date-time in UTC, formatted as YYYY-MM-DDTHH:MM:SS).

Example: 2024-03-15T10:22:05

Value/Type: string

internal_links_count

The number of internal links found on this source page.

Value/Type: integer

last_seen_at

Date and time when the page was last seen (ISO 8601 date-time in UTC, formatted as YYYY-MM-DDTHH:MM:SS).

Example: 2026-04-20T14:10:33

Value/Type: string

response_code

Source page HTTP status code.

Value/Type: integer

source_title

Source page title.

Example: Top Resources for Web Developers

Value/Type: string

source_url

Source page URL.

Example: https://blog.samplesite.com/resources

Value/Type: string

Request example
curl -H 'Authorization: Apikey YOUR_API_KEY' "https://api.semrush.com/apis/v4/backlinks/v1/pages?url=example.com&scope=ROOT_DOMAIN&fields=backlinks_count,domains_count,external_links_count&order_by=domains_count&direction=DESC&limit=10"
Response example
JSON
{
  "meta": {
      "request_id": "4fb1773ec2a8d61a0407f464599f897c",
      "status_code": 200,
      "success": true
  },
  "data": [
      {
          "backlinks_count": 245,
          "domains_count": 18,
          "external_links_count": 12,
          "first_seen_at": "2024-03-15T10:22:05",
          "internal_links_count": 5,
          "last_seen_at": "2026-04-20T14:10:33",
          "response_code": 200,
          "source_title": "Top Resources for Web Developers",
          "source_url": "https://example.com/resources"
      },
      {
          "backlinks_count": 156,
          "domains_count": 12,
          "external_links_count": 8,
          "first_seen_at": "2024-05-22T09:15:20",
          "internal_links_count": 3,
          "last_seen_at": "2026-04-18T12:05:10",
          "response_code": 200,
          "source_title": "Documentation Guide",
          "source_url": "https://example.com/docs/getting-started"
      }
  ]
}
Response example
CSV
source_url;source_title;response_code;backlinks_count;domains_count;external_links_count;internal_links_count;first_seen_at;last_seen_at
example;example;42;42;42;42;42;example;example

Jump to AnchorsAnchors

Price: 40 API units per line

Lists backlink anchors for the specified target, including backlinks and referring domains per anchor.

Jump to EndpointEndpoint

GEThttps://api.semrush.com/apis/v4/backlinks/v1/anchors

Query parameters

urlRequired

Target URL to query. The length must not exceed 2000 characters. Accepts values both with the protocol (https://) and without it.

Example: https://samplesite.com

Value/Type: string

scopeRequired

Which part of the URL to analyze. Supported values: ROOT_DOMAIN, SUBDOMAIN, SUBFOLDER, PAGE.

Example: ROOT_DOMAIN

Value/Type: string

fields

Field names from the response message to return. By default, all fields are returned.

Value/Type: string[]

order_by

Field name to sort by. Should be one of the requested fields.

Default value: domains_count

Value/Type: string

direction

Sort direction. Supported values: ASC, DESC.

Default value: DESC

Value/Type: string

limit

The number of results to return. The effective maximum depends on available data for the query. Default: 100.

Value/Type: integer

offset

The number of rows to skip.

Value/Type: integer

filter

Advanced filter expression over response fields. Any field from the response message, and only those fields, can be used in the expression. Combine conditions with AND and OR, and use parentheses for grouping. Use LIKE and NOT LIKE with % as a wildcard for string matching. String literals can use either single or double quotes. Inside a string, escape only the same quote character and the backslash itself. No other escape sequences are supported.

Examples: first_seen_at > '2024-01-01' AND last_seen_at > '2026-02-01T13:13:13', anchor LIKE '%sample%', anchor NOT LIKE '%test%'

Value/Type: string

format

Response format. Supported values: json (default), csv.

Value/Type: string

Response Parameters

meta

Response metadata.

Value/Type: object

anchor

Backlink anchor text.

Example: visit samplesite

Value/Type: string

backlinks_count

The number of backlinks with this anchor text.

Value/Type: integer

domains_count

The number of domains with this anchor text.

Value/Type: integer

first_seen_at

Date and time when the anchor text was first seen (ISO 8601 date-time in UTC, formatted as YYYY-MM-DDTHH:MM:SS).

Example: 2024-03-15T10:22:05

Value/Type: string

last_seen_at

Date and time when the anchor text was last seen (ISO 8601 date-time in UTC, formatted as YYYY-MM-DDTHH:MM:SS).

Example: 2026-04-20T14:10:33

Value/Type: string

Request example
curl -H 'Authorization: Apikey YOUR_API_KEY' "https://api.semrush.com/apis/v4/backlinks/v1/anchors?url=samplesite.com&scope=ROOT_DOMAIN&order_by=backlinks_count&direction=DESC"
Response example
JSON
{
  "meta": {
      "request_id": "4fb1773ec2a8d61a0407f464599f897c",
      "status_code": 200,
      "success": true
  },
  "data": [
      {
          "anchor": "visit our site",
          "backlinks_count": 145,
          "domains_count": 23,
          "first_seen_at": "2024-03-15T10:22:05",
          "last_seen_at": "2026-04-20T14:10:33"
      },
      {
          "anchor": "click here",
          "backlinks_count": 89,
          "domains_count": 12,
          "first_seen_at": "2024-01-10T08:15:22",
          "last_seen_at": "2026-04-18T09:45:10"
      }
  ]
}
Response example
CSV
anchor;backlinks_count;domains_count;first_seen_at;last_seen_at
visit our site;145;23;2024-03-15T10:22:05;2026-04-20T14:10:33
click here;89;12;2024-01-10T08:15:22;2026-04-18T09:45:10

Jump to Score ProfileScore Profile

Price: 1 API units per line

Returns the distribution of referring domains by authority score values. The response contains at most 101 rows because the authority score is in the range 0–100. If there are no referring domains for a particular authority score value, that row is omitted.

Jump to EndpointEndpoint

GEThttps://api.semrush.com/apis/v4/backlinks/v1/score-profile

Query parameters

urlRequired

Target URL to query. The length must not exceed 2000 characters. Accepts values both with the protocol (https://) and without it.

Example: https://samplesite.com

Value/Type: string

scopeRequired

Which part of the URL to analyze. Supported values: ROOT_DOMAIN, SUBDOMAIN, SUBFOLDER, PAGE.

Example: ROOT_DOMAIN

Value/Type: string

format

Response format. Supported values: json (default), csv.

Value/Type: string

Response Parameters

meta

Response metadata.

Value/Type: object

domain_score

Authority score value (0–100).

Value/Type: integer

domains_count

Number of referring domains with this authority score.

Value/Type: integer

Request example
curl -H 'Authorization: Apikey YOUR_API_KEY' "https://api.semrush.com/apis/v4/backlinks/v1/score-profile?url=samplesite.com&scope=ROOT_DOMAIN&format=json"
Response example
JSON
{
  "meta": {
      "request_id": "4fb1773ec2a8d61a0407f464599f897c",
      "status_code": 200,
      "success": true,
      "url": "https://samplesite.com",
      "effective_url": "https://samplesite.com",
      "scope": "ROOT_DOMAIN",
      "total": 3
  },
  "data": [
      {
          "domain_score": 42,
          "domains_count": 156
      },
      {
          "domain_score": 35,
          "domains_count": 89
      },
      {
          "domain_score": 28,
          "domains_count": 47
      }
  ]
}
Response example
CSV
domain_score;domains_count
42;42

Jump to CompetitorsCompetitors

Price: 40 API units per line

Lists competitor domains for the specified target domain. Competitors are determined by overlap in referring domains. A domain pair is included if they share at least 5 referring domains and similarity is at least 0.01.

Jump to EndpointEndpoint

GEThttps://api.semrush.com/apis/v4/backlinks/v1/competitors

Query parameters

domainRequired

Target domain to query.

Example: samplesite.com

Value/Type: string

fields

Field names from the response message to return. By default, all fields are returned.

Value/Type: string[]

order_by

Field name to sort by. Should be one of the requested fields.

Default value: similarity

Value/Type: string

direction

Sort direction. Supported values: ASC, DESC.

Default value: DESC

Value/Type: string

limit

The number of results to return. The effective maximum depends on available data for the query. Default: 100.

Value/Type: integer

offset

The number of rows to skip.

Value/Type: integer

format

Response format. Supported values: json (default), csv.

Value/Type: string

Response Parameters

meta

Response metadata.

Value/Type: object

common_refdomains

Number of referring domains shared with the target domain.

Value/Type: integer

domain

Competitor domain.

Example: samplesite.com

Value/Type: string

similarity

Similarity to the target domain in the range 0–1 (for example, 0.5 = 50%).

Value/Type: number

Request example
curl -H 'Authorization: Apikey YOUR_API_KEY' "https://api.semrush.com/apis/v4/backlinks/v1/competitors?domain=samplesite.com&fields=common_refdomains,similarity&order_by=similarity&direction=DESC&limit=10"
Response example
JSON
{
  "meta": {
      "request_id": "4fb1773ec2a8d61a0407f464599f897c",
      "status_code": 200,
      "success": true,
      "domain": "samplesite.com",
      "direction": "DESC",
      "order_by": "similarity",
      "limit": 10,
      "offset": 0,
      "total": 3
  },
  "data": [
      {
          "domain": "competitor1.com",
          "common_refdomains": 12,
          "similarity": 0.75
      },
      {
          "domain": "competitor2.com",
          "common_refdomains": 8,
          "similarity": 0.62
      },
      {
          "domain": "competitor3.com",
          "common_refdomains": 5,
          "similarity": 0.41
      }
  ]
}
Response example
CSV
domain;similarity;common_refdomains
competitor1.com;0.75;12
competitor2.com;0.62;8
competitor3.com;0.41;5

Jump to Summary ComparisonSummary Comparison

Price: 40 API units per line

Batch comparison for multiple targets. Compares backlink profile and link-building progress across targets.

Jump to EndpointEndpoint

GEThttps://api.semrush.com/apis/v4/backlinks/v1/comparison

Query parameters

urlsRequired

List of up to 10 targets.

Example: samplesite.com,othersite.com

Value/Type: string[]

scopeRequired

Scope for all targets. Supported values: ROOT_DOMAIN, SUBDOMAIN, PAGE.

Example: ROOT_DOMAIN

Value/Type: string

fields

Field names from the response message to return. By default: score, backlinks_count, domains_count, follows_count, url, scope.

Example: score,backlinks_count,domains_count

Value/Type: string[]

format

Response format. Supported values: json (default), csv.

Value/Type: string

Response Parameters

meta

Response metadata.

Value/Type: object

backlinks_count

Number of backlinks.

Value/Type: integer

domains_count

Number of referring domains.

Value/Type: integer

follows_count

Number of follow backlinks.

Value/Type: integer

month_date

Start of the month (ISO 8601 date, formatted as YYYY-MM-01).

Example: 2024-01-01

Value/Type: string

score

For URL scope: page score. For all other scopes: domain score (0–100).

Value/Type: integer

url

Target URL as it was passed in the request.

Example: https://samplesite.com

Value/Type: string

Request example
curl -H 'Authorization: Apikey YOUR_API_KEY' "https://api.semrush.com/apis/v4/backlinks/v1/comparison?scope=ROOT_DOMAIN&urls=samplesite.com,othersite.com&fields=backlinks_count,domains_count,score&format=json"
Response example
JSON
{
  "meta": {
      "request_id": "4fb1773ec2a8d61a0407f464599f897c",
      "scope": "ROOT_DOMAIN",
      "status_code": 200,
      "success": true,
      "total": 2,
      "urls": "samplesite.com,othersite.com"
  },
  "data": [
      {
          "backlinks_count": 1523,
          "domains_count": 287,
          "follows_count": 1204,
          "month_date": "2024-01-01",
          "score": 58,
          "url": "samplesite.com"
      },
      {
          "backlinks_count": 2847,
          "domains_count": 412,
          "follows_count": 2156,
          "month_date": "2024-01-01",
          "score": 64,
          "url": "othersite.com"
      }
  ]
}
Response example
CSV
score;backlinks_count;domains_count;follows_count;month_date;url
58;1523;287;1204;2024-01-01;samplesite.com
64;2847;412;2156;2024-01-01;othersite.com

Jump to MatrixMatrix

Price: 40 API units per line

Compares up to 6 targets by shared referring domains and backlinks.

Jump to EndpointEndpoint

GEThttps://api.semrush.com/apis/v4/backlinks/v1/matrix

Query parameters

urlsRequired

List of up to 6 target URLs.

Example: samplesite.com,othersite.com

Value/Type: string[]

scopeRequired

Scope for all targets. Supported values: ROOT_DOMAIN, SUBDOMAIN, PAGE.

Example: ROOT_DOMAIN

Value/Type: string

order_by

Field name to sort by. Should be one of the requested fields.

Example: backlinks_counts

Value/Type: string

direction

Sort direction. Supported values: ASC, DESC.

Example: DESC

Value/Type: string

limit

The number of rows to return. The effective maximum depends on available data for the query. Default: 100.

Value/Type: integer

offset

The number of rows to skip.

Value/Type: integer

filter

Advanced filter expression over response fields. Any scalar field from the response message, and only those fields, can be used in the expression. Use the target index to filter by backlinks_count for a specific target, starting from 1. Combine conditions with AND and OR, and use parentheses for grouping. Use LIKE and NOT LIKE with % as a wildcard for string matching. String literals can use either single or double quotes. Inside a string, escape only the same quote character and the backslash itself. No other escape sequences are supported.

Examples: backlinks_counts[1] > 10 AND country = 'US', domain LIKE '%.example.com', domain NOT LIKE 'test.%', ip_address LIKE '192.168.1.%'

Value/Type: string

Response Parameters

meta

Response metadata.

Value/Type: object

backlinks_counts

Number of backlinks from the domain to each requested target, in the same order as the targets in the request. The first element (index 0) corresponds to the first target.

Value/Type: integer[]

country

Domain country (ISO 3166-1 alpha-2, uppercase).

Example: US

Value/Type: string

domain

Domain name.

Example: samplesite.com

Value/Type: string

domain_score

Domain score (0–100).

Value/Type: integer

ip_address

Domain IP address.

Example: 151.101.1.69

Value/Type: string

matches_count

Number of analyzed targets this domain refers to. The maximum value is the number of requested targets.

Value/Type: integer

Request example
curl -H 'Authorization: Apikey YOUR_API_KEY' "https://api.semrush.com/apis/v4/backlinks/v1/matrix?scope=ROOT_DOMAIN&urls=samplesite.com,othersite.com&order_by=domain_score&direction=DESC"
Response example
JSON
{
  "meta": {
      "request_id": "4fb1773ec2a8d61a0407f464599f897c",
      "status_code": 200,
      "success": true,
      "urls": "samplesite.com,othersite.com",
      "scope": "ROOT_DOMAIN",
      "total": 2
  },
  "data": [
      {
          "backlinks_counts": [42, 18],
          "country": "US",
          "domain": "techblog.com",
          "domain_score": 65,
          "ip_address": "151.101.1.69",
          "matches_count": 2
      },
      {
          "backlinks_counts": [28, 12],
          "country": "DE",
          "domain": "newssite.de",
          "domain_score": 58,
          "ip_address": "23.185.0.2",
          "matches_count": 2
      }
  ]
}

Last updated: June 11, 2026

Was this page helpful?

Terms of Use
Adobe© 2026 Semrush Holdings. All rights reserved.