Skip to content
Development
Skill

/dataforseo

Keyword & SERP research via the DataForSEO API — search volume, competition, CPC, keyword ideas for naming/SEO decisions

From plugin
maggy
71073 skills1 agent25 commands1 hook

Claude Code

$ npx -y skills add alinaqi/maggy --skill dataforseo --agent claude-code

SKILL.md

dataforseo.SKILL.md
name: dataforseo
description: Keyword & SERP research via the DataForSEO API — search volume, competition, CPC, keyword ideas for naming/SEO decisions
when-to-use: When choosing a product/repo/domain name, sizing a keyword, checking search demand, or doing competitor/SEO research and WebSearch is not enough
user-invocable: true
effort: low

DataForSEO Skill — keyword & SERP research

**Purpose:** Get real search demand (monthly volume, competition, CPC) and keyword ideas from Google Ads data via [DataForSEO](https://dataforseo.com), so naming and content decisions are grounded in data rather than intuition.

Auth (never commit the key)

DataForSEO uses HTTP Basic auth. Provide credentials via environment only:

export DATAFORSEO_LOGIN="you@example.com"
export DATAFORSEO_PASSWORD="…"
# or a single combined value:
export DATAFORSEO_API_KEY="login:password"   # or its base64

The helper reads these from the env — it never hardcodes or logs the secret, and only ever calls `api.dataforseo.com`. Keep the key in a local `.env` that is git-ignored; do not paste it into the repo, a URL, or chat.

Usage

The helper is `dataforseo.py` in this skill folder:

DFS="$(cat ~/.claude/.bootstrap-dir)/skills/dataforseo/dataforseo.py"

python3 "$DFS" whoami                                  # auth check + balance
python3 "$DFS" volume "claude code" "coding agent"     # search volume table
python3 "$DFS" ideas  "coding agent"                   # related keyword ideas
# options: --location <code, default 2840=US>  --language <code, default en>

`volume` → each keyword's monthly search volume, competition (LOW/MEDIUM/HIGH), and CPC. `ideas` → the searched long-tail around a seed.

Reading the results (naming decisions)

  • **Zero / `n/a` volume on every candidate is itself the answer:** the names

aren't search terms, so SEO can't rank them against each other — decide on clarity/brand and accept that discovery happens on GitHub/HN/X, not search.

  • **Category term vs. brand term:** a huge-volume category word (e.g. the tool's

ecosystem name) is where demand lives; a brand name rides it only if it contains it. Weigh discoverability against being on-brand for what you built.

  • **Wrong-intent volume is a trap:** a candidate with existing volume may be

drawing an audience searching for something *else* (a different industry meaning). That volume hurts, it doesn't help.

  • **Competition + CPC** proxy commercial intent, not just popularity — high CPC

means advertisers pay for that term (buyers), low CPC often means informational or noise.

Cost & etiquette

`live` endpoints bill per call (search volume / ideas ≈ $0.05–0.10 each). Batch many keywords into ONE `volume` call (it accepts up to 1000) rather than looping. Check `whoami` for balance before large runs.

Common endpoints (beyond the helper)

| Need | Endpoint | |------|----------| | Search volume | `keywords_data/google_ads/search_volume/live` | | Keyword ideas | `keywords_data/google_ads/keywords_for_keywords/live` | | SERP (who ranks) | `serp/google/organic/live/advanced` | | Ranked keywords for a domain | `dataforseo_labs/google/ranked_keywords/live` | | Competitor domains | `dataforseo_labs/google/competitors_domain/live` |

All take the same Basic-auth header; POST a JSON array of task objects.

Read more
@alinaqi
Ships withmaggy

Turn Claude Code into a self-reviewing, test-enforced engineering system that remembers context across sessions — then route work across 13 models from a single dashboard.

71073 skills1 agent
Get the whole plugin

Stars on GitHub

Momentum

stars in total
710
Star history of alinaqi/maggy on GitHub, a chart by star-history.com

Other skills on maggy.

aeo-optimization

aeo-optimization

AI Engine Optimization - semantic triples, page templates, content clusters for AI citations

@alinaqi@alinaqiInstall Skill
agent-teams

agent-teams

Claude Code Agent Teams - default team-based development with strict TDD pipeline enforcement

@alinaqi@alinaqiInstall Skill
ai-models

ai-models

Latest AI models reference - Claude, OpenAI, Gemini, Eleven Labs, Replicate

@alinaqi@alinaqiInstall Skill
android-kotlin

android-kotlin

Android Kotlin development with Coroutines, Jetpack Compose, Hilt, and MockK testing

@alinaqi@alinaqiInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about dataforseo.

Which coding agents can use dataforseo?
dataforseo installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.