# Dfs Technologies

> DataForSEO Technologies API

- Skill: `buzzmatic/dfs-technologies` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add buzzmatic/dfs-technologies`
- Raw SKILL.md: https://api.skillmd.com/api/skills/buzzmatic/dfs-technologies/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: Buzzmatic (https://skillmd.com/u/buzzmatic)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/buzzmatic/dfs-technologies

---


# DataForSEO Technologies API

Analyze technology usage across domains and discover domains using specific technologies.

## Quick Start

```bash
# Find domains using WordPress
python scripts/domains_by_technology.py --technology "WordPress"

# Get technology stack for a domain
python scripts/domain_technologies.py --domain example.com

# Bulk technology analysis
python scripts/domain_technologies.py --bulk domains.txt
```

## Available Scripts

| Script | Purpose |
|--------|---------|
| `domains_by_technology.py` | Search domains using specific technologies |
| `domain_technologies.py` | Get technology stack for domain(s) |

## Domains by Technology (domains_by_technology.py)

Find domains based on their technology usage. Requires at least one technology selection parameter.

### Parameters

| Parameter | Required | Default | Description |
|-----------|----------|---------|-------------|
| `--technology` | One of these | - | Technology name (repeatable, max 10) |
| `--group` | required | - | Technology group ID (repeatable, max 10) |
| `--category` | | - | Technology category ID (repeatable, max 10) |
| `--technology-path` | | - | Technology path "$group.$category" (repeatable, max 10) |
| `--keyword` | | - | Keyword matching domain metadata (repeatable, max 10) |
| `--mode` | No | as_is | Search mode: as_is (exact) or entry (partial) |
| `--filters` | No | - | JSON string or file with filter conditions |
| `--order-by` | No | - | Sort: field:asc or field:desc (repeatable, max 3) |
| `--limit` | No | 100 | Max results (max 10,000) |
| `--offset` | No | 0 | Pagination offset (max 9,999) |
| `--offset-token` | No | - | Pagination token for >100,000 results |
| `--tag` | No | - | Task identifier (max 255 chars) |
| `--output` | No | auto | Custom output path |

### Examples

**Find domains using WordPress:**
```bash
python scripts/domains_by_technology.py --technology "WordPress"
```

**Find domains using multiple technologies:**
```bash
python scripts/domains_by_technology.py \
  --technology "WordPress" \
  --technology "WooCommerce"
```

**Search by technology group:**
```bash
python scripts/domains_by_technology.py --group "web_development"
```

**Search by category:**
```bash
python scripts/domains_by_technology.py --category "cms"
```

**Search with technology path:**
```bash
python scripts/domains_by_technology.py --technology-path "web_development.cms"
```

**Combine technology with keyword:**
```bash
python scripts/domains_by_technology.py \
  --technology "Shopify" \
  --keyword "fashion"
```

**High-rank domains only:**
```bash
python scripts/domains_by_technology.py \
  --technology "React" \
  --filters '[["domain_rank", ">", 5000]]' \
  --order-by "domain_rank:desc" \
  --limit 500
```

**Partial matching mode:**
```bash
python scripts/domains_by_technology.py \
  --technology "Google" \
  --mode entry
```

**Save to a custom output path:**
```bash
python scripts/domains_by_technology.py \
  --technology "WordPress" \
  --output output/wordpress_domains.json
```

### Sortable Fields

| Field | Description |
|-------|-------------|
| `domain_rank` | Backlink rank metric |
| `domain` | Domain name alphabetically |
| `last_visited` | Most recent crawl date |
| `country_iso_code` | Country code |
| `language_code` | Language code |
| `content_language_code` | Content language |

### Filter Operators

| Operator | Description | Example |
|----------|-------------|---------|
| `=` | Equal | `["country_iso_code", "=", "US"]` |
| `<>` | Not equal | `["country_iso_code", "<>", "CN"]` |
| `>` | Greater than | `["domain_rank", ">", 1000]` |
| `<` | Less than | `["domain_rank", "<", 50000]` |
| `>=` | Greater or equal | `["domain_rank", ">=", 5000]` |
| `<=` | Less or equal | `["domain_rank", "<=", 10000]` |
| `in` | In list | `["country_iso_code", "in", ["US", "UK", "DE"]]` |
| `not_in` | Not in list | `["country_iso_code", "not_in", ["CN", "RU"]]` |
| `like` | Contains | `["domain", "like", "shop"]` |
| `not_like` | Does not contain | `["domain", "not_like", "test"]` |

## Domain Technologies (domain_technologies.py)

Get the complete technology stack for specific domain(s).

### Parameters

| Parameter | Required | Default | Description |
|-----------|----------|---------|-------------|
| `--domain` | One of | - | Single domain to analyze |
| `--bulk` | these | - | Path to file with domain list |
| `--tag` | No | - | Task identifier (max 255 chars) |
| `--output` | No | auto | Custom output path |

### Bulk File Formats

**Text file (one domain per line):**
```
example.com
another-domain.com
third-site.org
```

**JSON file:**
```json
["example.com", "another-domain.com", "third-site.org"]
```

**Or with objects:**
```json
[
  {"domain": "example.com"},
  {"domain": "another-domain.com"}
]
```

**CSV file (with header):**
```csv
domain
example.com
another-domain.com
```

### Examples

**Single domain analysis:**
```bash
python scripts/domain_technologies.py --domain example.com
```

**Bulk analysis from text file:**
```bash
python scripts/domain_technologies.py --bulk domains.txt
```

**Bulk analysis from JSON:**
```bash
python scripts/domain_technologies.py --bulk competitors.json
```

**Save to a custom output path:**
```bash
python scripts/domain_technologies.py \
  --domain example.com \
  --output output/example_tech.json
