---
title: "Live SERP results report | SEO Skill"
description: "Inspect exact organic ranks, domains, URLs, titles, snippets and result features for one keyword, location, language and device-specific search snapshot."
canonical: "https://seoskill.dev/docs/reports/serp-results"
language: "en"
---

# Live SERP results report

See the current bounded result page for one query and market. The snapshot keeps exact ranks separate from Search Console averages and does not turn repeated domains into a strength score.

## 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
```

Inspect one bounded location and device-specific result snapshot.

```
seo reports run serp-results --params '{"keyword":"local seo software","countryCode":"US","languageCode":"en","device":"mobile"}' --json
```

## What you get from this report

Inspect one bounded search snapshot with exact retained organic ranks, market context, result features, provider coverage, cache status, and request cost.

Best for

A keyword needs a current intent and result-page review before a content decision.

Needs

Keyword and search market

You get

Exact retained organic ranks with URLs, domains, titles, snippets, result features, and corrected-query evidence where observed.

Use next

Discover keyword candidates

## What you need before you run it

This report uses one provider snapshot with keyword, effective query, observation time, search market, exact organic ranks, URLs, titles, snippets, result features, coverage, cache status, and local request cost.

### Keyword and search market

Set one query, country, language, optional location, device, and a result depth of at most 100.

### Connected result provider

Returns the observed result page, organic rows, result features, corrected query, coverage, and acquisition evidence.

## 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

Validates and sorts retained organic rows by exact absolute rank with stable tie-breakers.

02

Keeps the effective query, observation time, market, result features, invalid rows, provider limits, and omitted depth visible.

03

Summarises repeated domains as a property of this snapshot without turning frequency into an authority or feasibility score.

## 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 | Exact retained organic ranks with URLs, domains, titles, snippets, result features, and corrected-query evidence where observed. |
| More detail | A bounded domain summary plus provider, market, coverage, cache, cost, warning, limit, and caveat evidence. |
| Read it with | Review the retained pages, result types, and any corrected query. Repeated domains describe this snapshot; they do not prove authority or that another site cannot compete. |

## What the result cannot prove

Results can change between checks and may differ from signed-in or personalised searches. Provider result counts are estimates, and the requested depth is not a complete inventory.

Review the retained pages, result types, and any corrected query. Repeated domains describe this snapshot; they do not prove authority or that another site cannot compete. Match query, market, device, and date before comparing the snapshot with first-party position evidence.

## Use a different report for these jobs

You need scheduled rank history across many terms. You want domain strength, content quality, or site-specific ranking feasibility inferred from one result page.

[

### You need independent demand estimates or related candidates rather than the current result page.

Run keyword research to build a bounded shortlist, then inspect result snapshots only for the candidates that deserve an intent review.

Keyword research report

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

### You need ranking history or a definitive explanation for why one page outranks another.

Use repeated, comparable snapshots for rank history and inspect the ranking pages directly. One snapshot cannot prove causation, domain strength, content quality, or future ranking feasibility.

Needs more evidence

## 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 serp-results --json
```

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

```
seo reports run serp-results --params '{"keyword":"local seo software","countryCode":"US","languageCode":"en","device":"mobile","depth":20}' --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": "serp-results"
}
```

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

```
{
  "id": "serp-results",
  "params": {
    "keyword": "local seo software",
    "countryCode": "US",
    "languageCode": "en",
    "device": "mobile",
    "depth": 20
  }
}
```

### 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(
  'serp-results',
  {
  "keyword": "local seo software",
  "countryCode": "US",
  "languageCode": "en",
  "device": "mobile",
  "depth": 20
},
)

console.log(result)
```

## What to do next

Open representative ranking pages and confirm the query intent. Match market, device, query and observation time before comparing the exact snapshot with first-party average position or a later check.

1.  01Open representative ranking pages and confirm the dominant intent before choosing an existing or new target page.
2.  02Match query, market, device, and date before comparing the snapshot with first-party position evidence.

## Related reports

[

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)[

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)[

Group position 11 to 20 Search Console queries into practical actions.

Striking distance SEO report

](https://seoskill.dev/docs/reports/striking-distance)[

Create a focused brief for one existing page from its own search queries and the content observed on the live URL.

Content optimization report

](https://seoskill.dev/docs/reports/content-optimization)

## Sources used by this report

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

-   [DataForSEO live Google SERP API reference](https://docs.dataforseo.com/v3/serp-google-organic-live-advanced/)
