---
title: "Get Domain Ranking History"
method: GET
path: "/v2/historic/getHistoricRankingsForDomain"
tags: ["Ranking History API"]
---

# Get Domain Ranking History

`GET /v2/historic/getHistoricRankingsForDomain`

Returns historical organic ranking data for a domain across multiple keywords within a specified date range. Track position changes, click gains/losses, and ranking trends over time to analyze SEO performance.

[Visualize this API live on SpyFu](https://www.spyfu.com/seo/ranking-history/domain?expandChart=false&searchType=MostValuable&includeAnyTerm=true&query=example.com&sidebarContext=topics) _(TODO – verify)_

## Query parameters

- `domain` string, required
- `queryType` 'MostValuable' | 'FellFromTop10' | 'MadeTheTop10' | 'NewKeywords' | 'NoLongerRanks' | 'GainedRanks' | 'LostRanks' | 'GainedClicks' | 'LostClicks'
- `startDate` string, date-time
- `endDate` string, date-time
- `includeTerms` string
- `includeAnyTerm` boolean
- `excludeTerms` string
- `startRank.min` number, float
- `startRank.max` number, float
- `endRank.min` number, float
- `endRank.max` number, float
- `endRankChange.min` number, float
- `endRankChange.max` number, float
- `seoClicks.min` number, float
- `seoClicks.max` number, float
- `seoClicksChange.min` number, float
- `seoClicksChange.max` number, float
- `searchVolume.min` number, float
- `searchVolume.max` number, float
- `countryCode` 'AR' | 'AT' | 'AU' | 'BE' | 'BR' | 'CA' | 'CH' | 'DE' | 'DK' | 'ES' | 'FR' | 'IE' | 'IN' | 'IT' | 'JP' | 'MX' | 'NL' | 'NO' | 'NZ' | 'PL' | 'PT' | 'SE' | 'SG' | 'TR' | 'UA' | 'UK' | 'US' | 'ZA'
- `sortBy` 'ClicksChange' | 'EndClicks' | 'StartRank' | 'EndRank' | 'RankChange'
- `pageSize` integer
- `startingRow` integer
- `sortOrder` 'Ascending' | 'Descending'

## Response `200`

Successfully retrieved domain ranking history data

- object
  - `resultCount` integer — Number of results returned
  - `results` object[], nullable
    - `keyword` string, nullable
    - `historicalRanks` object, nullable
    - `startRank` integer, nullable
    - `endRank` integer, nullable
    - `rankChange` integer, nullable
    - `endClicks` integer
    - `clicksChange` integer
    - `searchVolume` integer, nullable
  - `totalVolume` integer
  - `totalClicks` integer
  - `totalClicksChange` integer
  - `totalRankChange` integer
  - `rankAverage` number, double
  - `rankAverageChange` number, double
  - `totalMatchingResults` integer

## Other responses

- `400` — Invalid request parameters or date range
- `401` — User failed authorization
- `500` — Server error while processing ranking history data

---

[API](https://skmtc.net/spyfu/apis/domain-stats-api.md) · [All operations](https://skmtc.net/spyfu/apis/domain-stats-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spyfu/domain-stats-api/revisions/44f0aff08ed0/schema)
