# HugeDomains Scraper (`crawlerbros/hugedomains-scraper`) Actor

Scrape premium domain names for sale on HugeDomains.com - search by keyword or browse curated categories (short domains, dictionary words, number domains, 4-letter .com, and more). Get domain name, price, TLD, and length for every listing.

- **URL**: https://apify.com/crawlerbros/hugedomains-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Automation, E-commerce, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## HugeDomains Scraper

Scrape premium, aftermarket domain names listed for sale on [HugeDomains.com](https://www.hugedomains.com) — search by keyword or browse curated categories (short names, dictionary words, number domains, 4-letter .com/.net, and more). Every record includes the domain name, TLD, character length, and asking price. HTTP-only against the public site — no auth, no cookies, no login required.

### What this actor does

- **Two modes:** `search` (keyword search) and `category` (curated browse pages)
- **Filters:** TLD (.com/.net/.org/.co/.biz/.info), price range, domain-name length range, sort order
- **Full pagination:** follows HugeDomains' own cursor-based "Next" link across as many pages as needed to satisfy `maxItems`
- **Empty fields are omitted** — every record only contains fields with real data

### Output per domain listing

- `domain` — full domain name, e.g. `Kas.com`
- `sld` — second-level name without the TLD, e.g. `Kas`
- `tld` — extension, e.g. `com`
- `length` — character length of the name (excludes TLD)
- `price` — asking price as a number (USD)
- `currency` — always `USD`
- `priceDisplay` — the site's own formatted price string, e.g. `$1,058,095.00`
- `listingUrl` — the domain's detail page on hugedomains.com
- `buyUrl` — direct "buy now" / shopping-cart link
- `mode` — `search` or `category`
- `searchKeyword` — the keyword used (mode=search)
- `category`, `categorySlug` — the category browsed (mode=category)
- `sortOrder`, `tldFilter` — the filters applied, when non-default
- `recordType: "domainListing"`, `scrapedAt`

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `mode` | string | `search` | `search` or `category` |
| `searchKeyword` | string | `shop` | Keyword to search for (mode=search) |
| `category` | string | – | Category slug (mode=category, see below) |
| `tld` | string | `any` | Restrict to one TLD: `com`/`net`/`org`/`co`/`biz`/`info` (works in both modes) |
| `sortOrder` | string | `priceDesc` | `priceDesc` / `priceAsc` / `nameAsc` / `nameDesc` / `lengthAsc` / `lengthDesc` |
| `priceMin` | int | – | Drop listings priced below this (USD) |
| `priceMax` | int | – | Drop listings priced above this (USD) |
| `lengthMin` | int | – | Drop domains shorter than this many characters |
| `lengthMax` | int | – | Drop domains longer than this many characters |
| `maxItems` | int | `10` | Hard cap on emitted records (1–1000) — see FAQ on run time for larger values |

#### Categories (mode=category)

`short`, `acronyms`, `area-codes`, `dictionary`, `geodomains`, `numbers`, `chinese_numbers`, `nnnnn` (5-digit), `nnnnnn` (6-digit), `nnnnnnn` (7-digit), `nnnnnnnn` (8-digit), `nnnnnnnnn` (9-digit), `LLLL_com` (4-letter .com), `LLLL_net` (4-letter .net), `3-letter-net` (3-letter .net)

#### Example: keyword search, .com only, under $10k

```json
{
  "mode": "search",
  "searchKeyword": "fitness",
  "tld": "com",
  "priceMax": 10000,
  "maxItems": 100
}
````

#### Example: browse short domain names, cheapest first

```json
{
  "mode": "category",
  "category": "short",
  "sortOrder": "priceAsc",
  "maxItems": 200
}
```

#### Example: short .com names containing "tech"

```json
{
  "mode": "search",
  "searchKeyword": "tech",
  "tld": "com",
  "lengthMax": 6
}
```

### Use cases

- **Domain investors** — scan premium inventory by keyword, category, or price band
- **Startup naming** — find short or on-brand `.com` names for sale in a target budget
- **Market research** — track asking prices across categories (short names, dictionary words, number domains)
- **Portfolio building** — bulk-export candidate domains for a niche keyword
- **Brand protection** — check whether a keyword-adjacent domain is listed for sale

### FAQ

**What's HugeDomains?** A large aftermarket domain marketplace with hundreds of thousands of premium domains for sale, each with a fixed "buy now" price.

**Does this require login or an API key?** No — the actor scrapes the public, unauthenticated `hugedomains.com` search and category pages.

**Why is `tld` limited to 6 extensions?** Those are the only extensions HugeDomains' own search reliably filters by; any other value is silently ignored server-side and falls back to unfiltered results, so it's excluded to avoid a misleading filter.

**Is the price filter exact?** It's applied server-side by HugeDomains and is generally accurate, but the site can include listings a small amount outside the requested band near the edges — the actor also re-checks every record client-side and drops anything genuinely outside your range.

**How many results can I get?** Up to `maxItems` (max 1000), limited by however many real matches HugeDomains has for your search/category/filters — narrow searches naturally return fewer.

**What does `length` measure?** The character count of the name portion only, excluding the TLD and the dot — e.g. `Kas.com` has `length: 3`.

**What happens if my `searchKeyword` could never match any domain name (e.g. it has spaces, punctuation, or non-Latin characters)?** Domain names can only contain letters, digits, and hyphens, and are at most 63 characters long. The actor checks this instantly and, if your keyword can't possibly appear in any domain name, returns right away with a clear status message instead of scanning uselessly.

**Why isn't there a "keyword position" (starts with / ends with) filter?** It was tested and dropped — HugeDomains reliably serves its own reCAPTCHA gate for that specific filter from Apify's cloud IPs, making it unusable in production. Keyword search still matches anywhere in the domain name.

**The run took longer than expected — why?** Two factors: (1) HugeDomains' keyword search doesn't filter server-side, so matching a keyword means scanning through its price-sorted catalog page by page until enough real matches are found — less common keywords, tighter filters, or a higher `maxItems` all mean more scanning; (2) HugeDomains sits behind Cloudflare and occasionally serves a transient block or bot-challenge page under bursty traffic, which the actor automatically retries with backoff. Neither affects data quality — a completed run's results are always genuine matches, just possibly slower to collect. The default `maxItems: 10` is tuned to return quickly; raise it if you need more and can allow more run time.

# Actor input Schema

## `mode` (type: `string`):

What to fetch.

## `searchKeyword` (type: `string`):

Keyword to search for in domain names, e.g. `shop`, `tech`, `fitness`. Only domains whose name actually contains this keyword are returned; very rare/uncommon keywords may return fewer matches than `maxItems`.

## `category` (type: `string`):

Browse one of HugeDomains' curated domain categories.

## `tld` (type: `string`):

Restrict results to one extension (works in both search and category mode). Only these six are reliably filterable upstream — other extensions are silently ignored by HugeDomains' own search.

## `sortOrder` (type: `string`):

How to sort results.

## `priceMin` (type: `integer`):

Drop listings priced below this amount.

## `priceMax` (type: `integer`):

Drop listings priced above this amount.

## `lengthMin` (type: `integer`):

Drop domains whose name (excluding TLD) is shorter than this many characters.

## `lengthMax` (type: `integer`):

Drop domains whose name (excluding TLD) is longer than this many characters.

## `maxItems` (type: `integer`):

Hard cap on emitted records. HugeDomains' keyword search never filters server-side (every keyword scans the same price-sorted catalog, matched client-side — see the `searchKeyword` description), so larger values for less common keywords/filters can take substantially longer to fill.

## Actor input object example

```json
{
  "mode": "search",
  "searchKeyword": "shop",
  "tld": "any",
  "sortOrder": "priceDesc",
  "maxItems": 10
}
```

# Actor output Schema

## `domains` (type: `string`):

Dataset containing all scraped HugeDomains listings.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mode": "search",
    "searchKeyword": "shop",
    "tld": "any",
    "sortOrder": "priceDesc",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/hugedomains-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mode": "search",
    "searchKeyword": "shop",
    "tld": "any",
    "sortOrder": "priceDesc",
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/hugedomains-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "search",
  "searchKeyword": "shop",
  "tld": "any",
  "sortOrder": "priceDesc",
  "maxItems": 10
}' |
apify call crawlerbros/hugedomains-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=crawlerbros/hugedomains-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "HugeDomains Scraper",
        "description": "Scrape premium domain names for sale on HugeDomains.com - search by keyword or browse curated categories (short domains, dictionary words, number domains, 4-letter .com, and more). Get domain name, price, TLD, and length for every listing.",
        "version": "1.0",
        "x-build-id": "ygVOe8Lmpm4Eu7AXs"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~hugedomains-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-hugedomains-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/crawlerbros~hugedomains-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-hugedomains-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/crawlerbros~hugedomains-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-hugedomains-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "category"
                        ],
                        "type": "string",
                        "description": "What to fetch.",
                        "default": "search"
                    },
                    "searchKeyword": {
                        "title": "Search keyword (mode=search)",
                        "type": "string",
                        "description": "Keyword to search for in domain names, e.g. `shop`, `tech`, `fitness`. Only domains whose name actually contains this keyword are returned; very rare/uncommon keywords may return fewer matches than `maxItems`.",
                        "default": "shop"
                    },
                    "category": {
                        "title": "Category (mode=category)",
                        "enum": [
                            "short",
                            "acronyms",
                            "area-codes",
                            "dictionary",
                            "geodomains",
                            "numbers",
                            "chinese_numbers",
                            "nnnnn",
                            "nnnnnn",
                            "nnnnnnn",
                            "nnnnnnnn",
                            "nnnnnnnnn",
                            "LLLL_com",
                            "LLLL_net",
                            "3-letter-net"
                        ],
                        "type": "string",
                        "description": "Browse one of HugeDomains' curated domain categories."
                    },
                    "tld": {
                        "title": "TLD filter",
                        "enum": [
                            "any",
                            "com",
                            "net",
                            "org",
                            "co",
                            "biz",
                            "info"
                        ],
                        "type": "string",
                        "description": "Restrict results to one extension (works in both search and category mode). Only these six are reliably filterable upstream — other extensions are silently ignored by HugeDomains' own search.",
                        "default": "any"
                    },
                    "sortOrder": {
                        "title": "Sort order",
                        "enum": [
                            "priceDesc",
                            "priceAsc",
                            "nameAsc",
                            "nameDesc",
                            "lengthAsc",
                            "lengthDesc"
                        ],
                        "type": "string",
                        "description": "How to sort results.",
                        "default": "priceDesc"
                    },
                    "priceMin": {
                        "title": "Minimum price (USD)",
                        "minimum": 0,
                        "maximum": 50000000,
                        "type": "integer",
                        "description": "Drop listings priced below this amount."
                    },
                    "priceMax": {
                        "title": "Maximum price (USD)",
                        "minimum": 0,
                        "maximum": 50000000,
                        "type": "integer",
                        "description": "Drop listings priced above this amount."
                    },
                    "lengthMin": {
                        "title": "Minimum domain name length",
                        "minimum": 1,
                        "maximum": 63,
                        "type": "integer",
                        "description": "Drop domains whose name (excluding TLD) is shorter than this many characters."
                    },
                    "lengthMax": {
                        "title": "Maximum domain name length",
                        "minimum": 1,
                        "maximum": 63,
                        "type": "integer",
                        "description": "Drop domains whose name (excluding TLD) is longer than this many characters."
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Hard cap on emitted records. HugeDomains' keyword search never filters server-side (every keyword scans the same price-sorted catalog, matched client-side — see the `searchKeyword` description), so larger values for less common keywords/filters can take substantially longer to fill.",
                        "default": 10
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
