dataforseo_labs_google_historical_rank_overview
Analyze historical SEO performance by extracting domain ranking distribution, organic and paid search traffic trends, and SERP visibility metrics for targeted domains in specific locations and languages.
Instructions
This endpoint will provide you with historical data on rankings and traffic of the specified domain, such as domain ranking distribution in SERPs and 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 | |
| include_clickstream_data | No | Include or exclude data from clickstream-based metrics in the result | |
| 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 implements the core logic: validates params, makes POST request to DataForSEO Labs API endpoint '/v3/dataforseo_labs/google/historical_rank_overview/live', formats response or error.async handle(params: any): Promise<any> { try { const response = await this.client.makeRequest('/v3/dataforseo_labs/google/historical_rank_overview/live', 'POST', [{ target: params.target, location_name: params.location_name, language_code: params.language_code, ignore_synonyms: params.ignore_synonyms, include_clickstream_data: params.include_clickstream_data }]); return this.validateAndFormatResponse(response); } catch (error) { return this.formatErrorResponse(error); } }
- Zod schema definitions for input parameters: target (domain), location_name, language_code, ignore_synonyms, include_clickstream_data.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`), include_clickstream_data: z.boolean().optional().default(false).describe( `Include or exclude data from clickstream-based metrics in the result`) }; }
- The tool class is instantiated and added to the tools array in DataForSEOLabsApi module's getTools() method, which registers it using its getName() with params and handler.new GoogleHistoricalDomainRankOverviewTool(this.dataForSEOClient),