{
"opencollection": "1.0.0",
"info": {
"name": "Account Account API Ranking History API API",
"version": "v2"
},
"request": {
"auth": {
"type": "basic",
"username": "{{username}}",
"password": "{{password}}"
}
},
"items": [
{
"info": {
"name": "Ranking History API",
"type": "folder"
},
"items": [
{
"info": {
"name": "Get Domain Ranking History",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.spyfu.com/apis/accounts_api/v2/historic/getHistoricRankingsForDomain",
"params": [
{
"name": "domain",
"value": "example.com",
"type": "query",
"description": "Domain to analyze ranking history for."
},
{
"name": "queryType",
"value": "MostValuable",
"type": "query",
"description": "Type of ranking analysis to perform."
},
{
"name": "startDate",
"value": "2025-01",
"type": "query",
"description": "Beginning date for range"
},
{
"name": "endDate",
"value": "2025-07",
"type": "query",
"description": "Ending date for range"
},
{
"name": "includeTerms",
"value": "",
"type": "query",
"description": "Comma-separated list of terms that must be present in the keyword."
},
{
"name": "includeAnyTerm",
"value": "",
"type": "query",
"description": "Used with includeTerms. If true: match any term (OR). If false: require all terms (AND)."
},
{
"name": "excludeTerms",
"value": "",
"type": "query",
"description": "Comma-separated list of terms to exclude from results (e.g., branded or irrelevant terms)."
},
{
"name": "startRank.min",
"value": "",
"type": "query",
"description": "Filter to keywords where the domain/URL starting rank position is ≥ this value for the selected date range (1 = best/top organic result)."
},
{
"name": "startRank.max",
"value": "",
"type": "query",
"description": "Filter to keywords where the domain/URL starting rank position is ≤ this value for the selected date range (1 = best/top organic result)."
},
{
"name": "endRank.min",
"value": "",
"type": "query",
"description": "Filter to keywords where the domain/URL ending rank position is ≥ this value for the selected date range (1 = best/top organic result)."
},
{
"name": "endRank.max",
"value": "",
"type": "query",
"description": "Filter to keywords where the domain/URL ending rank position is ≤ this value for the selected date range (1 = best/top organic result)."
},
{
"name": "endRankChange.min",
"value": "",
"type": "query",
"description": "Filter to keywords where the rank improved by at least this many positions between the start and end of the date range (end_rank_change ≥ value). Positive values mean moved up; negative values mean moved down."
},
{
"name": "endRankChange.max",
"value": "",
"type": "query",
"description": "Filter to keywords where the rank change was at most this many positions between the start and end of the date range (end_rank_change ≤ value). Positive values mean moved up; negative values mean moved down."
},
{
"name": "seoClicks.min",
"value": "",
"type": "query",
"description": "Filter to keywords where estimated monthly organic clicks (SEO clicks) to the domain/url are ≥ this value."
},
{
"name": "seoClicks.max",
"value": "",
"type": "query",
"description": "Filter to keywords where estimated monthly organic clicks (SEO clicks) to the domain/url are ≤ this value."
},
{
"name": "seoClicksChange.min",
"value": "",
"type": "query",
"description": "Filter to keywords where the month-over-month change in estimated organic clicks is ≥ this value. Positive values indicate click gains; negative values indicate click losses."
},
{
"name": "seoClicksChange.max",
"value": "",
"type": "query",
"description": "Filter to keywords where the month-over-month change in estimated organic clicks is ≤ this value. Positive values indicate click gains; negative values indicate click losses."
},
{
"name": "searchVolume.min",
"value": "",
"type": "query",
"description": "Filter to keywords where monthly search volume (Google) is ≥ this value."
},
{
"name": "searchVolume.max",
"value": "",
"type": "query",
"description": "Filter to keywords where monthly search volume (Google) is ≤ this value."
},
{
"name": "countryCode",
"value": "US",
"type": "query",
"description": "Country market to search. Specifically, this maps to the Google domain version to query against (e.g., google.com for US, google.de for Germany, etc.). All Countries"
},
{
"name": "sortBy",
"value": "",
"type": "query",
"description": "Field to sort by"
},
{
"name": "pageSize",
"value": "5",
"type": "query",
"description": "The maximum number of rows returned."
},
{
"name": "startingRow",
"value": "1",
"type": "query",
"description": "Row number to start the results with."
},
{
"name": "sortOrder",
"value": "",
"type": "query",
"description": "Order to sort by"
}
]
},
"docs": "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.\n\n[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)_"
},
{
"info": {
"name": "Get Keyword Domain Rankings",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.spyfu.com/apis/accounts_api/v2/historic/getHistoricRankingsForKeywordOnDomains",
"params": [
{
"name": "keyword",
"value": "",
"type": "query",
"description": "Keyword to analyze ranking history for."
},
{
"name": "domains",
"value": "",
"type": "query",
"description": "Comma-separated list of domains to compare rankings for."
},
{
"name": "startDate",
"value": "2025-01",
"type": "query",
"description": "Beginning date for range"
},
{
"name": "endDate",
"value": "2025-07",
"type": "query",
"description": "Ending date for range"
},
{
"name": "countryCode",
"value": "US",
"type": "query",
"description": "Country market to search. Specifically, this maps to the Google domain version to query against (e.g., google.com for US, google.de for Germany, etc.). All Countries"
}
]
},
"docs": "Returns historical organic ranking data for a specific keyword across multiple specified domains within a date range. Compare how different domains have performed for the same keyword over time.\n\n[Visualize this API live on SpyFu](https://www.spyfu.com/keyword/ranking-history?query=example%20keyword) _(TODO – verify)_"
},
{
"info": {
"name": "Get Domain Keyword Rankings",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.spyfu.com/apis/accounts_api/v2/historic/getHistoricRankingsForDomainOnKeywords",
"params": [
{
"name": "domain",
"value": "",
"type": "query",
"description": "Domain to analyze ranking history for."
},
{
"name": "keywords",
"value": "",
"type": "query",
"description": "Comma-separated list of keywords to analyze rankings for."
},
{
"name": "startDate",
"value": "2025-01",
"type": "query",
"description": "Beginning date for range"
},
{
"name": "endDate",
"value": "2025-07",
"type": "query",
"description": "Ending date for range"
},
{
"name": "countryCode",
"value": "US",
"type": "query",
"description": "Country to get results for."
}
]
},
"docs": "Returns historical organic ranking data for a specific domain across multiple specified keywords within a date range. Analyze how a domain's positions have changed over time for your target keyword list.\n\n[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)_"
}
]
}
],
"bundled": true
}