{
  "openapi": "3.0.1",
  "info": {
    "title": "SaaS Domain Name Generator & Availability Watcher",
    "description": "Generate ranked SaaS domain ideas and monitor domain status with official public RDAP and WHOIS registry sources. Export shortlist changes without a domain API key.",
    "version": "0.3",
    "x-build-id": "7dYjWRpI8LDJgOFdB"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/thescrapelab~saas-brand-domain-watcher/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-thescrapelab-saas-brand-domain-watcher",
        "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/thescrapelab~saas-brand-domain-watcher/runs": {
      "post": {
        "operationId": "runs-sync-thescrapelab-saas-brand-domain-watcher",
        "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/thescrapelab~saas-brand-domain-watcher/run-sync": {
      "post": {
        "operationId": "run-sync-thescrapelab-saas-brand-domain-watcher",
        "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": {
          "seedNames": {
            "title": "Brand names or product terms",
            "maxItems": 10,
            "type": "array",
            "description": "Enter up to 10 brand names or product terms. The Actor creates normalised domain candidates from these terms.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            },
            "default": [
              "orbitnotes"
            ]
          },
          "domains": {
            "title": "Exact domains to watch",
            "maxItems": 100,
            "type": "array",
            "description": "Optional complete domains to check exactly, such as example.com. These are included before generated candidates.",
            "items": {
              "type": "string",
              "minLength": 3,
              "maxLength": 253
            },
            "default": []
          },
          "maxCandidates": {
            "title": "Maximum domain candidates",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Hard cap on generated and exact domains. Keep this focused for faster, respectful registry lookups.",
            "default": 5
          },
          "checkAvailability": {
            "title": "Check domain availability",
            "type": "boolean",
            "description": "Check the official public registry via RDAP, or WHOIS where RDAP is unavailable. No API key or account is needed. Ambiguous or blocked results stay unknown. Leave off for domain ideas only.",
            "default": false
          },
          "tlds": {
            "title": "Domain suffixes",
            "maxItems": 20,
            "type": "array",
            "description": "Suffixes used for generated candidates, such as com or co.uk. Do not include a leading period.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 189
            },
            "default": [
              "com"
            ]
          },
          "generationModes": {
            "title": "Candidate patterns",
            "maxItems": 4,
            "uniqueItems": true,
            "type": "array",
            "description": "Choose the safe, readable domain patterns to generate from each brand term.",
            "items": {
              "type": "string",
              "enum": [
                "exact",
                "compact",
                "prefixed",
                "suffixed"
              ],
              "enumTitles": [
                "Exact normalised name",
                "Remove separators",
                "Prefix the name",
                "Suffix the name"
              ]
            },
            "default": [
              "exact"
            ]
          },
          "prefixes": {
            "title": "Prefixes",
            "maxItems": 10,
            "type": "array",
            "description": "Used only when Prefix the name is selected.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 30
            },
            "default": [
              "get",
              "try",
              "use",
              "join"
            ]
          },
          "suffixes": {
            "title": "Suffixes",
            "maxItems": 10,
            "type": "array",
            "description": "Used only when Suffix the name is selected.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 30
            },
            "default": [
              "app",
              "hq",
              "labs",
              "cloud"
            ]
          },
          "watchKey": {
            "title": "Watchlist key (optional)",
            "minLength": 12,
            "maxLength": 200,
            "type": "string",
            "description": "Reuse for the same shortlist across edits. Without a key, saved Tasks use their Task ID and API runs use a normalized configuration identity. All watchlists start isolated v2 history with one fresh definitive baseline."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}