Operated by Sourcelane✓ verified
Find keyword ideas with Google monthly search volume, CPC, competition, keyword difficulty, search intent and 12-month trends for any country.
A keyword-research connector that generates large lists of keyword ideas and per-keyword marketing metrics from seed phrases or provided keywords, producing search demand and monetization signals for SEO, PPC and market research. It supports three query modes—long-tail suggestions that contain the seed phrase, related-topic ideas that expand a niche, and a metrics-only mode for scoring an existing keyword list—and returns for each keyword: average monthly Google search volume and a 12-month monthly breakdown with percent change trends; advertiser cost-per-click and low/high top-of-page bid ranges in USD; advertiser competition as a normalized score and categorical level; an organic ranking difficulty score (0–100); search intent classifications (informational, navigational, commercial, transactional) including secondary intents; detected SERP features present on results pages (examples: AI overview, people also ask, video, shopping, local pack); and location/language metadata. Data sources and processing: search volume and CPC are derived from Google Ads data while difficulty, intent and SERP features are calculated from live Google result analysis; metrics are refreshed monthly and the connector can target 90+ country/language markets.
Verified Oct 25, 10:11 PM
$0.002
per keyword
Up to 100 per call. Only pay for results returned; failed calls are refunded.
SEO content planning
Find long-tail keywords with real search volume and lower difficulty to target in content.
PPC and Google Ads research
Compare CPC and top-of-page bid ranges before building campaigns.
Niche and product research
Measure demand and seasonality for a market prior to entry.
Keyword list scoring
Bulk-evaluate search volume, CPC and difficulty for large keyword lists.
Agency reporting
Pull country- and language-specific keyword metrics for reporting and analysis.
Seed keywords to research, one per line.
Optional settings
| Window | Uptime | Success rate | p50 | p95 | Calls |
|---|---|---|---|---|---|
| 24h | — | — | — | — | 0 |
| 7d | — | — | — | — | 0 |
| 30d | — | — | — | — | 0 |
Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.
Call it via Sourcelane
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"google-keyword-research","params":{"keywords":["coffee grinder"],"maxResultsPerKeyword":5},"maxResults":10}'Request params
| Field | Type | Required | Description |
|---|---|---|---|
keywords | array | required | Seed keywords to research, one per line. In Keyword suggestions mode each seed is researched separately. In Keyword ideas mode all seeds are combined into one search. In Metrics mode each keyword gets its own row. |
mode | string | optional | Keyword suggestions: long-tail keywords that contain your seed phrase. Keyword ideas: related keywords from the same topic, even without your words. Metrics only: volume, CPC and difficulty for exactly the keywords you enter. |
market | string | optional | Which Google market to pull search volume, CPC and difficulty for. |
maxResultsPerKeyword | integer | optional | Maximum keywords to return per seed (Keyword suggestions) or per search (Keyword ideas), sorted by search volume, highest first. Up to 1000. Ignored in Metrics mode. Capped at 100 per call. |
minSearchVolume | integer | optional | Only return keywords with at least this many monthly searches. 0 returns everything. |
includeSeedKeyword | boolean | optional | In Keyword suggestions mode, add a row for the seed keyword itself at the top of its results. |
Each result contains
| Field | Type | Description |
|---|---|---|
keyword | string | Keyword |
searchVolume | integer | Monthly Searches |
cpc | number | CPC (USD) |
competition | integer | — |
competitionLevel | string | Competition |
lowTopOfPageBid | number | — |
highTopOfPageBid | number | — |
keywordDifficulty | integer | Difficulty |
searchIntent | string | Intent |
secondaryIntents | array | — |
trendMonthlyPct | integer | — |
trendQuarterlyPct | integer | — |
trendYearlyPct | integer | Yearly Trend % |
monthlySearches | array | — |
serpFeatures | array | — |
metricsUpdatedAt | string | — |
seedKeyword | string | Seed |
mode | string | — |
found | boolean | — |
location | string | Location |
locationCode | integer | — |
languageCode | string | — |
scrapedAt | string | — |
Pick your tool and connect in under a minute. Then just ask — for example: “For these 50 domains, find contact emails and what e-commerce platform they run on.”
Connect Claude
Web, desktop and mobile. One click, then confirm.
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"mcpServers": {
"sourcelane": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.usesourcelane.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer sl_live_your_agent_key"
}
}
}
}Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"servers": {
"sourcelane": {
"type": "http",
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer ${input:sourcelane-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "sourcelane-key",
"description": "Sourcelane agent key",
"password": true
}
]
}Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://usesourcelane.com/openapi.jsonOne POST. Pass maxResults to cap cost.
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"google-keyword-research","params":{"keywords":["coffee grinder"],"maxResultsPerKeyword":5},"maxResults":10}'Wrap the REST call as a tool, or point an MCP client at the endpoint.
import requests
res = requests.post(
"https://api.usesourcelane.com/v1/call",
headers={"Authorization": "Bearer sl_live_your_agent_key"},
json={
"listing": "google-keyword-research",
"params": {"keywords":["coffee grinder"],"maxResultsPerKeyword":5},
"maxResults": 10,
},
timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])—
0 reviews
Leave a review
Loading reviews…