APIEndpoint 16 of 40Keyword Research / Opportunities / Ranked Discovery

Keyword Opportunities API

The ranked keyword recommendations API for the new local SEO stack.

Traditional keyword research dumps 10,000 keywords on a human to sift through. Ahrefs Keyword Difficulty, Semrush Keyword Magic Tool, Moz Keyword Explorer, KWFinder, and Surfer all return raw lists — volume, difficulty, intent — and call that research. We built something different. This endpoint returns the 50 best keywords ranked by opportunity: keywords with high search volume, low competition relative to your current rank, and strong commercial intent. Your agent doesn't need 10K keywords to act on. It needs 50 ranked recommendations it can implement.

POST /v1/keywords/opportunities · 4 credits / call

POST /v1/keywords/opportunities5 of 50
Ranked opportunities
KeywordVolumeCPCTrend
plumber near me12,100$45.20
emergency plumber austin2,400$38.50
best plumber austin tx880$22.10
pipe repair cost590$12.40
drain cleaning austin720$18.90
▌ Ask your agent

These prompts are the new keyword opportunity workflow.

Connect Local SEO Data as an MCP server once (60 seconds, below). Then your agent discovers keywords, ranks them by difficulty vs your current rank, and prioritizes what to write. Replace bracketed business names with your own.

Quick win discovery

Find keyword opportunities for [my plumbing business in Denver]. Show me the top 5 keywords I don't rank for yet but have search volume >200 and estimated difficulty <40.

Content gap for agencies

Pull keyword opportunities for all 12 client locations. Rank by opportunity score. Flag any keyword with volume >500 that none of the locations are targeting yet.

Local competitor targeting

Get keyword opportunities for [my salon in Austin]. Compare my current rank to my top 3 local competitors. Show me keywords where they rank but I don't.

Multi-location keyword sweep

For [my auto-repair franchise across 5 cities], find keyword opportunities that apply to all locations. Which keywords should I target in every market?

Real response

What you get back

Live response for a Denver plumbing business. The API returns opportunities ranked by estimated difficulty vs current position.

response · application/json~3-6s · 4 credits
{
  "status": "success",
  "credits_used": 4,
  "data": {
    "business": "Joe\'s Plumbing",
    "location": "Denver, Colorado",
    "total_opportunities": 47,
    "opportunities": [
      {
        "keyword": "emergency plumber denver",
        "opportunity_score": 9.2,
        "search_volume": 890,
        "estimated_difficulty": 38,
        "your_current_rank": null,
        "top_competitor_rank": 2,
        "commercial_intent": "high",
        "reason": "High volume, low difficulty, no current rank"
      },
      {
        "keyword": "pipe repair denver",
        "opportunity_score": 8.7,
        "search_volume": 340,
        "estimated_difficulty": 28,
        "your_current_rank": 18,
        "top_competitor_rank": 3,
        "commercial_intent": "high",
        "reason": "High commercial intent, currently ranked but can move to top 3"
      },
      {
        "keyword": "water heater replacement denver",
        "opportunity_score": 8.4,
        "search_volume": 520,
        "estimated_difficulty": 42,
        "your_current_rank": null,
        "top_competitor_rank": 5,
        "commercial_intent": "high",
        "reason": "Strong volume and intent, moderate difficulty"
      },
      {
        "keyword": "drain cleaning service",
        "opportunity_score": 7.9,
        "search_volume": 1200,
        "estimated_difficulty": 61,
        "your_current_rank": 42,
        "top_competitor_rank": 1,
        "commercial_intent": "high",
        "reason": "Very high volume but high difficulty; major competitors entrenched"
      }
    ]
  }
}
Returns

Everything ranked by real opportunity

Opportunity score

0-10 composite ranking what to target first

Combines search volume, estimated keyword difficulty, your current rank (if you rank), and commercial intent into a single 0-10 score. Higher is better. Your agent acts on opportunities >8 first.

