# Keyword research: ideas, metrics and costs

URL: https://serpel.app/docs/keyword-research

Updated: 2026-11-05

Keyword research in Serpel returns search volume, cost per click, keyword difficulty and search intent for a seed keyword, for your own list of keywords or for the keywords a domain ranks for. You pay a fixed number of credits per research, shown before you start, and you can track any result with one click. Results are saved to the project for 180 days, so you can reopen, filter and export them without paying again.

## What does keyword research show?

Every research returns a table of keywords with the same metrics. The data comes from DataForSEO Labs, which measures Google search. Search volume and CPC are available for the whole country only, not for a city.

| Column | What it tells you |
| --- | --- |
| **Keyword** | The search term. The seed keyword you started from carries a **Seed keyword** tag. |
| **Search volume** | Searches per month in the country of your market. |
| **12 months** | A small chart of the monthly volume over the last 12 months. |
| **CPC** | The cost per click that advertisers pay in Google Ads, in US dollars. It describes the ad market, not organic traffic. |
| **Difficulty** | A DataForSEO score from 0 to 100 for reaching the first results organically. 0 is easy, 100 is very hard. |
| **Search intent** | Informational, Commercial, Transactional or Navigational. A tooltip marks an estimate as Serpel’s own. |
| **Rank tracking** | A **Track** button, or a **tracked** tag when you already track the keyword. |

Four cards above the table sum up the result: **Ideas**, **Total search volume**, **Avg. CPC** and **Already tracked**. The export and the API add two more fields, the ads competition value and its level (`LOW`, `MEDIUM` or `HIGH`), which describe competition between advertisers rather than organic difficulty.

- **700** keywords per list research
- **500** ideas at most per research
- **100** ideas by default

Illustration: Keyword research results with search volume, a 12-month trend, CPC and search intent, shown with demo data.

## Which research modes does Serpel offer?

Serpel offers three modes. Choose the one that matches what you already have: a topic, a list of terms or a competitor’s site. Each keyword may have at most 80 characters and 10 words.

**The three research modes**

- **Keyword** (16 credits for 100 ideas): Starts from one seed keyword or topic. Combines keyword suggestions with related keywords, the seed first and then by search volume. Returns at most the ideas you choose: 50, 100, 200, 500 in the dashboard.
- **List** (6 credits for up to 50 keywords): Takes your own keywords, one per line or separated by commas, up to 700 per request. Returns the metrics of each keyword and leaves the row empty when the provider has no data. The price depends on the number of keywords, not on a result limit.
- **Domain** (8 credits for 100 results): Takes a domain such as `example.com`. Returns the keywords that the domain ranks for in Google, with the same metrics. Useful to see which keywords a competitor ranks for in Google.

## How do you run a keyword research?

**How a research runs**

1. **Choose a mode**: Pick keyword, list or domain and enter what to research.
2. **Check the price** (Credits): The estimate under the field shows the credits before you start.
3. **Fetch the data**: Serpel asks the data provider, or reuses a cached answer, and saves the run to the project.
4. **Filter and sort**: Narrow the ideas by intent, volume, tracking status or topic cluster.
5. **Track or export**: Track keywords with one click or download the ideas as CSV or JSON.

1. **Open Keyword research.** Choose **Keyword research** under **Research** in the sidebar. The page opens with your latest research of the project, if there is one.

2. **Choose the type.** The first button shows **Keyword**, **List** or **Domain**. Click it to switch the mode.

3. **Enter what to research.** Type a keyword or topic, paste your list with one keyword per line, or enter a domain such as `example.com`. A list may hold up to 700 keywords.

4. **Check the market.** The market button shows the country and language, for example “Germany, German”. It offers only the pairs for which keyword data exists. The location picker next to it only matters when you track a result.

5. **Set the options.** Open **Research options** to choose how many ideas Serpel fetches, which does not apply to lists, or to switch on **Fetch again from the provider**.

6. **Start the research.** Read the **Estimated maximum price** below the field, then click **Research**. The results appear as soon as the provider has answered.

## How much does keyword research cost?

Every research has a fixed price that depends only on the mode and the size. A keyword research costs 8 credits plus 4 per started block of 50 results. A domain research costs 4 credits plus 2 per block. A list research costs 4 credits per request plus 2 per started block of 50 keywords, and one request covers up to 700 keywords.

| Research | Credits |
| --- | --- |
| Keyword, 50 ideas | 12 |
| Keyword, 100 ideas | 16 |
| Keyword, 200 ideas | 24 |
| Keyword, 500 ideas | 48 |
| Domain, 50 results | 6 |
| Domain, 100 results | 8 |
| Domain, 200 results | 12 |
| Domain, 500 results | 24 |
| List, 50 keywords | 6 |
| List, 700 keywords | 32 |

