{
  "openapi": "3.0.1",
  "info": {
    "title": "WHOIS Domain Lookup in Bulk: RDAP, DNS, SSL",
    "description": "WHOIS domain lookup in bulk through official RDAP: registered or available, registrar, domain age, created and expiry dates. Adds DNS records, SPF, DMARC and DKIM checks, email provider and SSL certificate expiry. Check one name across many TLDs. One row per domain. Expiry alerts and change monitor.",
    "version": "0.1",
    "x-build-id": "STWSLhmLJarfaEIoM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/maliksaid~domain-intelligence-rdap/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-maliksaid-domain-intelligence-rdap",
        "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/maliksaid~domain-intelligence-rdap/runs": {
      "post": {
        "operationId": "runs-sync-maliksaid-domain-intelligence-rdap",
        "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/maliksaid~domain-intelligence-rdap/run-sync": {
      "post": {
        "operationId": "run-sync-maliksaid-domain-intelligence-rdap",
        "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",
        "properties": {
          "domains": {
            "title": "Domains",
            "maxItems": 500,
            "type": "array",
            "description": "Domains to check, one per line. You can paste URLs. The Actor keeps the host name and drops a leading www. At most 500 domains per run.",
            "default": [
              "apify.com",
              "wikipedia.org",
              "python.org",
              "mozilla.org",
              "bbc.co.uk"
            ],
            "items": {
              "type": "string"
            }
          },
          "names": {
            "title": "Names to check across TLDs",
            "type": "array",
            "description": "Optional. Names without a TLD, for example acme. Each name is checked with every TLD below. The pairs count toward the 500-domain cap.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "tlds": {
            "title": "TLDs for the names",
            "type": "array",
            "description": "TLDs to pair with each name, without the dot, for example com, net, io, sa.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "includeRdap": {
            "title": "Registration data (RDAP)",
            "type": "boolean",
            "description": "Look up registrar, creation date, expiry date, status and name servers from the registry's official RDAP server. Registrant contact details are never collected.",
            "default": true
          },
          "includeDns": {
            "title": "DNS records, SPF and DMARC",
            "type": "boolean",
            "description": "Look up A, AAAA, MX, NS and TXT records, and parse the SPF and DMARC records.",
            "default": true
          },
          "dkimSelectors": {
            "title": "DKIM selectors",
            "type": "array",
            "description": "DKIM selectors to look up at <selector>._domainkey.<domain> when DNS lookups are on. DNS has no list of selectors, so add your own if you know it.",
            "default": [
              "default",
              "google",
              "selector1",
              "selector2",
              "k1",
              "s1",
              "s2",
              "dkim",
              "mail"
            ],
            "items": {
              "type": "string"
            }
          },
          "includeSsl": {
            "title": "SSL certificate",
            "type": "boolean",
            "description": "Open one TLS connection on port 443 and read the certificate issuer, validity dates and days to expiry.",
            "default": true
          },
          "expiringWithinDays": {
            "title": "Only domains or certificates expiring within (days)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only domains whose registration or SSL certificate expires within this many days. Rows that do not match are not saved and not charged. 0 keeps every domain.",
            "default": 0
          },
          "monitorMode": {
            "title": "Monitor mode (only changed domains)",
            "type": "boolean",
            "description": "Return a domain only when its registrar, expiry date, status, name servers, MX, SPF, DMARC or certificate changed since the last monitor-mode run with the same state key. The first run returns every domain.",
            "default": false
          },
          "stateKey": {
            "title": "Monitor state key",
            "type": "string",
            "description": "Name of the memory that monitor mode uses. Use a different key for each separate watch list.",
            "default": "default"
          },
          "maxItems": {
            "title": "Maximum domains",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Stop after saving this many domains. The default keeps test runs short and cheap. The maximum is 500. Set 0 to use the maximum of 500.",
            "default": 100
          },
          "maxConcurrency": {
            "title": "Domains checked in parallel",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many domains are checked at the same time. RDAP requests to each registry are paced to about 1.5 per second whatever this value is.",
            "default": 5
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}