backlinks_referring_domains
Analyze referring domains pointing to any website or webpage to understand backlink sources and domain authority for SEO strategy development.
Instructions
This endpoint will provide you with a detailed overview of referring domains pointing to the target you specify
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| filters | No | 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: regex, not_regex, =, <>, in, not_in, like, not_like, ilike, not_ilike, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: ["meta.internal_links_count",">","1"] [["meta.external_links_count",">","2"], "and", ["backlinks",">","10"]] [["first_visited",">","2017-10-23 11:31:45 +00:00"], "and", [["title","like","%seo%"],"or",["referring_domains",">","10"]]] | |
| limit | No | the maximum number of returned pages | |
| offset | No | offset in the results array of returned pages optional field default value: 0 if you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages | |
| order_by | No | 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: ["page_summary.backlinks,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: ["page_summary.backlinks,desc","page_summary.rank,asc"] | |
| target | Yes | 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://) |
Implementation Reference
- The main handler function that implements the tool logic: makes a POST request to DataForSEO's /v3/backlinks/referring_domains/live endpoint with parameters, formats filters and order_by, validates response, or handles errors.async handle(params: any): Promise<any> { try { const response = await this.client.makeRequest('/v3/backlinks/referring_domains/live', 'POST', [{ target: params.target, limit: params.limit, offset: params.offset, filters: this.formatFilters(params.filters), order_by: this.formatOrderBy(params.order_by), }]); return this.validateAndFormatResponse(response); } catch (error) { return this.formatErrorResponse(error); } }
- Defines the input schema using Zod for parameters: target (required), limit, offset, filters, order_by.getParams(): z.ZodRawShape { return { target: z.string().describe(`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://)`), limit: z.number().min(1).max(1000).default(10).optional().describe("the maximum number of returned pages"), offset: z.number().min(0).optional().describe( `offset in the results array of returned pages optional field default value: 0 if you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages` ), filters: this.getFilterExpression().optional().describe( `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: regex, not_regex, =, <>, in, not_in, like, not_like, ilike, not_ilike, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: ["meta.internal_links_count",">","1"] [["meta.external_links_count",">","2"], "and", ["backlinks",">","10"]] [["first_visited",">","2017-10-23 11:31:45 +00:00"], "and", [["title","like","%seo%"],"or",["referring_domains",">","10"]]]` ), order_by: z.array(z.string()).optional().describe( `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: ["page_summary.backlinks,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: ["page_summary.backlinks,desc","page_summary.rank,asc"]` ), }; }
- src/core/modules/backlinks/backlinks-api.module.ts:46-46 (registration)Registers the BacklinksReferringDomainsTool by instantiating it in the tools array within the getTools() method, which maps tool names to their definitions including handlers.new BacklinksReferringDomainsTool(this.dataForSEOClient),
- src/core/modules/backlinks/backlinks-api.module.ts:20-20 (registration)Imports the BacklinksReferringDomainsTool class necessary for its registration.import { BacklinksReferringDomainsTool } from './tools/backlinks-referring-domains.tool.js';
- Defines the tool name 'backlinks_referring_domains' used for registration and identification.getName(): string { return 'backlinks_referring_domains'; }