Search volume + difficulty

Volume in monthly searches, difficulty 0-100

Volume comes from DataForSEO's aggregated data. Difficulty is based on how many high-authority domains rank for the keyword — estimated from SERP composition. Low difficulty + high volume = quick win.

Your current rank vs competitors

Where you rank, where competitors rank

If you rank for the keyword, we show your position. We also show the top competitor rank. If you're position 18 and the top competitor is position 2, there's work to do. If you don't rank at all but competitors are only in position 5-10, it's a gap.

Commercial intent assessment

High, medium, low intent signals

Scored by presence of commercial modifiers ('near me', 'cost', 'best', 'professional', etc.), CPC data, and SERP composition (how many ads appear). High-intent keywords drive faster ROI.

Built for

What AI-native operators ship with this

Content prioritization for agencies

Agencies pull keyword opportunities for each client location, rank by opportunity score, and hand off to the content team. 'Write about these 5 keywords first because they have the highest volume and lowest difficulty.' Cuts content planning time in half.

For agencies

Quick-win discovery for consultants

Before a pitch call, pull keyword opportunities for the prospect's business. Walk in with 'you're not ranking for 12 high-volume, low-difficulty keywords you should own.' Positioning as the person who sees what's missing (not just what's wrong) closes deals.

For consultants

Local multi-location keyword strategy

Agencies managing 10+ franchise locations batch-call this endpoint across all locations. Identify which keywords apply to all markets (regional scalable content) vs. which are location-specific. Allocate content budget accordingly.

For franchises

Competitive keyword gap filling

Pair this endpoint with [Keywords for Site](/keywords-for-site-api) to find keywords competitors rank for but you don't. Your agent runs: 'pull top 100 keywords for competitor X, cross-check against my opportunities, flag gaps.' Reverse-engineer competitive strategy.

Keywords for Site API
vs. the alternatives

Why not use Ahrefs Keyword Difficulty, Semrush Keyword Magic, or Moz Keyword Explorer?

Those tools return raw keyword lists ranked by volume or difficulty. They hand you 10,000 keywords and let you decide what to target. We return 50 opportunities ranked by difficulty vs your current position. Here's how the shapes differ.

ToolOutput shapeActionabilitySetupAgent-ready
Ahrefs Keyword Difficulty ($129/mo)Volume + Difficulty rankingHigh volume / low difficulty = target, but you sort manuallyDashboard UI + API availableAPI exists but dashboard-first
Semrush Keyword Magic Tool ($139.95/mo)Volume + Difficulty + IntentBetter intent signals, but still a list to readDashboard UICSV export, no native API
Moz Keyword Explorer ($99/mo)Volume + Difficulty + OpportunityHas an 'Opportunity' metric but designed for humansDashboard UINo API, manual interface
Surfer Content Editor (part of suite)Volume + Difficulty + SERP analysisSERP-focused, for content optimization not discoveryDashboard-basedNo standalone API
KWFinder by Mangools ($29.90/mo)Volume + Difficulty + Local keywordsGood local focus, but a list you filter yourselfDashboard UIAPI available but not agent-native
SE Ranking Keyword Opportunities ($159/mo Core)Difficulty vs current rank + volumeRanked recommendations, similar conceptDashboard UIAPI available but subscription-locked
Local SEO Data Keyword Opportunities APIRanked opportunities 0-10 scoreTop 50 sorted by actual opportunity, your rank vs competitorsAPI key + 1-line MCP configNative MCP, agent-first, $0.02/call
Connect in 60 seconds

Use it from your agent

Two integration surfaces: MCP for clients that speak MCP, REST API for everything else.

Direct MCP integration

Drop-in support in Claude Desktop, OpenClaw, Hermes Agent, and any MCP-aware client.

Add to your client's MCP config (e.g. claude_desktop_config.json):

