{
  "openapi": "3.0.1",
  "info": {
    "title": "New Domains Scraper - Newly Registered Domains by Keyword & TLD",
    "description": "Scrape newly registered and deleted domains from dnpedia.com's daily zone lists by date, TLD and keyword, or watch live registrations. DNS, MX email provider, live website, title, TLS certificate, RDAP creation date and brand lookalikes per domain. No login, no API key.",
    "version": "0.1",
    "x-build-id": "Xec5wbsnhB7Z87qc0"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapersdelight~new-domains-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapersdelight-new-domains-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/scrapersdelight~new-domains-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapersdelight-new-domains-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/scrapersdelight~new-domains-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapersdelight-new-domains-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",
        "properties": {
          "mode": {
            "title": "Source",
            "enum": [
              "daily",
              "live"
            ],
            "type": "string",
            "description": "Daily lists = every gTLD domain that entered (or left) a zone file on a day, about 350,000-500,000 a day across ~1,100 gTLDs. Live = registrations verified in the last minutes, ccTLDs included.",
            "default": "daily"
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Words matched against the domain name, e.g. \"dental\", \"shop\", \"law\". A domain is kept when any keyword matches. Empty = every domain in the chosen TLDs.",
            "items": {
              "type": "string"
            }
          },
          "tlds": {
            "title": "TLDs",
            "type": "array",
            "description": "Only these extensions, without the dot, e.g. \"com\", \"xyz\", \"shop\". Empty = the TLD coverage below. Daily lists cover gTLDs only (no .uk, .de, .io).",
            "items": {
              "type": "string"
            }
          },
          "listType": {
            "title": "List",
            "enum": [
              "added",
              "deleted"
            ],
            "type": "string",
            "description": "Added = domains that appeared in the zone that day (newly registered or re-activated). Deleted = domains that dropped out of the zone that day.",
            "default": "added"
          },
          "daysBack": {
            "title": "Days",
            "minimum": 1,
            "maximum": 45,
            "type": "integer",
            "description": "How many daily lists to read, newest first, counting back from the date below. dnpedia keeps the name lists for about 45 days.",
            "default": 1
          },
          "date": {
            "title": "Date",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2}.*|\\d{2}\\.\\d{2}\\.\\d{4})?$",
            "type": "string",
            "description": "Newest day to read (YYYY-MM-DD, UTC). Empty = the latest day dnpedia has published, normally today."
          },
          "tldCoverage": {
            "title": "TLD coverage when no TLDs are listed",
            "enum": [
              "top",
              "all"
            ],
            "type": "string",
            "description": "Busiest 100 TLDs hold ~98% of each day's new names and read in about a minute per day; all ~1,100 gTLDs take about 4-5 minutes per day (dnpedia serves ~2 lists a second).",
            "default": "top"
          },
          "liveMinutes": {
            "title": "Live: minutes to watch",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Live source only: how long to collect new registrations (polled every 10 s). About 100-200 verified registrations arrive per minute.",
            "default": 1
          },
          "matchMode": {
            "title": "Keyword match",
            "enum": [
              "contains",
              "startsWith",
              "endsWith",
              "exact"
            ],
            "type": "string",
            "description": "How a keyword must sit in the name (the part before the extension).",
            "default": "contains"
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "array",
            "description": "Drop names containing any of these, e.g. \"casino\", \"xxx\", \"loan\".",
            "items": {
              "type": "string"
            }
          },
          "minLength": {
            "title": "Min name length",
            "minimum": 0,
            "maximum": 63,
            "type": "integer",
            "description": "Shortest name (characters before the extension) to keep. 0 = no minimum.",
            "default": 0
          },
          "maxLength": {
            "title": "Max name length",
            "minimum": 0,
            "maximum": 63,
            "type": "integer",
            "description": "Longest name to keep, e.g. 8 for short brandable names. 0 = no maximum.",
            "default": 0
          },
          "watchBrands": {
            "title": "Brand watch-list (lookalikes)",
            "type": "array",
            "description": "Brand names to catch in new domains: exact, contained, one-or-two-letter typos and lookalike characters (paypa1, rnicrosoft). Matches fill typosquatTarget. Works with or without keywords.",
            "items": {
              "type": "string"
            }
          },
          "onlyWithEmail": {
            "title": "Only domains with email (MX) set up",
            "type": "boolean",
            "description": "Keep a domain only when it has MX records - a business setting up mailboxes. Turns on the DNS check.",
            "default": false
          },
          "onlyLiveWebsite": {
            "title": "Only domains with a live website",
            "type": "boolean",
            "description": "Keep a domain only when its homepage answers 2xx. Turns on the website check.",
            "default": false
          },
          "excludeParked": {
            "title": "Exclude parked / for-sale domains",
            "type": "boolean",
            "description": "Drop domains on parking or domain-sale nameservers, or whose homepage is a for-sale page.",
            "default": false
          },
          "onlyNewRegistrations": {
            "title": "Only true new registrations",
            "type": "boolean",
            "description": "Added list only: keep a domain only when its RDAP creation date is within 5 days of the day it entered the zone, dropping old names that re-entered. Turns on the RDAP check.",
            "default": false
          },
          "enrichDns": {
            "title": "DNS + email check",
            "type": "boolean",
            "description": "A, MX and NS records from public DNS: resolves, IP addresses, MX hosts, email provider (Google Workspace, Microsoft 365, Zoho...), nameservers, DNS provider, parked flag.",
            "default": true
          },
          "checkWebsite": {
            "title": "Website check",
            "type": "boolean",
            "description": "One request to the homepage: live or not, HTTP status, final URL after redirects, page title, and whether it serves a valid TLS certificate (and who issued it).",
            "default": true
          },
          "verifyRegistration": {
            "title": "RDAP registration check",
            "type": "boolean",
            "description": "The registry's RDAP record: creation date (registeredAt), registrar, and isNewRegistration - true new registration vs an older name re-entering the zone.",
            "default": false
          },
          "onlyNew": {
            "title": "Only domains not delivered before",
            "type": "boolean",
            "description": "Remember the domains this search delivered (same keywords, TLDs and filters) and skip them on later runs. Turn on for a scheduled daily feed.",
            "default": false
          },
          "maxItems": {
            "title": "Max domains",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many domains. A busy day has ~180,000 new .com names alone. 0 = no limit.",
            "default": 100
          },
          "compact": {
            "title": "Compact output",
            "type": "boolean",
            "description": "Core fields only (domain, TLD, dates, keyword, DNS / email / website verdicts) - trimmed for spreadsheets and AI pipelines.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Not needed: dnpedia answers direct. If it ever refuses, the actor falls back to a capped residential session on its own. Your own proxy URLs are used first when given.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}