---
title: 'The Queries screen: every keyword a research run found'
description: 'The Queries list and keyword detail: intent, demand bucket and difficulty per keyword, the pages ranking for it, and the matching list_keywords and get_keyword_detail.'
slug: queries
group: app
order: 30
keywords:
  [queries screen, keyword list, keyword difficulty, search intent, volume bucket, list_keywords, get_keyword_detail]
related: [data-backed-path, pages, companies, free-and-paid]
updated: '2026-10-26'
---

The Queries screen sits under Queries in the Data Explorer part of each project's sidebar. It is the raw search demand behind the project: every keyword a research run discovered for the niche. Opportunities groups these keywords into clusters; Queries shows them one by one.

## What the list shows

A table with one row per keyword:

- **Query**: the keyword text, linked to its detail page.
- **Intent**: informational, commercial, transactional or navigational.
- **Volume**: a demand bucket, one of High, Average, Long tail or No traffic. VarynForge sizes demand in buckets, not as a searches-per-month figure.
- **KD**: keyword difficulty, from 0 to 100, colored by how hard it is.
- **Updated**: how long ago the project's latest research run completed.

The list starts with the easiest keywords. Keywords with no difficulty score sort to the end, so long-tail noise with an unscored 0 does not crowd the top. It loads 50 at a time.

## The keyword detail

Open a keyword and its page, at `/queries/<queryHash>`, shows the keyword as the title with its intent, `KD` and demand bucket. Two sections follow:

- **Related Keywords**: the keywords stored as related to this one. A related keyword VarynForge holds data on links to its own detail page; the rest show as plain tags.
- **Ranking Pages**: the pages that rank for the keyword, in position order, with title, URL and company. A page on your own site is marked Yours, and its company reads Your site. Each page links to its [page dossier](/docs/pages) and each company to its [company detail](/docs/companies).

## Where the data comes from

Keywords, intent, demand bucket and difficulty are written by research runs. A run discovers the keywords for the niche and reads the search results for each one, which is where the ranking pages and their positions come from. The screen has no data until a project's first run, and says so: run a research to map search demand in your niche.

The data is as fresh as the latest completed run. A note under the title says how old it is. After 30 days it adds a Stale badge, after 90 an Antique badge, each with a Re-run link to the project overview. Nothing on this screen refreshes between runs.

## What you can do here

- **Intent** buttons filter the list to one intent. Pressing the active one again, or **Clear filter**, removes it.
- **Load more** fetches the next 50 keywords.
- Click a keyword to open its detail, then a page or a company to follow it.

The screen is for reading. Nothing on it changes the project's data or scores.

## The same thing over MCP

| On the screen  | MCP tool             |
| -------------- | -------------------- |
| The list       | `list_keywords`      |
| Keyword detail | `get_keyword_detail` |

The screen and the tools make the same call. `list_keywords` takes a `projectId`, a `limit` up to 100, a `cursor` for the next page, an optional `filters.intent`, and `sorting` by `volume`, `difficulty`, `text` or `intent`. Each item carries `queryHash`, `text`, `difficulty`, `intent` and `volumeBucket` (`no_traffic`, `long_tail`, `average` or `high`). The response's `nextCursor` is absent on the last page.

`get_keyword_detail` takes a `queryHash` and a `projectId`. It returns the keyword, its ranking `pages` with `position`, company and `isOwned`, and `resolvedRelated`, the related keywords that have a `queryHash` to open next. An agent picking easy topics should prefer `list_opportunities`, which scores whole clusters; see [the data-backed path](/docs/data-backed-path).
