Keyword Overview
Volume, CPC, competition, difficulty and search intent for keywords you already have. Country-level data — use Keyword Search Volume when you need city/state numbers.
When to use this
You already have your keyword list and want to know which ones are worth going after. This tells you how hard each one is to rank for (keyword_difficulty), what someone typing it actually wants (search_intent — are they researching, or ready to buy?), and how strong the link profiles of the pages currently ranking are. Search Volume tells you how many people search; this tells you what it would take to win them.
POST
/v1/keywords/overviewCost: 10 credits for a single keyword, scaling with list size (20 for 100, 116 for 1,000)
Rate Limit: Varies by plan
Response: ~2-5 seconds
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| keywords | string[] | Yes | Keywords to look up (max 1,000) |
| location | string | Yes | Location — scoped to its country (e.g. "Denver, Colorado, United States" reads as United States) |
| language | string | No | ISO 639-1 code or language name ("fr", "French"). Defaults to English wherever our data provider holds an English database for that country, and to the largest database that country has otherwise. |
Example Request
curl -X POST https://api.localseodata.com/v1/keywords/overview \
-H "Authorization: Bearer sk_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"keywords": ["roof repair", "emergency roofer"],
"location": "Austin, Texas, United States"
}'Example Response
JSON
{
"status": "success",
"credits_used": 10,
"data": {
"keywords": [
{
"keyword": "roof repair",
"search_volume": 1600,
"cpc": 38.50,
"competition": 0.72,
"competition_level": "HIGH",
"monthly_searches": [{ "year": 2026, "month": 8, "search_volume": 1900 }],
"keyword_difficulty": 42,
"search_intent": "transactional",
"secondary_intents": ["commercial"],
"avg_backlinks": {
"backlinks": 1840,
"dofollow": 1502,
"referring_pages": 967,
"referring_domains": 212,
"referring_main_domains": 188,
"rank": 284,
"main_domain_rank": 612
}
}
],
"total_count": 1,
"location": "Austin, Texas, United States",
"location_used": "United States",
"volume_scope": "country",
"data_source": "labs",
"language": "en"
}
}Response Fields
| Field | Type | Description |
|---|---|---|
| keywords | array | One row per keyword you sent, in request order |
| keywords[].search_volume | number | null | Average monthly searches. null means no data, not zero |
| keywords[].cpc | number | null | Average cost per click in USD |
| keywords[].competition | number | null | Advertiser competition, 0-1 |
| keywords[].competition_level | string | null | LOW, MEDIUM or HIGH |
| keywords[].monthly_searches | array | Per-month volume for the trailing year |
| keywords[].keyword_difficulty | number | null | How hard it is to rank organically, 0-100 |
| keywords[].search_intent | string | null | informational, navigational, commercial or transactional |
| keywords[].secondary_intents | array | Other intents the keyword also carries |
| keywords[].avg_backlinks | object | Averaged link profile of the pages currently ranking: backlinks, dofollow, referring_pages, referring_domains, referring_main_domains, and the 0-1000 rank and main_domain_rank authority scores |
| total_count | number | Number of rows returned — always the number of keywords you sent |
| location_used | string | The country the data is actually scoped to |
| volume_scope | string | Always "country" — the underlying database has no city/state granularity |
| language | string | The language the data was pulled in |
Notes
- Volumes are country-level. Use Keyword Search Volume when you need city/state numbers.
- A keyword our data provider has no data on comes back with null metrics rather than being dropped, so the response always covers every keyword you sent.
- Cost scales with the size of your keyword list: 10 credits for one keyword, 20 for 100, 116 for 1,000.
- keyword_difficulty and search_intent are national metrics and do not vary by city.