dataforseo_labs_google_domain_rank_overview
Analyze a domain's organic and paid search rankings, traffic distribution in SERPs, and estimated monthly traffic volume for targeted SEO insights and performance evaluation.
Instructions
This endpoint will provide you with ranking and traffic data from organic and paid search for the specified domain. You will be able to review the domain ranking distribution in SERPs as well as estimated monthly traffic volume for both organic and paid results.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ignore_synonyms | No | ignore highly similar keywords, if set to true, results will be more accurate | |
| language_code | No | language code required field example: en | en |
| location_name | No | full name of the location required field in format "Country" example: United Kingdom | United States |
| target | Yes | target domain |
Implementation Reference
- The `handle` method executes the tool's core logic: makes a POST request to the DataForSEO Labs API endpoint for Google domain rank overview with input parameters, validates/formats the response or handles errors.async handle(params: any): Promise<any> { try { const response = await this.client.makeRequest('/v3/dataforseo_labs/google/domain_rank_overview/live', 'POST', [{ target: params.target, location_name: params.location_name, language_code: params.language_code, ignore_synonyms: params.ignore_synonyms }]); return this.validateAndFormatResponse(response); } catch (error) { return this.formatErrorResponse(error); } }
- Defines the Zod schema for input parameters: target (domain), location_name, language_code, ignore_synonyms.getParams(): z.ZodRawShape { return { target: z.string().describe(`target domain`), location_name: z.string().default("United States").describe(`full name of the location required field in format "Country" example: United Kingdom`), language_code: z.string().default("en").describe( `language code required field example: en`), ignore_synonyms: z.boolean().default(true).describe( `ignore highly similar keywords, if set to true, results will be more accurate`) }; }
- Instantiates the GoogleDomainRankOverviewTool in the DataForSEOLabsApi module's getTools() method, where it is registered into the tools map using its getName().new GoogleDomainRankOverviewTool(this.dataForSEOClient),
- The getTools() method in DataForSEOLabsApi module registers all tools, including this one, by name with their schema, description, and handler.getTools(): Record<string, ToolDefinition> { const tools = [ new GoogleRankedKeywordsTool(this.dataForSEOClient), new GoogleDomainCompetitorsTool(this.dataForSEOClient), new GoogleDomainRankOverviewTool(this.dataForSEOClient), new GoogleKeywordsIdeasTool(this.dataForSEOClient), new GoogleRelatedKeywordsTool(this.dataForSEOClient), new GoogleKeywordsSuggestionsTool(this.dataForSEOClient), new GoogleHistoricalSERP(this.dataForSEOClient), new GoogleSERPCompetitorsTool(this.dataForSEOClient), new GoogleBulkKeywordDifficultyTool(this.dataForSEOClient), new GoogleSubdomainsTool(this.dataForSEOClient), new GoogleKeywordOverviewTool(this.dataForSEOClient), new GoogleTopSearchesTool(this.dataForSEOClient), new GoogleSearchIntentTool(this.dataForSEOClient), new GoogleKeywordsForSiteTool(this.dataForSEOClient), new GoogleDomainIntersectionsTool(this.dataForSEOClient), new GoogleHistoricalDomainRankOverviewTool(this.dataForSEOClient), new GooglePageIntersectionsTool(this.dataForSEOClient), new GoogleBulkTrafficEstimationTool(this.dataForSEOClient), new DataForSeoLabsFilterTool(this.dataForSEOClient), new GoogleHistoricalKeywordDataTool(this.dataForSEOClient), // Add more tools here ]; return tools.reduce((acc, tool) => ({ ...acc, [tool.getName()]: { description: tool.getDescription(), params: tool.getParams(), handler: (params: any) => tool.handle(params), }, }), {}); }