Backlinks to a domain or URL with source page and anchor.
This report lists backlinks for a domain, root domain, or URL.
Job seo.backlinks.list
telipot run semrush.seo.backlinks.list \
--input-json '{"type":"backlinks","target":"stripe.com","target_type":"root_domain","display_limit":1,"export_columns":"page_ascore,source_url,target_url,anchor,first_seen,last_seen"}' \
--quotePrice
Semrush API unitssemrush.seo.backlinks.list
Whose account it uses
What it sends
{
"type": "backlinks",
"target": "stripe.com",
"target_type": "root_domain",
"display_limit": 1,
"export_columns": "page_ascore,source_url,target_url,anchor,first_seen,last_seen"
}Your Semrush login is added for you. Your AI never sees it.
What it costs
40 API units
per result · no USD rate
| rate | 40 API units per result, billed per result |
| source | docs · developer.semrush.com/api/v3/seo/backlinks/#backlinks · checked 2026-10-05 |
| confidence | documented |
| note | 40 API units per line returned. Semrush does not charge a request that returns no data. Semrush publishes no USD price per API unit. |
Preview the price first. --quote runs nothing.
For developers · run it
Shell · runs the task on the named account
telipot run semrush.seo.backlinks.list \
--input-json '{"type":"backlinks","target":"stripe.com","target_type":"root_domain","display_limit":1,"export_columns":"page_ascore,source_url,target_url,anchor,first_seen,last_seen"}'type string · required · const "backlinks" | Fixed. Selects the Backlinks report. |
target string · required | Root domain, subdomain, or URL of the website to investigate: example.com, www.example.com or http://www.example.com. |
target_type string · required · one of "root_domain", "domain", "url" | Type of the target. Use domain for a subdomain. |
display_limit integer · required · 1 to 1000000 | Lines returned, which is what Semrush bills. Semrush returns 10,000 lines when the parameter is omitted or 0, so this task requires it. |
display_offset integer · at least 0 | Lines to skip before the report starts. Semrush counts display_limit from the first line, so set display_limit to display_offset plus the lines wanted. |
display_sort string · one of "page_ascore_asc", "page_ascore_desc", "last_seen_asc", "last_seen_desc", "first_seen_asc", "first_seen_desc" | Sort rule, one per call. Semrush sorts by page_ascore_desc when it is omitted. |
display_filter string | Filters on type, zone, ip, refdomain, anchor, newlink, lostlink, urlanchor and redirects, joined with |. Semrush documents only this form: +|type||newlink|+|type||follow. The urlanchor filter does not work for domains with a large backlink profile. Write it in plain text; the + must reach Semrush as %2B. |
export_columns string · default "page_score,source_title,source_url,target_url,anchor,external_num,internal_num,first_seen,last_seen" | Comma-separated column codes, in the order wanted. page_ascore Page Authority Score (page_score is the same), source_url, source_title and source_size of the linking page, target_url and target_title of the page linked to, anchor text, image_url and image_alt for image links, first_seen and last_seen as Unix timestamps, external_num and internal_num links on the source page, response_code, redirect_url, and the flags nofollow, form, frame, image, sitewide, newlink and lostlink. |
output string | CSV text: a header line of the requested column codes, then one line per backlink, columns separated by semicolons, in the order of export_columns. A body that starts with ERROR is a failure, for example ERROR 50 :: NOTHING FOUND. |
Full output schema · JSONNested fields and constraints
Output JSON Schema
{
"type": "string",
"pattern": "^(?!\\s*ERROR)",
"description": "CSV text: a header line of the requested column codes, then one line per backlink, columns separated by semicolons, in the order of export_columns. A body that starts with ERROR is a failure, for example ERROR 50 :: NOTHING FOUND."
}A real answer
No example captured yet: one is recorded when telipot catalog verify passes.

