---
title: "Saved keyword set report | SEO Skill"
description: "Review saved keyword research, stale provider metrics, tags and page mappings from one local project set without repeating paid acquisition."
canonical: "https://seoskill.dev/docs/reports/saved-keywords"
language: "en"
---

# Saved keyword set report

Continue a keyword investigation from local saved evidence. The report shows which returned terms have current metrics or page mappings while keeping missing values and partial views clear.

## Install and run the report

Install the CLI once, then run `seo start` to connect your site and Google data. After setup you can run this report yourself or ask your agent to run it.

Install the SEO CLI globally.

```
npm i -g seo
```

Run setup after installation.

```
seo start
```

Review one local saved research set without provider acquisition.

```
seo reports run saved-keywords --params '{"projectId":"example","set":"Priority"}' --json
```

## What you get from this report

Open one local project keyword set and check metric freshness, research tags, page mappings, and view coverage before choosing the next investigation.

Best for

You want to continue earlier keyword research without repeating provider acquisition.

Needs

Local project keyword set

You get

A limited local keyword view with market, source, pagination, filters, metric states, tags, page mappings, and refresh dates.

Use next

Compare keyword metrics

## What you need before you run it

This report uses one local project keyword set with its saved market, source, refresh time, typed metric snapshots, tags, and target or proposed page mappings.

### Local project keyword set

Provides the saved market, research source, terms, user-managed tags, and existing or proposed page mappings.

### Saved provider metric snapshots

Adds the latest typed estimate and observation date for each returned term when it has been refreshed.

## How the report finds the opportunity

The report uses existing search and page evidence to build a limited review list. An opportunity is a reason to inspect a page, not a promise of more traffic.

01

Keeps total, matched, and returned rows separate when a tag filter or pagination limits the view.

02

Counts missing, observed-zero, and stale metric snapshots separately instead of filling gaps with zero.

03

Groups tags and page mappings for review without treating either as proof of shared intent, rankings, indexing, or content need.

## Check the evidence behind each opportunity

Start with the query, page and date range behind each suggestion. Thin or partial evidence belongs in the review pile, not the implementation queue.

| Read first | Why it matters |
| --- | --- |
| Result | A limited local keyword view with market, source, pagination, filters, metric states, tags, page mappings, and refresh dates. |
| More detail | Evidence-linked findings for missing metrics, stale metrics, and unmapped terms with clear verification steps. |
| Read it with | Use the set as a research workspace. Compare relevant terms with Search Console and current results before changing an existing page or approving a new page or template. |

## What the result cannot prove

Tags and page mappings record planning choices. Provider metrics are estimates, missing evidence is not zero, and a filtered or paginated view cannot describe the complete set.

Use the set as a research workspace. Compare relevant terms with Search Console and current results before changing an existing page or approving a new page or template. Inspect current results in the saved market and compare relevant terms with first-party evidence.

## Use a different report for these jobs

You need new keyword discovery, a current result snapshot, or proof that saved tags share one search intent.

[

### You need new market candidates rather than terms already saved in the project.

Run keyword research from a small seed list. It performs bounded provider discovery and keeps acquisition coverage and cost beside the returned candidates.

Keyword research report

](https://seoskill.dev/docs/reports/keyword-research)[

### You need first-party evidence for which terms already surface your pages.

Run keyword opportunities for the Search Console property. It starts from returned query and page evidence, then adds independent estimates only when explicitly requested.

Keyword opportunity report

](https://seoskill.dev/docs/reports/keyword-opportunities)

## Use the report with an agent or in code

The command above is enough for most work. These options let an agent, script or application run the same report with explicit input and structured output.

### CLI

Use the report catalog when an agent, script or CI job needs predictable JSON instead of the normal terminal output. Check the current input first, then run the report with the validated parameters.

Check the current input before the agent or script runs the report.

```
seo reports describe saved-keywords --json
```

Once the input is valid, run the report through the report catalog.

```
seo reports run saved-keywords --params '{"projectId":"example","set":"Priority","limit":100,"staleDays":45}' --json
```

### MCP

An MCP agent follows the same two-step flow. It inspects the current schema, fills the required fields and only then runs the report.

Ask the MCP server for the current report input.

```
{
  "id": "saved-keywords"
}
```

Run the report after the agent has checked and filled the input.

```
{
  "id": "saved-keywords",
  "params": {
    "projectId": "example",
    "set": "Priority",
    "limit": 100,
    "staleDays": 45
  }
}
```

### TypeScript

Install the package in a Node 22 project when your application needs to run the report directly. The result includes the same evidence, warnings and limits returned through the CLI and MCP server.

Add the SEO package to your project.

```
npm install seo
```

Run the report from your TypeScript application.

```
import { executeReport } from 'seo/mcp'

const result = await executeReport(
  'saved-keywords',
  {
  "projectId": "example",
  "set": "Priority",
  "limit": 100,
  "staleDays": 45
},
)

console.log(result)
```

## What to do next

Start with missing or stale metric snapshots and terms without a page mapping. Compare the useful candidates with Search Console and current results before changing a page or approving a new template.

1.  01Preview the refresh cost before updating stale or missing provider snapshots.
2.  02Inspect current results in the saved market and compare relevant terms with first-party evidence.

## Related reports

[

Check a limited keyword set against independent market estimates while keeping missing fields, provider coverage, cache status, and local request cost visible.

Keyword metrics report

](https://seoskill.dev/docs/reports/keyword-metrics)[

Expand a small seed list into bounded market-specific ideas while preserving the discovery method, metric state, provider coverage, cache status, and request cost.

Keyword research report

](https://seoskill.dev/docs/reports/keyword-research)[

Build one bounded queue from existing Search Console opportunities, then optionally add market estimates without changing the first-party priority scores.

Keyword opportunity report

](https://seoskill.dev/docs/reports/keyword-opportunities)[

Extend observed template and query-cluster evidence with optional keyword discovery, live results, competitor patterns, costs, and data-source checks.

Programmatic SEO opportunities

](https://seoskill.dev/docs/reports/pseo-opportunities)

## Sources used by this report

These primary sources define the provider data or search controls used by the result.

-   [DataForSEO keyword overview API reference](https://docs.dataforseo.com/v3/dataforseo_labs-google-keyword_overview-live/)
