← Back to Skills Marketplace
ricca91

dfseo-cli

by Riccardo Sartori · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
232
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install dfseo
Description
SEO data from the terminal using DataForSEO APIs. Use when the user asks to check keyword rankings, analyze SERPs, run site audits, check backlink profiles,...
README (SKILL.md)

dfseo-cli — SEO Data from Your Terminal

A CLI tool wrapping DataForSEO APIs. 43+ commands for SERP analysis, keyword research, site audits, and backlink analysis. All output is JSON by default (machine-readable). Add --output table for human-readable format.

Authentication

Requires DataForSEO API credentials. Set them as environment variables:

export DATAFORSEO_LOGIN="[email protected]"
export DATAFORSEO_PASSWORD="your_api_password"

Or run dfseo auth setup for interactive configuration (saves to ~/.config/dfseo/config.toml).

Verify with: dfseo auth status

Quick Reference

SERP Analysis

# Google SERP for any keyword + location
dfseo serp google "keyword" --location "Country" --language "Language"

# Compare Google vs Bing
dfseo serp compare "keyword" --engines google,bing

# YouTube results
dfseo serp youtube "keyword"

# SERP features only (featured snippets, PAA, etc.)
dfseo serp google "keyword" --features-only

Keyword Research

# Volume, CPC, difficulty, search intent (up to 700 keywords)
dfseo keywords volume "kw1" "kw2" --location "Country" --include-serp-info

# Long-tail suggestions
dfseo keywords suggestions "seed keyword" --min-volume 100 --max-difficulty 40

# Semantically related keywords
dfseo keywords ideas "seed1" "seed2" --limit 100

# Bulk difficulty check (up to 1000)
dfseo keywords difficulty "kw1" "kw2" "kw3"
dfseo keywords difficulty --from-file keywords.txt

# Keywords a domain ranks for
dfseo keywords for-site "domain.com" --min-volume 50 --sort volume

Site Audit

# Full audit (crawl + wait + summary)
dfseo site audit "domain.com" --max-pages 100

# Quick single-page check (uses Instant Pages API, no polling)
dfseo site instant "https://domain.com/page"

# Drill down after audit
dfseo site pages "$TASK_ID" --errors-only
dfseo site links "$TASK_ID" --type broken
dfseo site duplicates "$TASK_ID" --type title

# Lighthouse performance
dfseo site lighthouse "https://domain.com" --categories performance,seo

Backlink Analysis

# Backlink profile summary
dfseo backlinks summary "domain.com"

# List backlinks (new, lost, broken)
dfseo backlinks list "domain.com" --dofollow-only --sort rank
dfseo backlinks list "domain.com" --status new
dfseo backlinks list "domain.com" --status lost

# Anchor text analysis
dfseo backlinks anchors "domain.com" --search "brand" --sort backlinks

# Link gap: who links to competitors but not to you
dfseo backlinks gap "your-site.com" "competitor1.com" "competitor2.com"

# Bulk rank comparison (up to 1000 domains)
dfseo backlinks bulk ranks "site1.com" "site2.com" "site3.com"
dfseo backlinks bulk ranks --from-file domains.txt

# Historical backlink data (since 2019)
dfseo backlinks history "domain.com" --from 2024-01 --to 2026-03

Output Conventions

  • Default output: JSON on stdout — always parseable, no decorative text
  • Errors and progress: stderr — never mixed with results
  • --output table — human-readable formatted tables
  • --output csv — for spreadsheets and data pipelines
  • -q / --quiet — suppress everything except the result
  • --dry-run — show estimated cost without executing

Exit codes: 0 = success, 1 = error, 2 = auth failed, 3 = rate limited, 4 = bad params, 5 = insufficient funds.

Common Patterns

Keyword research workflow

# 1. Get seed keyword data
dfseo keywords volume "email hosting" --location "Italy" --language "Italian" --include-serp-info

# 2. Expand with suggestions
dfseo keywords suggestions "email hosting" --min-volume 50 --max-difficulty 40 --limit 50

# 3. Check difficulty for best candidates
dfseo keywords difficulty "email hosting professionale" "hosting email aziendale" --location "Italy"

Competitor analysis workflow

# 1. Check competitor SERP presence
dfseo serp google "target keyword" --location "Italy" --depth 100

# 2. Find their keywords
dfseo keywords for-site "competitor.com" --location "Italy" --min-volume 100

# 3. Analyze their backlinks
dfseo backlinks summary "competitor.com"