Serpel reserves the price when you start and charges it when the results are delivered. If the research fails, you are not charged. The charge is the same whether the data comes from the cache or from the provider. Reopening a saved research is free. The [credits and billing](https://serpel.app/docs/credits-and-billing) page explains balances, plans and top-ups. Keyword research and other expensive operations share a limit of 30 per minute for each workspace.

### What does Fetch again do?

Serpel keeps provider answers in a cache, for 7 days by default, so a repeated research for the same market returns quickly. **Fetch again from the provider** ignores the cache and asks the data provider for fresh numbers. It does not change the price. Use it when you need the latest volumes, not as a way to save credits.

## How are search intent and topic clusters worked out?

Serpel uses the search intent that the data provider returns when it has one. For all other keywords, Serpel estimates the intent from signal words in English and German, such as “buy”, “price”, “best”, “how” or “login”. Hover over such an intent tag and the tooltip says that the value is Serpel’s own estimate, not the provider’s. The export names the source of every intent as “Provider” or “Estimate”.

Topic clusters are Serpel’s own grouping, not a provider metric. Serpel removes common stop words and the words of your seed keyword, then groups keywords that share a word. A group needs at least two keywords, and the rest land in **Other**. Neither the intent estimate nor the clusters use AI.

## How do you filter, track and export results?

Above the table, the filter bar offers **Search intent**, **Search volume** (**Under 500**, **500 to 5,000** or **Over 5,000**), **Tracked** and **Topic cluster**. The cluster filter appears when the research has more than one cluster. A search box finds keywords in the results, and the sort button cycles through **Search volume**, **CPC** and **Easiest first**.

1. **Track a keyword.** Click **Track** in the **Rank tracking** column. Serpel adds the keyword to [rank tracking](https://serpel.app/docs/rank-tracking) with the country and language of the research, the selected location and your project’s device. Adding costs nothing, and the position arrives with the next check.

2. **Watch your slots.** The **Already tracked** card counts the ideas you already track, and its detail line shows how many slots you use. When all slots are used, the button is disabled. Viewers do not see **Track**.

3. **Export the ideas.** Press **Ctrl K** (or ⌘K) to open the command palette and choose **Download keyword ideas as CSV** or **Download keyword ideas as JSON**. The file contains the rows that match your filters, with source and fetch time.

4. **Reopen an earlier research.** The command palette lists your last 10 researches of the project as **Open research** entries. Opening one costs nothing.

Saved results of a research are removed after 180 days. After that, the page tells you to run the research again to see current values.

## How do you use keyword research from the CLI, API and MCP?

The [CLI](https://serpel.app/docs/cli) offers every mode with `serpel keywords research`. It prints the credits charged and the new balance, and `--refresh` fetches again from the provider. Keyword lists are a CLI and API feature without a dashboard page: a list holds up to 5,000 keywords, and you can fill it from a research run, from a CSV file or by hand.

```bash
serpel keywords research "cold brew concentrate" --country US --language en --limit 100 --project <id>
serpel keywords research --list "cold brew concentrate,cold brew coffee" --country US --language en
serpel keywords research --domain example.com --country US --language en
serpel keywords research "cold brew concentrate" --country US --language en --refresh
serpel keywords history --project <id>
serpel keywords research-show <runId>
serpel keywords list-create --project <id> --name "Summer launch"
serpel keywords items-add <listId> --keyword "cold brew concentrate" --research-run <runId>
serpel keywords import <listId> --file keywords.csv
serpel keywords items <listId> --sort volume
serpel keywords refresh <listId>
```

The [REST API](https://serpel.app/docs/api) takes the same input at `POST /keywords/research`, with the `keywords:write` scope. Send an `Idempotency-Key` header so that a retry after a network error is not charged twice. `GET /keywords/research/{runId}` reads a saved run without a charge.

```bash
curl -X POST https://serpel.app/api/v1/keywords/research \
  -H "Authorization: Bearer $SERPEL_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: research-cold-brew-1" \
  -d '{"mode": "keyword", "keyword": "cold brew concentrate", "country": "US", "language": "en", "limit": 100}'
```

The MCP tool `research_keywords` is the only MCP tool that uses credits, so it follows strict spending rules. It needs the Starter or Pro plan, and the workspace owner must have allowed agent spending with “Agents can spend credits”. A single call may cost at most 50 credits, and the default daily limit for agents is 500 credits. The tool returns at most 25 keywords, which costs 12 credits in keyword mode and 6 credits in domain mode, and it saves the full run in the dashboard. The [Claude Code guide](https://serpel.app/docs/mcp/claude-code) lists the error codes and the budget fields.

## Why does a research fail or show gaps?

| What you see | What to do |
| --- | --- |
| “Keyword data for … is available in …” | The country and language pair has no keyword data. Choose one of the languages that the message names. |
| “At most 700 keywords per request” | Split the list into several researches. |
| “Keywords can have at most 10 words” | Shorten the keyword. Keywords may have up to 80 characters. |
| Empty search volume cells | The provider returned no data for those keywords. In list mode, the notes under the table say how many. |
| An insufficient credits message | Your balance does not cover the price. Top up or wait for your monthly allowance under **Settings → Billing**. |
| HTTP 429 or `rate_limited` | The workspace reached its limit of expensive operations. Wait for the seconds in `Retry-After`. |
| HTTP 409 “still being processed” | Send the same request again with the same `Idempotency-Key` to get its result. |
| The intent tooltip says “Our own estimate” | The provider had no intent for the keyword, so Serpel estimated it from signal words. |

## Where to go next

- [Rank tracking](https://serpel.app/docs/rank-tracking): Track the keywords you picked and read their positions.
- [Credits and billing](https://serpel.app/docs/credits-and-billing): See what research and other actions cost.
- [Claude Code over MCP](https://serpel.app/docs/mcp/claude-code): Let an agent research keywords within a budget.
- [CLI](https://serpel.app/docs/cli): Run research and keep keyword lists from the terminal.