feat: add DataForSEO and Keywords Everywhere CLIs and integration guides
Add two new SEO tool integrations with zero-dependency CLI tools and detailed API documentation for agent use. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,165 @@
|
||||
# DataForSEO
|
||||
|
||||
Comprehensive SEO data API for SERP results, keyword research, backlinks, and on-page analysis.
|
||||
|
||||
## Capabilities
|
||||
|
||||
| Integration | Available | Notes |
|
||||
|-------------|-----------|-------|
|
||||
| API | ✓ | SERP, Keywords Data, Backlinks, On-Page, Labs |
|
||||
| MCP | - | Not available |
|
||||
| CLI | ✓ | [dataforseo.js](../clis/dataforseo.js) |
|
||||
| SDK | ✓ | Python, TypeScript, PHP, Java, C# |
|
||||
|
||||
## Authentication
|
||||
|
||||
- **Type**: Basic Auth
|
||||
- **Header**: `Authorization: Basic {base64(login:password)}`
|
||||
- **Get credentials**: API Access tab at https://app.dataforseo.com/api-access
|
||||
- **Note**: API password is auto-generated, different from account password
|
||||
|
||||
## Common Agent Operations
|
||||
|
||||
### SERP - Google organic (live)
|
||||
|
||||
```bash
|
||||
POST https://api.dataforseo.com/v3/serp/google/organic/live/regular
|
||||
|
||||
[{
|
||||
"keyword": "marketing automation",
|
||||
"location_name": "United States",
|
||||
"language_name": "English"
|
||||
}]
|
||||
```
|
||||
|
||||
### Keywords - Search volume (live)
|
||||
|
||||
```bash
|
||||
POST https://api.dataforseo.com/v3/keywords_data/google_ads/search_volume/live
|
||||
|
||||
[{
|
||||
"keywords": ["email marketing", "marketing automation", "crm software"],
|
||||
"location_code": 2840,
|
||||
"language_code": "en"
|
||||
}]
|
||||
```
|
||||
|
||||
### Keywords - Keywords for site (live)
|
||||
|
||||
```bash
|
||||
POST https://api.dataforseo.com/v3/keywords_data/google_ads/keywords_for_site/live
|
||||
|
||||
[{
|
||||
"target": "example.com",
|
||||
"location_code": 2840,
|
||||
"language_code": "en"
|
||||
}]
|
||||
```
|
||||
|
||||
### Backlinks - Summary
|
||||
|
||||
```bash
|
||||
POST https://api.dataforseo.com/v3/backlinks/summary/live
|
||||
|
||||
[{
|
||||
"target": "example.com",
|
||||
"internal_list_limit": 10,
|
||||
"backlinks_status_type": "live"
|
||||
}]
|
||||
```
|
||||
|
||||
### Backlinks - List
|
||||
|
||||
```bash
|
||||
POST https://api.dataforseo.com/v3/backlinks/backlinks/live
|
||||
|
||||
[{
|
||||
"target": "example.com",
|
||||
"mode": "as_is",
|
||||
"limit": 100,
|
||||
"backlinks_status_type": "live"
|
||||
}]
|
||||
```
|
||||
|
||||
### Backlinks - Referring domains
|
||||
|
||||
```bash
|
||||
POST https://api.dataforseo.com/v3/backlinks/referring_domains/live
|
||||
|
||||
[{
|
||||
"target": "example.com",
|
||||
"limit": 100
|
||||
}]
|
||||
```
|
||||
|
||||
### Backlinks - Index (database stats)
|
||||
|
||||
```bash
|
||||
GET https://api.dataforseo.com/v3/backlinks/index
|
||||
```
|
||||
|
||||
### On-Page - Instant pages audit
|
||||
|
||||
```bash
|
||||
POST https://api.dataforseo.com/v3/on_page/instant_pages
|
||||
|
||||
[{
|
||||
"url": "https://example.com/page",
|
||||
"enable_javascript": true
|
||||
}]
|
||||
```
|
||||
|
||||
### SERP - Locations list
|
||||
|
||||
```bash
|
||||
GET https://api.dataforseo.com/v3/serp/google/locations
|
||||
```
|
||||
|
||||
### SERP - Languages list
|
||||
|
||||
```bash
|
||||
GET https://api.dataforseo.com/v3/serp/google/languages
|
||||
```
|
||||
|
||||
## API Pattern
|
||||
|
||||
DataForSEO uses two methods for most endpoints:
|
||||
- **Live** (`/live`) - Synchronous, results in same response
|
||||
- **Task-based** (`/task_post` + `/task_get/$id`) - Async for large requests
|
||||
|
||||
Request bodies are always JSON arrays (even for single requests).
|
||||
|
||||
## Key Metrics
|
||||
|
||||
### Keyword Metrics
|
||||
- `search_volume` - Monthly search volume
|
||||
- `competition` - Competition level (0-1)
|
||||
- `cpc` - Cost per click
|
||||
- `monthly_searches` - Monthly breakdown array
|
||||
|
||||
### Backlink Metrics
|
||||
- `total_backlinks` - Total backlink count
|
||||
- `referring_domains` - Unique referring domains
|
||||
- `domain_rank` - Domain authority score
|
||||
- `backlinks_spam_score` - Spam score
|
||||
|
||||
## When to Use
|
||||
|
||||
- Programmatic SERP tracking at scale
|
||||
- Keyword research with search volume data
|
||||
- Backlink analysis and monitoring
|
||||
- On-page SEO audits
|
||||
- Competitor analysis
|
||||
|
||||
## Rate Limits
|
||||
|
||||
- Rate limit headers: `X-RateLimit-Limit`, `X-RateLimit-Remaining`
|
||||
- Backlinks API: 2000 requests/minute, 30 simultaneous
|
||||
- Varies by endpoint and plan
|
||||
|
||||
## Relevant Skills
|
||||
|
||||
- seo-audit
|
||||
- programmatic-seo
|
||||
- content-strategy
|
||||
- competitor-alternatives
|
||||
@@ -0,0 +1,207 @@
|
||||
# Keywords Everywhere
|
||||
|
||||
Keyword research API for search volume, CPC, competition, related keywords, and traffic data.
|
||||
|
||||
## Capabilities
|
||||
|
||||
| Integration | Available | Notes |
|
||||
|-------------|-----------|-------|
|
||||
| API | ✓ | REST API for keyword data, related keywords, traffic |
|
||||
| MCP | - | Community MCP server available |
|
||||
| CLI | ✓ | [keywords-everywhere.js](../clis/keywords-everywhere.js) |
|
||||
| SDK | - | API-only |
|
||||
|
||||
## Authentication
|
||||
|
||||
- **Type**: API Key (Bearer token)
|
||||
- **Header**: `Authorization: Bearer {api_key}`
|
||||
- **Get key**: https://keywordseverywhere.com/first-install-addon.html
|
||||
- **Limit**: 100 keywords per request
|
||||
|
||||
## Common Agent Operations
|
||||
|
||||
### Get keyword data (volume, CPC, competition)
|
||||
|
||||
```bash
|
||||
POST https://api.keywordseverywhere.com/v1/get_keyword_data
|
||||
|
||||
Authorization: Bearer {api_key}
|
||||
|
||||
{
|
||||
"country": "us",
|
||||
"currency": "USD",
|
||||
"dataSource": "gkp",
|
||||
"kw": ["email marketing", "marketing automation", "crm software"]
|
||||
}
|
||||
```
|
||||
|
||||
### Get related keywords
|
||||
|
||||
```bash
|
||||
POST https://api.keywordseverywhere.com/v1/get_related_keywords
|
||||
|
||||
Authorization: Bearer {api_key}
|
||||
|
||||
{
|
||||
"country": "us",
|
||||
"currency": "USD",
|
||||
"dataSource": "gkp",
|
||||
"kw": ["email marketing"]
|
||||
}
|
||||
```
|
||||
|
||||
### Get "People Also Search For" keywords
|
||||
|
||||
```bash
|
||||
POST https://api.keywordseverywhere.com/v1/get_pasf_keywords
|
||||
|
||||
Authorization: Bearer {api_key}
|
||||
|
||||
{
|
||||
"country": "us",
|
||||
"currency": "USD",
|
||||
"dataSource": "gkp",
|
||||
"kw": ["email marketing"]
|
||||
}
|
||||
```
|
||||
|
||||
### Get domain keywords (what a domain ranks for)
|
||||
|
||||
```bash
|
||||
POST https://api.keywordseverywhere.com/v1/get_domain_keywords
|
||||
|
||||
Authorization: Bearer {api_key}
|
||||
|
||||
{
|
||||
"country": "us",
|
||||
"currency": "USD",
|
||||
"domain": "example.com"
|
||||
}
|
||||
```
|
||||
|
||||
### Get URL keywords (what a specific URL ranks for)
|
||||
|
||||
```bash
|
||||
POST https://api.keywordseverywhere.com/v1/get_url_keywords
|
||||
|
||||
Authorization: Bearer {api_key}
|
||||
|
||||
{
|
||||
"country": "us",
|
||||
"currency": "USD",
|
||||
"url": "https://example.com/page"
|
||||
}
|
||||
```
|
||||
|
||||
### Get domain traffic
|
||||
|
||||
```bash
|
||||
POST https://api.keywordseverywhere.com/v1/get_domain_traffic
|
||||
|
||||
Authorization: Bearer {api_key}
|
||||
|
||||
{
|
||||
"country": "us",
|
||||
"domain": "example.com"
|
||||
}
|
||||
```
|
||||
|
||||
### Get URL traffic
|
||||
|
||||
```bash
|
||||
POST https://api.keywordseverywhere.com/v1/get_url_traffic
|
||||
|
||||
Authorization: Bearer {api_key}
|
||||
|
||||
{
|
||||
"country": "us",
|
||||
"url": "https://example.com/page"
|
||||
}
|
||||
```
|
||||
|
||||
### Get domain backlinks
|
||||
|
||||
```bash
|
||||
POST https://api.keywordseverywhere.com/v1/get_domain_backlinks
|
||||
|
||||
Authorization: Bearer {api_key}
|
||||
|
||||
{
|
||||
"domain": "example.com"
|
||||
}
|
||||
```
|
||||
|
||||
### Get page backlinks
|
||||
|
||||
```bash
|
||||
POST https://api.keywordseverywhere.com/v1/get_page_backlinks
|
||||
|
||||
Authorization: Bearer {api_key}
|
||||
|
||||
{
|
||||
"url": "https://example.com/page"
|
||||
}
|
||||
```
|
||||
|
||||
### Check credits
|
||||
|
||||
```bash
|
||||
GET https://api.keywordseverywhere.com/v1/get_credits
|
||||
|
||||
Authorization: Bearer {api_key}
|
||||
```
|
||||
|
||||
### Get supported countries
|
||||
|
||||
```bash
|
||||
GET https://api.keywordseverywhere.com/v1/get_countries
|
||||
|
||||
Authorization: Bearer {api_key}
|
||||
```
|
||||
|
||||
### Get supported currencies
|
||||
|
||||
```bash
|
||||
GET https://api.keywordseverywhere.com/v1/get_currencies
|
||||
|
||||
Authorization: Bearer {api_key}
|
||||
```
|
||||
|
||||
## Key Metrics
|
||||
|
||||
### Keyword Data
|
||||
- `vol` - Monthly search volume
|
||||
- `cpc.value` - Cost per click
|
||||
- `competition` - Competition score
|
||||
- `trend` - 12-month trend data
|
||||
|
||||
### Traffic Data
|
||||
- `estimated_traffic` - Estimated monthly traffic
|
||||
- `keywords_count` - Number of ranking keywords
|
||||
|
||||
## Parameters
|
||||
|
||||
- `country` - Country code (us, uk, de, fr, etc.)
|
||||
- `currency` - Currency code (USD, GBP, EUR, etc.)
|
||||
- `dataSource` - Data source, default `gkp` (Google Keyword Planner)
|
||||
- `kw` - Array of keywords (max 100 per request)
|
||||
|
||||
## When to Use
|
||||
|
||||
- Quick keyword research with volume and CPC
|
||||
- Finding related keywords and PASF suggestions
|
||||
- Analyzing domain/URL keyword rankings
|
||||
- Traffic estimation for domains and pages
|
||||
- Backlink discovery
|
||||
|
||||
## Rate Limits
|
||||
|
||||
- 100 keywords per request
|
||||
- Credit-based pricing (1 credit per keyword)
|
||||
|
||||
## Relevant Skills
|
||||
|
||||
- seo-audit
|
||||
- content-strategy
|
||||
- programmatic-seo
|
||||
- competitor-alternatives
|
||||
Reference in New Issue
Block a user