# Domain-Details-Scraper (`zerobreak/domain-details-scraper`) Actor

Retrieve detailed registration and DNS information for one or multiple domains. Collect registration, expiration, update dates, domain status, and name servers in a structured dataset, ideal for domain research, website audits, cybersecurity investigations, and portfolio management.

- **URL**: https://apify.com/zerobreak/domain-details-scraper.md
- **Developed by:** [ZeroBreak](https://apify.com/zerobreak) (community)
- **Categories:** Developer tools, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.99 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.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/platform/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

## Domain Details Scraper

Retrieve registration and DNS information for one or multiple domains. The actor collects key domain details such as registration dates, expiration dates, status information, name servers, registrar details, and contact information, returning the data in a structured format suitable for analysis, monitoring, and research.

---

### Use Cases

**Domain research**
Look up registration information for websites and online businesses.

**Cybersecurity investigations**
Review domain ownership timelines, status flags, registrar identity, and DNS infrastructure.

**Competitor analysis**
Analyze domain portfolios and infrastructure used by competitors.

**Website auditing**
Collect domain metadata for reporting, compliance checks, and technical audits.

**Domain portfolio management**
Track registration and expiration information across multiple domains.

---

### What Data Does This Actor Extract?

Each dataset item represents a single domain.

#### Valid Domain Result

```json
{
  "Domain": "google.com",
  "Registered On": "1997-09-15",
  "Expires On": "2028-09-14",
  "Updated On": "2019-09-09",
  "Status": [
    "client delete prohibited",
    "client transfer prohibited",
    "client update prohibited",
    "server delete prohibited",
    "server transfer prohibited",
    "server update prohibited"
  ],
  "Name Servers": [
    "ns1.google.com",
    "ns2.google.com",
    "ns3.google.com",
    "ns4.google.com"
  ],
  "Registrar": "MarkMonitor Inc.",
  "IANA ID": "292",
  "Abuse Email": "abusecomplaints@markmonitor.com",
  "Abuse Phone": "+1.2086851750",
  "Organization": "Google LLC",
  "Country": "US"
}
````

#### Invalid / Not Found Result

When a domain cannot be found or an invalid domain is provided, the actor returns:

```json
{
  "Domain": "kdhjenr",
  "Registered On": "",
  "Expires On": "",
  "Updated On": "",
  "Status": [],
  "Name Servers": [],
  "Register": "",
  "INNA ID": "",
  "Abuse Email": "",
  "Abuse Phone": "",
  "Country": "",
  "message": "Domain Details Not Found"
}
```

***

### Fields

#### Valid Domain Fields

| Field        | Type             | Description                                      |
|--------------|------------------|--------------------------------------------------|
| Domain       | string           | Domain name                                      |
| Registered On| string           | Domain registration date                         |
| Expires On   | string           | Domain expiration date                           |
| Updated On   | string           | Most recent update date                          |
| Status       | array of strings | Domain status flags                              |
| Name Servers | array of strings | Associated DNS name servers                      |
| Registrar    | string           | Name of the domain registrar                     |
| IANA ID      | string           | Registrar's IANA ID number                       |
| Abuse Email  | string           | Registrar abuse contact email                    |
| Abuse Phone  | string           | Registrar abuse contact phone number             |
| Organization | string           | Registrant organization name                     |
| Country      | string           | Registrant country code                          |

#### Not Found Fields

| Field        | Type             | Description                                      |
|--------------|------------------|--------------------------------------------------|
| Domain       | string           | The queried domain name                          |
| Registered On| string           | Empty — domain not found                         |
| Expires On   | string           | Empty — domain not found                         |
| Updated On   | string           | Empty — domain not found                         |
| Status       | array            | Empty array — no status available                |
| Name Servers | array            | Empty array — no name servers available          |
| Register     | string           | Empty — registrar not found                      |
| INNA ID      | string           | Empty — IANA ID not found                        |
| Abuse Email  | string           | Empty — no abuse contact available               |
| Abuse Phone  | string           | Empty — no abuse phone available                 |
| Country      | string           | Empty — country not found                        |
| message      | string           | `"Domain Details Not Found"`                     |

***

### Input

#### Parameters

| Parameter | Type  | Default  | Description                   |
|-----------|-------|----------|-------------------------------|
| domains   | array | Required | One or more domain names      |

#### Example Input

```json
{
  "domains": [
    "google.com",
    "facebook.com",
    "openai.com"
  ]
}
```

**Search a single domain:**

```json
{
  "domains": [
    "google.com"
  ]
}
```

**Search multiple domains:**

```json
{
  "domains": [
    "google.com",
    "amazon.com",
    "microsoft.com",
    "openai.com"
  ]
}
```

***

### Example Output

```json
[
  {
    "Domain": "google.com",
    "Registered On": "1997-09-15",
    "Expires On": "2028-09-14",
    "Updated On": "2019-09-09",
    "Status": [
      "client delete prohibited",
      "client transfer prohibited",
      "client update prohibited",
      "server delete prohibited",
      "server transfer prohibited",
      "server update prohibited"
    ],
    "Name Servers": [
      "ns1.google.com",
      "ns2.google.com",
      "ns3.google.com",
      "ns4.google.com"
    ],
    "Registrar": "MarkMonitor Inc.",
    "IANA ID": "292",
    "Abuse Email": "abusecomplaints@markmonitor.com",
    "Abuse Phone": "+1.2086851750",
    "Organization": "Google LLC",
    "Country": "US"
  }
]
```

***

### How It Works

1. The actor accepts one or more domain names as input.
2. Each domain is processed independently.
3. Registration, expiration, and update dates are collected.
4. Domain status flags are extracted as an array.
5. Name server details are gathered as an array.
6. Registrar name, IANA ID, and contact details are extracted.
7. Organization name, country, and abuse contact information are collected.
8. Results are returned in a structured dataset format.
9. Multiple domains are processed concurrently for faster execution.
10. Invalid or unresolvable domains return a structured "not found" result with empty fields and a `message` key.

***

### Integrations

Domain Details Scraper works with Apify integrations including:

- Google Sheets
- Slack
- Make
- Zapier
- Webhooks

Export results to spreadsheets, databases, dashboards, or custom workflows.

***

### FAQ

**Can I search multiple domains at once?**
Yes. Provide multiple domain names in the `domains` array and the actor will process them simultaneously.

**What domain formats are supported?**
Use standard domain names such as:

- google.com
- amazon.com
- openai.com

URLs with protocols are also accepted and automatically normalized.

**What information does the actor return?**
For valid domains, the actor returns registration dates, expiration dates, update dates, status flags (as an array), name servers (as an array), registrar name, IANA ID, contact email or URL, abuse contact details, organization name, and country code.

**What happens if a domain cannot be found?**
The actor returns a dataset item with all fields empty and a `message` field set to `"Domain Details Not Found"`.

**Does the actor support bulk lookups?**
Yes. You can submit multiple domains in a single run and receive results for all of them in one dataset.

**Can I export the results?**
Yes. Results can be exported from Apify in JSON, CSV, Excel, XML, and other supported formats.

# Actor input Schema

## `domains` (type: `array`):

List of domains

## Actor input object example

```json
{
  "domains": [
    "google.com"
  ]
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "domains": [
        "google.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("zerobreak/domain-details-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 = { "domains": ["google.com"] }

# Run the Actor and wait for it to finish
run = client.actor("zerobreak/domain-details-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 '{
  "domains": [
    "google.com"
  ]
}' |
apify call zerobreak/domain-details-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Domain-Details-Scraper",
        "description": "Retrieve detailed registration and DNS information for one or multiple domains. Collect registration, expiration, update dates, domain status, and name servers in a structured dataset, ideal for domain research, website audits, cybersecurity investigations, and portfolio management.",
        "version": "0.0",
        "x-build-id": "Iw0uTb0Bw39AJ21BK"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/zerobreak~domain-details-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-zerobreak-domain-details-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/zerobreak~domain-details-scraper/runs": {
            "post": {
                "operationId": "runs-sync-zerobreak-domain-details-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/zerobreak~domain-details-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-zerobreak-domain-details-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": [
                    "domains"
                ],
                "properties": {
                    "domains": {
                        "title": "Domains",
                        "type": "array",
                        "description": "List of domains",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