```

**Bulk with custom output:**
```bash
python scripts/domain_technologies.py \
  --bulk domains.txt \
  --output output/tech_audit.json
```

## Output Structure

### Domains by Technology Response

| Field | Description |
|-------|-------------|
| `total_count` | Total matching domains in database |
| `items_count` | Number of returned items |
| `offset_token` | Token for pagination |
| `items[].domain` | Domain name |
| `items[].title` | Page title |
| `items[].description` | Meta description |
| `items[].meta_keywords` | Meta keywords |
| `items[].domain_rank` | Backlink rank metric |
| `items[].last_visited` | Last crawl timestamp (UTC) |
| `items[].country_iso_code` | Country code |
| `items[].language_code` | Language code |
| `items[].phone_numbers` | Contact phones |
| `items[].emails` | Contact emails |
| `items[].social_graph_urls` | Social media links |
| `items[].technologies` | Nested tech stack object |

### Domain Technologies Response

| Field | Description |
|-------|-------------|
| `target` | Analyzed domain |
| `title` | Page title |
| `description` | Meta description |
| `meta_keywords` | Meta keywords |
| `domain_rank` | Backlink rank metric |
| `last_visited` | Last crawl timestamp |
| `country_iso_code` | Country code |
| `language_code` | Language code |
| `phone_numbers` | Contact phones |
| `emails` | Contact emails |
| `social_graph_urls` | Social media links |
| `technologies` | Complete tech stack by category |

## Common Technologies

### CMS Platforms
WordPress, Drupal, Joomla, Shopify, Wix, Squarespace, Webflow, Ghost, Contentful

### JavaScript Frameworks
React, Vue.js, Angular, Next.js, Nuxt.js, Svelte, jQuery, Backbone.js

### Analytics & Tracking
Google Analytics, Adobe Analytics, Matomo, Hotjar, Mixpanel, Amplitude, Google Tag Manager

### CDN & Performance
Cloudflare, Akamai, Fastly, Amazon CloudFront, KeyCDN, StackPath

### E-commerce
WooCommerce, Magento, Shopify, BigCommerce, PrestaShop, OpenCart, Salesforce Commerce Cloud

### Marketing & CRM
HubSpot, Marketo, Pardot, Salesforce, Intercom, Drift, Mailchimp

### Web Servers
Nginx, Apache, Microsoft IIS, LiteSpeed, Caddy

### Hosting & Cloud
Amazon Web Services, Google Cloud, Microsoft Azure, Heroku, Netlify, Vercel

## Use Cases

### Technology Market Research
Find all domains using specific technologies:

```bash
python scripts/domains_by_technology.py \
  --technology "Shopify" \
  --limit 5000 \
  --order-by "domain_rank:desc"
```

### Competitor Technology Analysis
Discover what technologies competitors are using:

```bash
# Create competitors.txt with competitor domains
python scripts/domain_technologies.py \
  --bulk competitors.txt
```

### Tech Stack Audit
Analyze technology adoption across a portfolio:

```bash
python scripts/domain_technologies.py \
  --bulk portfolio_domains.json
```

### Market Share Analysis
Calculate technology market share by domain rank:

```bash
# Get high-rank WordPress domains
python scripts/domains_by_technology.py \
  --technology "WordPress" \
  --filters '[["domain_rank", ">", 10000]]' \
  --limit 10000

# Get high-rank Shopify domains
python scripts/domains_by_technology.py \
  --technology "Shopify" \
  --filters '[["domain_rank", ">", 10000]]' \
  --limit 10000
```

### Technology Discovery
Find domains using specific technology combinations:

```bash
python scripts/domains_by_technology.py \
  --technology "React" \
  --technology "Next.js" \
  --keyword "ecommerce" \
  --limit 1000
```

### Migration Planning
Identify domains on legacy platforms:

```bash
python scripts/domains_by_technology.py \
  --technology "Drupal 7" \
  --limit 5000
```

## API Limits

| Limit | Value |
|-------|-------|
| Rate limit | 2,000 calls/minute |
| Domains by Technology max limit | 10,000 results/request |
| Domain Technologies max tasks | 100 domains/request |
| Max technologies per request | 10 |
| Max groups per request | 10 |
| Max categories per request | 10 |
| Max technology paths per request | 10 |
| Max keywords per request | 10 |
| Max filters | 8 |
| Max order_by fields | 3 |
| Max tag length | 255 characters |

## Environment Variables

Requires in `.env`:
```
DATAFORSEO_LOGIN=your_login
DATAFORSEO_PASSWORD=your_password
```

## Output Files

All scripts save to:
- `output/` by default (created automatically)
- Custom path with `--output`

**File naming:**
- `domains_by_technology_<timestamp>.json`
- `domain_technologies_<domain>.json`
- `domain_technologies_bulk_<timestamp>.json`

