> ## Documentation Index
> Fetch the complete documentation index at: https://docs.markifact.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Top Pages

> List the pages or subdomains of a domain with the most Google visibility according to DataForSEO Labs: estimated organic and paid traffic, ranking keyword counts by position bucket, and keyword mov...

List the pages or subdomains of a domain with the most Google visibility according to DataForSEO Labs: estimated organic and paid traffic, ranking keyword counts by position bucket, and keyword movements per page.

| | |
| - | - |
| **App** | DataForSEO |
| **Operation ID** | `dataforseo_get_top_pages` |
| **Type** | Action |
| **Connection** | `dataforseo` (required) |
| **Credits per run** | Free |
| **Agent / MCP tool** | Yes |

## Inputs

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `target` | string | Yes | - | Domain to list the best pages or subdomains for, without scheme or www (e.g. example.com). |
| `report` | string or SelectableOption | No | `pages` | 'pages' (default): pages of the domain ranked by estimated organic traffic and keyword counts. 'subdomains': the same per subdomain. |
| `location` | string or SelectableOption | No | `2840` | Country or location: a two-letter country code (us, gb, de...), a DataForSEO location code (2840 = United States), or a full location name such as 'London,England,United Kingdom'. Defaults to the United States. |
| `language` | string or SelectableOption | No | `en` | Language code of the search results, e.g. en, de, es, fr, nl. Defaults to en. |
| `item_types` | string or array of string | No | - | SERP element types to count: organic, paid, featured\_snippet, local\_pack, ai\_overview\_reference. Defaults to organic and paid. |
| `historical_serp_mode` | string or SelectableOption | No | `live` | 'live' (default): current rankings. 'lost': rankings the pages lost. 'all': both. |
| `filters` | array of FilterItem | No | - | Up to 8 filters on dotted result fields, e.g. metrics.organic.etv GREATER\_THAN 100, metrics.organic.count GREATER\_THAN 10, page\_address CONTAINS '/blog/'. |
| `orders` | array of OrderItem | No | - | Sort by up to 3 dotted result fields, e.g. keyword\_info.search\_volume DESC. |
| `limit` | integer | No | `100` | Maximum number of rows to return (1 to 1000). Defaults to 100. Each row is billed by DataForSEO, so keep this as small as the task needs. |
| `offset` | integer | No | - | Number of rows to skip, for paging. |
| `fields` | string or array of string | No | - | Dotted result fields to keep, e.g. page\_address (or subdomain), metrics.organic.etv, metrics.organic.count, metrics.organic.pos\_1, metrics.organic.pos\_2\_3, metrics.organic.pos\_4\_10, metrics.organic.is\_new, metrics.organic.is\_up, metrics.organic.is\_down, metrics.organic.is\_lost, metrics.paid.etv, metrics.paid.count. Leave empty for the default set (see the output description). |

### FilterItem

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `field` | string or SelectableOption | Yes | - | The field to filter on, must be one of the current selected metrics or dimensions. |
| `operator` | string | Yes | - | The operator to use for filtering. Must be one of the supported values. Use REGEXP\_MATCH to search/filter by multiple OR values like '.*(summer\|holiday).*' |
| `value` | string | Yes | - | The value to filter by, always as a string: text, a number, or a regex. For IN\_LIST and NOT\_IN\_LIST, pass the values as one comma-separated string such as 'a,b,c', not as an array. For regex values, escape backslashes once in the JSON string: write \b for a word boundary, not \b. |

### OrderItem

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `field` | string or SelectableOption | Yes | - | The field to sort by. must be one of the current selected metrics or dimensions. |
| `direction` | string | Yes | - | The order to sort by, must be one of 'ASC', 'DESC' |

### SelectableOption

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `value` | string | Yes | - | |
| `label` | string | Yes | - | |

## Output

**Type**: `List[Dict]`

Returns one row per page or subdomain with page\_address (or subdomain) plus dotted metric columns: metrics.organic.etv, metrics.organic.count, metrics.organic.pos\_1 ... pos\_91\_100, metrics.organic.is\_new, is\_up, is\_down, is\_lost, metrics.organic.estimated\_paid\_traffic\_cost, and the same under metrics.paid.

**Fields**: `page_address`, `metrics.organic.etv`, `metrics.organic.count`, `metrics.organic.pos_1`, `metrics.organic.pos_2_3`, `metrics.organic.pos_4_10`, `metrics.paid.etv`

**Example**:

```json theme={"dark"}
[
  {
    "page_address": "https://ahrefs.com/backlink-checker",
    "metrics.organic.etv": 812340.7,
    "metrics.organic.count": 1660,
    "metrics.organic.pos_1": 210,
    "metrics.organic.pos_2_3": 340,
    "metrics.organic.pos_4_10": 520
  }
]
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.