# 4. Find link gap opportunities
dfseo backlinks gap "your-site.com" "competitor.com" --min-rank 200

Site health check

# 1. Full audit
dfseo site audit "domain.com" --max-pages 200

# 2. Performance check
dfseo site lighthouse "https://domain.com"

# 3. Check for broken links
dfseo site links "$TASK_ID" --type broken

Service References

For detailed command documentation, load the specific reference file:

  • SERP commands — See \x3Creferences/serp.md>
  • Keywords commands — See \x3Creferences/keywords.md>
  • Site Audit commands — See \x3Creferences/site.md>
  • Backlinks commands — See \x3Creferences/backlinks.md>

Important Notes

  • Site audits are async: dfseo site audit blocks until crawl completes by default. Use dfseo site crawl for non-blocking, then retrieve with task_id.
  • dfseo site instant analyzes a single URL live with no polling.
  • Google Ads endpoints (keywords ads-volume, keywords ads-suggestions) have a 12 req/min rate limit.
  • Backlinks API requires a $100/month minimum DataForSEO commitment.
  • The --from-file flag accepts text files with one item per line (# comments and blank lines ignored).
  • All location/language defaults can be set globally via dfseo config set location "Italy".
Usage Guidance
This skill appears to be what it claims: a CLI client for DataForSEO. Before installing, verify the upstream pip package 'dfseo' (author, PyPI project page, source repository) to ensure you're installing the intended client. Install in a virtualenv or isolated environment if possible. Be aware the installer (pip) runs package code during installation — review the package source if you need higher assurance. The CLI will persist credentials to ~/.config/dfseo/config.toml if you use interactive auth; inspect that file before storing sensitive credentials. Only provide your DataForSEO login/password to trusted code and consider rotating/revoking the API password if you later suspect misuse. Finally, ensure your PATH includes the location where pip installs user binaries (e.g., ~/.local/bin) if the installer reports dfseo not found.
Capability Analysis
Type: OpenClaw Skill Name: dfseo Version: 1.0.0 The dfseo skill bundle is a legitimate tool for performing SEO analysis via the DataForSEO API. It includes a standard installation script (scripts/install.sh) that fetches the 'dfseo' package from pip and provides extensive documentation (SKILL.md and references/) for SERP, keyword, and site audit commands. No evidence of malicious intent, data exfiltration, or prompt injection was found.
Capability Assessment
Purpose & Capability
The name/description match the requested artifacts: it needs the dfseo binary and DATAFORSEO_LOGIN/DATAFORSEO_PASSWORD to call DataForSEO APIs. Requested binaries and environment variables are appropriate for an API-wrapping CLI.
Instruction Scope
SKILL.md only instructs the agent to run the dfseo CLI and to set or optionally persist DataForSEO credentials (it documents saving to ~/.config/dfseo/config.toml). Examples and workflows operate on SEO data and domains; there are no instructions to read unrelated system files or to send data to unexpected endpoints.
Install Mechanism
There is no platform-level install spec in the registry, but SKILL.md includes a pip install entry and a scripts/install.sh that runs `pip install dfseo`. Installing via pip is a typical, expected mechanism for a CLI Python client, but pip installs execute package code during install (moderate risk). Recommend verifying the PyPI package author/source before installing and using an isolated environment.
Credentials
Only the DataForSEO credentials (DATAFORSEO_LOGIN, DATAFORSEO_PASSWORD) are required, which is proportional to the stated functionality. The skill documents optional --login/--password overrides. Note: the skill will write config to ~/.config/dfseo/config.toml during interactive auth setup (this path is not listed in the registry's required config paths but is a normal per-user config location).
Persistence & Privilege
always:false and no requests to modify other skills or system-wide settings. Persisting credentials to a user config file (~/.config/dfseo/config.toml) is normal for a CLI and is limited to the user's profile.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install dfseo
  3. After installation, invoke the skill by name or use /dfseo
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
First release — SERP, Keywords, Site Audit, Backlinks
Metadata
Slug dfseo
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is dfseo-cli?

SEO data from the terminal using DataForSEO APIs. Use when the user asks to check keyword rankings, analyze SERPs, run site audits, check backlink profiles,... It is an AI Agent Skill for Claude Code / OpenClaw, with 232 downloads so far.

How do I install dfseo-cli?

Run "/install dfseo" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is dfseo-cli free?

Yes, dfseo-cli is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does dfseo-cli support?

dfseo-cli is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created dfseo-cli?

It is built and maintained by Riccardo Sartori (@ricca91); the current version is v1.0.0.

💬 Comments