pip install dfseo

SEO data from
your terminal.

64 commands to search, analyze, and audit — built for AI agents and humans who prefer the command line. JSON-first, agent-native, pay-per-use.

Star on GitHub
bash

SEO tools charge $100+/month for data you can get with a single API call.

dfseo-cli cuts the middleman.

Ahrefs

$99/mo

SEMrush

$129/mo

dfseo-cli

$0.002/query

Six APIs. One CLI.

Everything you need for SEO research, in your shell.

SERP Analysis

$ dfseo serp google "your keyword" \
  --location "United States" --depth 100

Google, Bing, YouTube. Any keyword, any location, real-time results. Includes featured snippets and People Also Ask.

Keyword Research

$ dfseo keywords volume \
  "email hosting" "smtp provider" \
  --include-serp-info

Volume, CPC, difficulty, search intent. Up to 700 keywords per request. Bulk difficulty up to 1000.

Site Audit

$ dfseo site audit "domain.com" \
  --max-pages 500

60+ on-page checks. Broken links. Duplicate content. Redirect chains. Lighthouse scores.

Backlink Analysis

$ dfseo backlinks gap "you.com" \
  "competitor1.com" "competitor2.com"

Find who links to competitors but not to you. The ultimate link building weapon.

Built for AI agents.
Usable by humans.

JSON on stdout. Errors on stderr. Semantic exit codes. Your agent parses the output. You read the table. Same data, different format.

Ships with SKILL.md for OpenClaw, Claude Code, and any skill-aware agent
Exit codes: 0 success · 2 auth error · 3 rate limit · 5 no balance
--dry-run shows cost estimates before any API call

# For agents

result=$(dfseo keywords difficulty "seo tool" -q)

echo $result | jq '.results[0].keyword_difficulty'

72

# For humans

dfseo keywords difficulty "seo tool" --output table

Keyword    │ KD │ Level

──────────┼────┼──────────

seo tool   │ 72████████ Hard

64 commands across 6 APIs

Everything covered, nothing duplicated.

SERP

7

serp google

serp bing

serp youtube

serp compare

serp autocomplete

serp locations

serp languages

Keywords

20

keywords volume

keywords suggestions

keywords ideas

keywords difficulty

keywords search-intent

keywords for-site

keywords ads-volume

keywords ads-suggestions

keywords ranked-keywords

keywords domain-rank

keywords historical-rank

keywords historical-volume

keywords serp-competitors

keywords competitors-domain

keywords domain-intersection

keywords relevant-pages

keywords subdomains

keywords top-searches

keywords categories-for-domain

keywords page-intersection

Site Audit

15

site audit

site instant

site crawl

site summary

site pages

site links

site duplicates

site redirects

site non-indexable

site resources

site lighthouse

site tasks

site keyword-density

site microdata

site waterfall

Backlinks

13

backlinks summary

backlinks list

backlinks anchors

backlinks referring-domains

backlinks history

backlinks competitors

backlinks gap

backlinks pages

bulk ranks

bulk backlinks

bulk spam-score

bulk referring-domains

bulk new-lost

Content

3

content search

content summary

content sentiment

Domain

1

domain technologies

Utility

5

auth setup

auth status

config set

config show

describe

64 commands. 6 APIs. One CLI.

Up in 60 seconds.

Three steps and you're searching.

1

Install

$ pip install dfseo
2

Authenticate

$ export DATAFORSEO_LOGIN="you@email.com"

$ export DATAFORSEO_PASSWORD="your_api_password"

3

Search

$ dfseo serp google "your first keyword"

Requires a DataForSEO API account. Free trial available.

Drop it into any AI agent.

dfseo-cli ships with a SKILL.md file. Any agent that reads skill files can discover and use all commands automatically.

SKILL.md

---

name: dfseo

description: >

SEO data CLI powered by DataForSEO APIs.

Triggers on: SERP, keyword ranking,

backlink analysis, site audit

---

Works with: Claude Code · OpenClaw · Gemini CLI · Any shell-executing agent

Ready to try it?

One command to install. Zero config to start.

Star on GitHub

Built with Python + Typer. Powered by DataForSEO APIs.