Related keywords with volume and CPC by phrase and country.
This report provides an extended list of related keywords, synonyms, and variations relevant to a queried term in a chosen database.
Job seo.keywords.related
telipot run semrush.seo.keywords.related \
--input-json '{"type":"phrase_related","phrase":"seo","database":"us","display_limit":1,"export_columns":"Ph,Nq,Cp,Co"}' \
--quotePrice
Semrush API unitssemrush.seo.keywords.related
Whose account it uses
What it sends
{
"type": "phrase_related",
"phrase": "seo",
"database": "us",
"display_limit": 1,
"export_columns": "Ph,Nq,Cp,Co"
}Your Semrush login is added for you. Your AI never sees it.
What it costs
40 API units
per result · no USD rate
| rate | 40 API units per result, billed per result |
| source | docs · developer.semrush.com/api/v3/seo/keyword-reports/#related-keywords · checked 2026-10-05 |
| confidence | documented |
| note | 40 API units per line returned. Semrush does not charge a request that returns no data. Semrush publishes no USD price per API unit. |
Preview the price first. --quote runs nothing.
For developers · run it
Shell · runs the task on the named account
telipot run semrush.seo.keywords.related \
--input-json '{"type":"phrase_related","phrase":"seo","database":"us","display_limit":1,"export_columns":"Ph,Nq,Cp,Co"}'type string · required · const "phrase_related" | Fixed. Selects the Related Keywords report. |
phrase string · required | Keyword or keyword expression to investigate. |
database string · required | Two-letter regional database code, such as us, uk, ca, de or fr. Keyword reports accept the plain two-letter codes only, not the mobile- and -ext variants. The full list is under Databases in the SEO API overview. |
display_limit integer · required · 1 to 100000 | Lines returned, which is what Semrush bills. Semrush returns up to 10,000 lines when the parameter is omitted or 0, so this task requires it. Semrush returns at most 100,000 lines per call. |
display_offset integer · at least 0 | Lines to skip before the report starts. Semrush counts display_limit from the first line, so set display_limit to display_offset plus the lines wanted. |
display_sort string · one of "nq_asc", "nq_desc", "cp_asc", "cp_desc", "co_asc", "co_desc", "nr_asc", "nr_desc", "rr_asc", "rr_desc", "kd_asc", "kd_desc" | Sort rule, one per call, such as nq_desc for the highest volume first. |
display_filter string | Filters written as sign|column|operation|value, joined with |. Sign + includes and - excludes. Columns: Ph, Nq, Cp, Co, Nr, Wc, Fk, Kd. Operations: Eq, Gt, Lt for numbers; Bw, Ew, Eq, Co, Wm for text. At most 25 filters. Write it in plain text; the + must reach Semrush as %2B. |
export_columns string · default "Ph,Nr,Cp,Co,Nq,Td,Rr" | Comma-separated column codes, in the order wanted. Ph Keyword, Nq Search Volume (monthly average over the last 12 months), Cp CPC in USD, Co Competition (0 to 1, 1 is highest), Nr Number of Results, Td Trends (12 monthly values), Rr Related Relevance, Fk SERP Features, In Intents (0 Commercial, 1 Informational, 2 Navigational, 3 Transactional), Kd Keyword Difficulty Index (0 to 100, higher is harder). |
output string | CSV text: a header line of column names, then one line per related keyword, columns separated by semicolons, in the order of export_columns. A body that starts with ERROR is a failure, for example ERROR 50 :: NOTHING FOUND. |
Full output schema · JSONNested fields and constraints
Output JSON Schema
{
"type": "string",
"pattern": "^(?!\\s*ERROR)",
"description": "CSV text: a header line of column names, then one line per related keyword, columns separated by semicolons, in the order of export_columns. A body that starts with ERROR is a failure, for example ERROR 50 :: NOTHING FOUND."
}A real answer
No example captured yet: one is recorded when telipot catalog verify passes.

