---
title: Reverse WHOIS API - Search Domains by Owner Name, Email, Company, or Keyword
version: 1.0.0
description: Search all domain names registered under a particular owner, email, company name, or keyword using reverse WHOIS lookup. Returns matching domains with full registration details (default mode) or a condensed summary (mini mode). Supports exact-match filtering and paginated results (50 per page in default mode, 100 in mini mode). At least one search parameter (keyword, email, owner, or company) is required. A 404 is returned when no domains match the search criteria.
openapi: 3.1.1
servers:
  - https://api.apifreaks.com/v1.0
paths: 1
operations: 1
schemas: 7
---

## Table of Contents

- [Reverse WHOIS API - Search Domains by Owner Name, Email, Company, or Keyword v1.0.0](#reverse-whois-api-search-domains-by-owner-name-email-company-or-keyword-v100)
  - [Authentication](#authentication)
  - [WHOIS APIs](#whois-apis)
    - [reverseWhoisLookup](#reversewhoislookup)
      - [Parameters](#parameters)
      - [Responses](#responses)
  - [Schemas](#schemas)
    - [ErrorResponse](#errorresponse)
    - [ReverseWhoisResponse](#reversewhoisresponse)
    - [ReverseWhoisDomainDefault](#reversewhoisdomaindefault)
    - [ReverseWhoisDomainMini](#reversewhoisdomainmini)
    - [DomainRegistrar](#domainregistrar)
    - [WhoisContact](#whoiscontact)
    - [RegistryData](#registrydata)



# Reverse WHOIS API - Search Domains by Owner Name, Email, Company, or Keyword v1.0.0

Search all domain names registered under a particular owner, email, company name, or keyword using reverse WHOIS lookup. Returns matching domains with full registration details (default mode) or a condensed summary (mini mode). Supports exact-match filtering and paginated results (50 per page in default mode, 100 in mini mode). At least one search parameter (keyword, email, owner, or company) is required. A 404 is returned when no domains match the search criteria.

Base URLs:

* [https://api.apifreaks.com/v1.0](https://api.apifreaks.com/v1.0)

## Authentication

* API Key (ApiKeyAuthHeader)
    - Parameter Name: **X-apiKey**, in: header. Pass your API key via the X-apiKey request header.

* API Key (ApiKeyAuthQuery)
    - Parameter Name: **apiKey**, in: query. Pass your API key via the apiKey query parameter.

## WHOIS APIs

### reverseWhoisLookup

`GET /domain/whois/reverse`

*Search domains by owner name, email, company, or keyword*

Performs a reverse WHOIS search returning matching domains with registration details. Use mode=default for full WHOIS data or mode=mini for a condensed summary. When mode=default, each item in whois_domains_historical matches the ReverseWhoisDomainDefault schema (full registrar, contacts, name servers, status, and registry data). When mode=mini, each item matches the ReverseWhoisDomainMini schema (domain name, create/update/expiry dates, owner name, email, and company only).

#### Parameters

|Name|In|Type|Required|Description|
|---|---|---|---|---|
|format|query|string|false|Format of the response.|
|keyword|query|string|false|Keyword to search for in domain names (case-insensitive pattern matching).|
|email|query|string|false|Email address to search for in registrant records (case-insensitive exact or regex match; * wildcard supported).|
|owner|query|string|false|Registrant or owner name to search for (full-text phrase matching).|
|company|query|string|false|Organization or company name to search for (full-text phrase matching).|
|exact|query|boolean|false|Set to true to return only exact matches for keyword, owner, or company. Default is false.|
|mode|query|string|false|Response detail level. 'default' returns full WHOIS data per domain; 'mini' returns only key fields.|
|page|query|integer|false|Page number for paginated results.|

##### Enumerated Values

|Parameter|Value|
|---|---|
|format|json|
|format|xml|
|mode|default|
|mode|mini|

> Example responses

> Successful reverse WHOIS search response

```json
{
  "total_Result": 8,
  "total_Pages": 1,
  "current_Page": 1,
  "whois_domains_historical": [
    {
      "num": 1,
      "status": true,
      "domain_name": "ipgeolocationdatabase.com",
      "query_time": "2026-05-21 04:00:28",
      "create_date": "2010-04-14",
      "update_date": "2026-05-19",
      "expiry_date": "2027-04-14",
      "domain_registrar": {
        "iana_id": "269",
        "registrar_name": "Key-Systems GmbH",
        "whois_server": "whois.rrpproxy.net",
        "website_url": "http://www.key-systems.net",
        "email_address": "abuse@key-systems.net",
        "phone_number": "+4968949396850"
      },
      "registrant_contact": {
        "id": "Not Available From Registry",
        "name": "On behalf of ipgeolocationdatabase.com OWNER",
        "company": "c/o whoisproxy.com",
        "city": "Alexandria",
        "state": "VA",
        "zip_code": "22314",
        "country_name": "United States",
        "country_code": "US",
        "email_address": "720ed14de67db24c4eb07295ecae369f9f1bfe8a4dd5cd0c51f0e4754ee24895@ipgeolocationdatabase.com.whoisproxy.org",
        "phone": "+6448319528"
      },
      "name_servers": [
        "dale.ns.cloudflare.com",
        "olga.ns.cloudflare.com"
      ],
      "domain_status": [
        "clienttransferprohibited"
      ],
      "whois_raw_domain": "Domain Name: ipgeolocationdatabase.com\nRegistry Domain ID: ...\nRegistrar WHOIS Server: whois.rrpproxy.net\n...",
      "registry_data": {
        "domain_name": "ipgeolocationdatabase.com",
        "domain_registrar": {
          "registrar_name": "Key-Systems GmbH"
        },
        "name_servers": [
          "dale.ns.cloudflare.com",
          "olga.ns.cloudflare.com"
        ]
      }
    }
  ]
}
```

```json
{
  "total_Result": 8,
  "total_Pages": 1,
  "current_Page": 1,
  "whois_domains_historical": [
    {
      "num": 1,
      "domain_name": "ipgeolocationdatabase.com",
      "create_date": "2010-04-14",
      "update_date": "2026-05-19",
      "expiry_date": "2027-04-14",
      "name": "On behalf of ipgeolocationdatabase.com OWNER",
      "email": "720ed14de67db24c4eb07295ecae369f9f1bfe8a4dd5cd0c51f0e4754ee24895@ipgeolocationdatabase.com.whoisproxy.org",
      "company_name": "c/o whoisproxy.com"
    }
  ]
}
```

> Bad Request -- Missing or invalid search parameters

```json
{
  "timestamp": "2025-08-14T10:01:46.601Z",
  "status": 400,
  "error": "Invalid Param Exception",
  "message": "Please pass param value.",
  "path": "/v1.0/domain/whois/reverse"
}
```

> Not Found -- No domains match the search criteria

```json
{
  "timestamp": "2025-08-14T10:01:54.778Z",
  "status": 404,
  "error": "Record not found",
  "message": "Record not found.",
  "path": "/v1.0/domain/whois/reverse"
}
```

#### Responses

|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful reverse WHOIS search response|[ReverseWhoisResponse](#reversewhoisresponse)|
|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|Bad Request -- Missing or invalid search parameters|[ErrorResponse](#errorresponse)|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not Found -- No domains match the search criteria|[ErrorResponse](#errorresponse)|

#### Response Headers

|Status|Header|Type|Format|Description|
|---|---|---|---|---|
|200|X-AF-Credits-Cost|integer||Specifies the number of credits consumed by the current request.|
|200|X-Concurrent-Threads|integer||Specifies the maximum number of concurrent requests allowed.|
|200|X-Concurrent-Threads-Active|integer||Indicates the number of active concurrent requests being processed.|
|400|X-AF-Credits-Cost|integer||Specifies the number of credits consumed by the current request.|
|400|X-Concurrent-Threads|integer||Specifies the maximum number of concurrent requests allowed.|
|400|X-Concurrent-Threads-Active|integer||Indicates the number of active concurrent requests being processed.|
|404|X-AF-Credits-Cost|integer||Specifies the number of credits consumed by the current request.|
|404|X-Concurrent-Threads|integer||Specifies the maximum number of concurrent requests allowed.|
|404|X-Concurrent-Threads-Active|integer||Indicates the number of active concurrent requests being processed.|

To perform this operation, you must be authenticated by means of one of the following methods:
ApiKeyAuthHeader, ApiKeyAuthQuery

## Schemas

### ErrorResponse

#### Properties

|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|error|string|false|none|Short error category or exception type.|
|message|string|true|none|Human-readable error message describing the failure.|
|path|string|false|none|API endpoint path that produced the error.|
|status|integer|false|none|HTTP status code returned with the error.|
|timestamp|string(date-time)|false|none|Timestamp when the error occurred (ISO 8601).|

### ReverseWhoisResponse

Paginated reverse WHOIS search result containing total matches, page info, and an array of matching domain records.

#### Properties

|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|total_Result|integer|true|none|Total number of domain records matching the search criteria.|
|total_Pages|integer|true|none|Total number of pages available (50 records per page in default mode, 100 in mini mode).|
|current_Page|integer|true|none|Current page number in the paginated result.|
|whois_domains_historical|[oneOf]|true|none|Array of matching domain records. In default mode each entry contains full WHOIS data; in mini mode each entry contains only key fields.|

oneOf

|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|» *anonymous*|[ReverseWhoisDomainDefault](#reversewhoisdomaindefault)|false|none|Full WHOIS record for a matching domain in default mode, including registrar, contacts, name servers, status, and registry data.|

xor

|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|» *anonymous*|[ReverseWhoisDomainMini](#reversewhoisdomainmini)|false|none|Condensed WHOIS record for a matching domain in mini mode, containing only key registration fields.|

### ReverseWhoisDomainDefault

Full WHOIS record for a matching domain in default mode, including registrar, contacts, name servers, status, and registry data.

#### Properties

|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|num|integer|true|none|Sequential result number.|
|status|boolean|true|none|Indicates whether the WHOIS request was successfully processed.|
|domain_name|string|true|none|The matched domain name.|
|query_time|string|false|none|Timestamp of the WHOIS query (YYYY-MM-DD HH:mm:ss).|
|whois_server|string|false|none|WHOIS server that provided the domain information.|
|domain_registered|string|false|none|Registration status: 'yes' if registered, 'no' if available, 'restricted' if locked by the registry.|
|create_date|string(date)|false|none|Date when the domain was initially registered (YYYY-MM-DD).|
|update_date|string(date)|false|none|Date of the most recent update to the domain registration (YYYY-MM-DD).|
|expiry_date|string(date)|false|none|Date when the domain registration expires if not renewed (YYYY-MM-DD).|
|domain_registrar|[DomainRegistrar](#domainregistrar)|false|none|Registrar information for the domain, including IANA ID, name, WHOIS/RDAP servers, website, and contact details.|
|reseller_contact|[WhoisContact](#whoiscontact)|false|none|Contact information for a domain stakeholder (registrant, administrative, technical, billing, or reseller). All fields are optional and depend on the contact type and privacy settings.|
|registrant_contact|[WhoisContact](#whoiscontact)|false|none|Contact information for a domain stakeholder (registrant, administrative, technical, billing, or reseller). All fields are optional and depend on the contact type and privacy settings.|
|administrative_contact|[WhoisContact](#whoiscontact)|false|none|Contact information for a domain stakeholder (registrant, administrative, technical, billing, or reseller). All fields are optional and depend on the contact type and privacy settings.|
|technical_contact|[WhoisContact](#whoiscontact)|false|none|Contact information for a domain stakeholder (registrant, administrative, technical, billing, or reseller). All fields are optional and depend on the contact type and privacy settings.|
|billing_contact|[WhoisContact](#whoiscontact)|false|none|Contact information for a domain stakeholder (registrant, administrative, technical, billing, or reseller). All fields are optional and depend on the contact type and privacy settings.|
|name_servers|[string]|false|none|List of authoritative name servers for the domain.|
|domain_status|[string]|false|none|List of domain status codes (EPP status codes).|
|whois_raw_domain|string|false|none|Raw WHOIS output returned by the registrar's WHOIS server.|
|registry_data|[RegistryData](#registrydata)|false|none|Normalized registry-level WHOIS data. Contains the same structure as the top-level response but reflects data from the registry's own WHOIS server rather than the registrar's.|

##### Enumerated Values

|Property|Value|
|---|---|
|domain_registered|yes|
|domain_registered|no|
|domain_registered|restricted|

### ReverseWhoisDomainMini

Condensed WHOIS record for a matching domain in mini mode, containing only key registration fields.

#### Properties

|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|num|integer|true|none|Sequential result number.|
|domain_name|string|true|none|The matched domain name.|
|create_date|string(date)|false|none|Date when the domain was initially registered (YYYY-MM-DD).|
|update_date|string(date)|false|none|Date of the most recent update to the domain registration (YYYY-MM-DD).|
|expiry_date|string(date)|false|none|Date when the domain registration expires if not renewed (YYYY-MM-DD).|
|name|string|false|none|Registrant or owner name.|
|email|string|false|none|Registrant email address.|
|company_name|string|false|none|Registrant company or organization name.|

### DomainRegistrar

Registrar information for the domain, including IANA ID, name, WHOIS/RDAP servers, website, and contact details.

#### Properties

|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|iana_id|string|false|none|IANA (Internet Assigned Numbers Authority) ID of the registrar.|
|status|string|false|none|Accreditation status of the registrar (e.g., 'accredited'), when published.|
|registrar_name|string|false|none|Name of the registrar managing the domain.|
|normalized_name|string|false|none|Normalized (lowercase, stripped) registrar name, when published.|
|whois_server|string|false|none|WHOIS server of the registrar, when published.|
|rdap_server|string(uri)|false|none|RDAP (Registration Data Access Protocol) server URL of the registrar, when published.|
|website_url|string(uri)|false|none|Website URL of the registrar.|
|email_address|string|false|none|Contact or abuse email address of the registrar.|
|phone_number|string|false|none|Contact phone number of the registrar.|

### WhoisContact

Contact information for a domain stakeholder (registrant, administrative, technical, billing, or reseller). All fields are optional and depend on the contact type and privacy settings.

#### Properties

|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|id|string|false|none|Contact identifier.|
|handle|string|false|none|Registry handle for the contact, when published.|
|name|string|false|none|Name of the contact person.|
|company|string|false|none|Company or organization name.|
|street|string|false|none|Street address.|
|city|string|false|none|City.|
|state|string|false|none|State or province.|
|zip_code|string|false|none|ZIP or postal code.|
|country_name|string|false|none|Country name.|
|country_code|string|false|none|ISO 3166-1 alpha-2 country code.|
|email_address|string|false|none|Email address of the contact.|
|phone|string|false|none|Phone number of the contact.|
|fax|string|false|none|Fax number of the contact.|
|mailing_address|string|false|none|Full mailing address as a single string.|

### RegistryData

Normalized registry-level WHOIS data. Contains the same structure as the top-level response but reflects data from the registry's own WHOIS server rather than the registrar's.

#### Properties

|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|domain_name|string|false|none|Domain name as recorded by the registry.|
|query_time|string|false|none|Timestamp of the registry WHOIS query (YYYY-MM-DD HH:mm:ss).|
|whois_server|string|false|none|Registry WHOIS server that provided this data.|
|domain_registered|string|false|none|Registration status from the registry.|
|create_date|string(date)|false|none|Domain creation date as recorded by the registry (YYYY-MM-DD).|
|update_date|string(date)|false|none|Last update date as recorded by the registry (YYYY-MM-DD).|
|expiry_date|string(date)|false|none|Domain expiry date as recorded by the registry (YYYY-MM-DD).|
|domain_registrar|[DomainRegistrar](#domainregistrar)|false|none|Registrar information for the domain, including IANA ID, name, WHOIS/RDAP servers, website, and contact details.|
|name_servers|[string]|false|none|List of name servers as recorded by the registry.|
|domain_status|[string]|false|none|List of domain status codes from the registry.|
|whois_raw_registery|string|false|none|Raw WHOIS output from the registry server.|

##### Enumerated Values

|Property|Value|
|---|---|
|domain_registered|yes|
|domain_registered|no|
|domain_registered|restricted|
