Skip to main content
AC
SEO & AEO5.4 KBMIT licensed

claude-seo-dataforseo

Rewritten from patterns in AgriciDaniel/claude-seo (MIT)

Pull live SEO data through the DataForSEO MCP server, including SERPs, keyword metrics, backlinks, on-page audits, competitor domains, business listings, and LLM mention tracking. Use when the user says "dataforseo", "live SERP", "keyword volume", "backlink data", "competitor data", or "AI visibility check". Not for Google first-party data like Search Console, CrUX, or GA4 (use claude-seo-google) or maps-platform analysis (use claude-seo-maps).

  • claude
  • seo
  • dataforseo

SKILL.md

DataForSEO Live Data

Every DataForSEO call costs money. Check tool availability first, pick the cheapest endpoint that answers the question, and never re-fetch data you already have in the session.

Prerequisites

Confirm the DataForSEO MCP server is connected: check that serp_organic_live_advanced or another DataForSEO tool is callable. If not, tell the user the MCP server is not connected and stop. Do not simulate results.

Cost discipline

  • Prefer bulk endpoints over repeated single calls.
  • Default to location_code 2840 (US) and language_code en unless the user says otherwise.
  • Reuse results already fetched this session.
  • Before any expensive run (full backlink crawls, keyword lists over 100 terms, site: or filetype: image queries which bill at 5x, geo-grids), state the approximate call count and ask the user to confirm.
  • After a multi-call analysis, report how many API calls were made.

Task routing

TaskLead tools
Google/Bing/Yahoo SERPserp_organic_live_advanced (engine via se param)
Google Images SERPserp_google_images_live_advanced
YouTube search / video analysisserp_youtube_organic_live_advanced, video info/comments/subtitles tools
Keyword ideasdataforseo_labs_google_keyword_ideas, _keyword_suggestions, _related_keywords
Volume, difficulty, intent, trendskw_data_google_ads_search_volume, dataforseo_labs_bulk_keyword_difficulty, dataforseo_labs_search_intent, kw_data_google_trends_explore
Backlink profilebacklinks_summary first, detail tools only if needed
Competitors, ranked keywords, trafficdataforseo_labs_google_competitors_domain, _ranked_keywords, _bulk_traffic_estimation
Domain overlapdataforseo_labs_google_domain_intersection, backlinks_domain_intersection
On-page and Lighthouseon_page_instant_pages, on_page_content_parsing, on_page_lighthouse
Tech stack, WHOISdomain_analytics_technologies_domain_technologies, domain_analytics_whois_overview
Content quality and trendscontent_analysis_search, _summary, _phrase_trends
Business listingsbusiness_data_business_listings_search
ChatGPT citation checkai_optimization_chat_gpt_scraper
LLM mention trackingai_opt_llm_ment_search, _top_domains, _top_pages, _agg_metrics

Read references/tool-map.md for parameters, defaults, output fields, and the utility tools (location lookups, bulk operations, historical data).

Workflow

  1. Confirm the MCP server is connected.
  2. Restate the question as one or more concrete data pulls, pick tools from the routing table.
  3. Estimate call count. Over 10 calls or any 5x-billed query: get user confirmation first.
  4. Run the pulls. On empty results, report "no data found" and suggest broader query or corrected location/language codes. Never fill gaps with guesses.
  5. Present findings: tables for comparisons, issues ranked Critical > High > Medium > Low, scores as XX/100, and label the data source "DataForSEO (live)".

Feeding sibling skills

Other claude-seo skills upgrade from estimates to live data when this server is available: claude-seo-content-brief (volume, difficulty, intent), claude-seo-page (live SERP position, backlink summary), claude-seo-geo (ChatGPT scraper, LLM mentions), claude-seo-plan (competitor domains, traffic estimation), claude-seo-local and claude-seo-maps (business listings).

Verification

After each pull, check the response status and result count before analyzing. Expect a success status and at least one result item. If the status is an auth error, report bad credentials in the MCP config. If rate-limited, wait and retry once, then report the limit.

Good vs bad

Good: User asks for difficulty on 40 keywords. One dataforseo_labs_bulk_keyword_difficulty call with the full array. Bad: 40 separate single-keyword calls. Same data, 40x the cost and latency.

Footguns

  • `site:`/`filetype:` operators on image SERPs bill at 5x. Warn and confirm before running filtered image queries.
  • Empty result treated as zero presence. An empty response can mean wrong location_code, not absence. Verify codes with the location lookup tools before concluding.
  • Cross-session caching claims. Results are not cached between sessions. Only skip re-fetching within the current session.
  • Backlink deep-dives by default. backlinks_summary answers most questions. Only pull full backlink lists when the user needs link-level detail.

Completion checklist

  • [ ] MCP availability confirmed before any promise of live data
  • [ ] Cheapest sufficient endpoints used, bulk where possible
  • [ ] User confirmed anything expensive up front
  • [ ] Empty or error responses reported honestly, no invented numbers
  • [ ] Output labeled "DataForSEO (live)" with call count

Any box unchecked: not done. Fix or say so.

Reference files

More in SEO & AEO

All skills