{
  "mcpServers": {
    "localseodata": {
      "url": "https://mcp.localseodata.com",
      "headers": {
        "Authorization": "Bearer sk_live_..."
      }
    }
  }
}

REST API

For Perplexity Computer, ChatGPT Custom GPTs, custom agents, and any platform that calls REST endpoints directly.

Base URL:

api.localseodata.com

See the docs for endpoint reference and auth.

Quickstart

Your first call in three lines

Core parameters: `business_name` and `location` (required). Optional: `category` to expand beyond primary business type. One call returns up to 50 ranked opportunities sorted by opportunity score (highest first). Cost: 4 credits (~$0.02).

terminal · curl
POST /v1/keywords/opportunities
curl -X POST https://api.localseodata.com/v1/keywords/opportunities \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "business_name": "Joes Plumbing",
    "location": "Denver, Colorado"
  }'
Pricing for this endpoint

$0.02 per call

Pay-as-you-go starts at $5. Monthly plans from $19. Funds never expire. No seat fees. One call returns up to 50 ranked opportunities.

Free tier
50
credits on signup (250 opportunity calls)
Starter · $19/mo
950
calls/mo at this rate
Per-call cost
$0.02
per opportunity scan
FAQ

Common questions

What is the Keyword Opportunities API?+
A REST endpoint that returns the best 50 local keywords ranked by opportunity score (0-10). It synthesizes search volume, keyword difficulty, your current rank (if you rank), competitor rank, and commercial intent into a single actionable ranking. The endpoint is POST /v1/keywords/opportunities; one call costs 4 credits (~$0.02). Instead of dumping 10K keywords and making you decide, this endpoint does the ranking work: 'here are your top 50 keywords to target, sorted by estimated ROI impact.' This is the shape of keyword research optimized for agents and content teams, not dashboards.
How is opportunity score calculated?+
The opportunity score (0-10) is a weighted composite of: (1) Search volume — high volume keywords rank higher. (2) Keyword difficulty — lower difficulty rank higher. (3) Your current rank vs competitors — if you don't rank, large gap between top competitors (easy win). If you rank 18 and competitors are 1-3, there's opportunity to improve. (4) Commercial intent — high-intent keywords (with CPC data and commercial modifiers) rank higher than informational queries. The methodology is intentionally transparent: you're running production client work, so you need to know what you're optimizing for. We weight opportunity over raw volume: a 300-volume keyword with 20 difficulty and you at position 18 scores higher than a 5,000-volume keyword with 80 difficulty and 15 competitors entrenched.
How does this differ from Search Volume API?+
Search Volume API returns raw data: volume, CPC, competition level, and 12-month trends for keywords you specify. It's the foundation. Keyword Opportunities API returns ranked recommendations: 'here are your 50 best targets.' The difference is raw data vs. ranked insights. Search Volume is what you'd pair with Keyword Suggestions to discover new terms and validate them. Keyword Opportunities is what you'd pull to prioritize a content roadmap: 'write about these 50 keywords in this order based on estimated difficulty vs your current rank.'
How does this compare to Ahrefs Keyword Difficulty or Semrush Keyword Magic Tool?+
Ahrefs and Semrush return raw keyword lists ranked by volume or difficulty, designed for humans reading a dashboard. You get 100+ results and you decide what to target based on your gut. Keyword Opportunities returns 50 pre-ranked opportunities factoring in your current rank vs competitors. Ahrefs' interface shows 'plumber near me = 2400 volume, 45 difficulty' and you think 'okay, maybe I should rank for that.' Our API shows 'opportunity score 9.2 because volume is high, difficulty is low, and you don't rank yet — target this first.' The ranking is opinionated: it bakes in commercial intent, your current position, and estimated implementation cost. For agents and agencies trying to prioritize work, this shape is more actionable. For dashboard exploration, Ahrefs and Semrush are fine.
Where does the data come from?+
Search volume and keyword difficulty data come from DataForSEO, our upstream provider. Current rank data comes from our SERP endpoints (Local Pack API, Organic SERP API) — if you don't call those endpoints, we fetch real-time positions to assess opportunity. Commercial intent is scored via a combination of CPC data, SERP composition analysis (how many ads, how many featured snippets), and keyword modifier detection ('near me', 'best', 'cost', 'professional', etc.). Because we control the scoring logic, methodology is transparent and we iterate on it based on client feedback.
How fresh is the data?+
Search volume data refreshes monthly (standard for DataForSEO). Your current rank is fetched at request time when needed (real-time). Commercial intent scores update as our underlying SERP data refreshes. If you call this endpoint weekly, you'll see opportunities shift as your rank moves and competitors move. That's the whole point: as you climb rankings, new opportunities open up and old ones become less pressing.
Can I look up opportunities for a specific category (not just primary business type)?+
Yes. The category parameter lets you expand beyond the business's primary category. A plumber might also target 'water damage restoration' or 'sump pump repair'. Pass category: 'emergency plumbing' to get opportunities scoped to that category instead. Without a category parameter, the API infers from the business name and primary type.
Can my AI agent use this directly?+
Yes, and this is exactly what we built it for. Two paths: MCP: add Local SEO Data to your claude_desktop_config.json (or OpenClaw, Hermes Agent, etc.) and your Claude agent calls this endpoint from any prompt. REST: any agent that can make HTTPS calls (ChatGPT Custom GPTs, Perplexity Computer, custom Python agents) hits api.localseodata.com directly with your Bearer token. The agent receives ranked opportunities and can prioritize content, flag gaps, or pass to a content team. No integration code. Just write the prompt.
What does it cost compared to Ahrefs ($129/mo) or Semrush ($139.95/mo)?+
We charge $0.02 per opportunity scan. Ahrefs and Semrush charge $99–$299/mo per seat with no limit on calls. A consultant running keyword opportunities for 10 clients/week pays us $8/week ($32/mo). Running Ahrefs costs $129/mo minimum whether you use 0% or 100% of the seat. For teams or agencies doing bulk keyword research, the math breaks sharply in our favor. Ahrefs and Semrush are per-seat subscriptions; we're per-call usage-based.
Does this work for multi-location businesses?+
Yes. Each call returns opportunities for one business-location pair. For a 12-location franchise, you'd batch-call once per location (12 calls = $0.24). Most multi-location operators set a weekly agent run across all locations, comparing opportunity scores across markets to find which keywords apply everywhere (scalable content) vs. which are location-specific. The API has no per-call limit beyond your credit balance.
How does this pair with other keyword endpoints?+
Start with Keyword Opportunities to see what you should target. Branch into Search Volume to validate volume and CPC for your top opportunities. Use Keywords for Site to see what competitors rank for that you've missed. Use Keyword Suggestions to find long-tail variants of your top opportunities. Use Related Keywords to cluster semantically similar terms and avoid cannibalization. Opportunities is the first call; the others are the research branches.
What changed in 2026 that made this category exist?+
Two shifts. First, MCP (Model Context Protocol) became standard in late 2024 and mainstream through 2025, making it practical for agents to call specialized APIs. Keyword research flipped from 'dashboard where humans click and filter' to 'endpoint your agent calls and acts on.' Second, the rise of AI-generated content and prompt-driven workflows means teams need prioritized keyword lists, not raw keyword dumps. Traditional keyword research said 'here are 10K keywords, go sort them.' The agent era needs 'here are your 50 best targets ranked by implementation cost; content team, execute these in this order.' The ranking work used to be human (reading Ahrefs, applying judgment). Now it's algorithmic (opportunity score), so agents can act on it.

Stop sifting through keyword lists. Start acting on opportunities.

50 free credits on signup. 250 opportunity scans included. Pull your first keyword strategy in your first agent prompt.

▌ MADE FOR THE NEW LOCAL SEO STACK