{
  "openapi": "3.0.1",
  "info": {
    "title": "Product Name Availability Checker - Domain, npm, GitHub, PyPI",
    "description": "For founders, developers and AI agents naming a product or package: one call checks a name on domains (.com .io .ai .dev .app), npm, PyPI, crates.io, RubyGems, NuGet, Homebrew, Docker Hub, GitHub, Hugging Face, YouTube, Bluesky and Discord: taken, available or unknown, never available when unsure.",
    "version": "0.1",
    "x-build-id": "avz1o1l6f8ouP3rNE"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/neverempty~product-name-availability-checker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-neverempty-product-name-availability-checker",
        "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/neverempty~product-name-availability-checker/runs": {
      "post": {
        "operationId": "runs-sync-neverempty-product-name-availability-checker",
        "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/neverempty~product-name-availability-checker/run-sync": {
      "post": {
        "operationId": "run-sync-neverempty-product-name-availability-checker",
        "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": {
          "names": {
            "title": "Names to check",
            "type": "array",
            "description": "One product, company or package name per line (or several separated by commas). Each name gets one row with an answer for every place below. Upper/lower case and a leading @ are handled per place; spaces inside a name follow the Spaces setting. The same name is checked and charged once. Up to 500 names per run. If this and the single name field are both empty, the example names stripe and quietharbor7319 are checked.",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "title": "Single name (optional)",
            "type": "string",
            "description": "One name, for agents and tools that send a single value. It is checked together with anything in the list above."
          },
          "tlds": {
            "title": "Domain endings (TLDs)",
            "type": "array",
            "description": "Which domains to check for each name, without the dot (com, io, ai, dev, app, org, net, co, de, xyz ...). Up to 20. Answered from the registry's RDAP service; .co .us .gg .cc .so .ly, which publish no RDAP, from the registry's WHOIS. A TLD with neither is answered from DNS only (taken when delegated, otherwise unknown).",
            "default": [
              "com",
              "io",
              "ai",
              "dev",
              "app"
            ],
            "items": {
              "type": "string"
            }
          },
          "places": {
            "title": "Places to check",
            "type": "array",
            "description": "Which places to check. Leave all selected for the full answer. domains = the TLDs above.",
            "items": {
              "type": "string",
              "enum": [
                "domains",
                "npm",
                "pypi",
                "crates",
                "rubygems",
                "nuget",
                "homebrew",
                "dockerHub",
                "github",
                "huggingFace",
                "youtube",
                "bluesky",
                "discord"
              ],
              "enumTitles": [
                "Domains (the TLDs above)",
                "npm",
                "PyPI",
                "crates.io",
                "RubyGems",
                "NuGet",
                "Homebrew",
                "Docker Hub",
                "GitHub (users and organizations)",
                "Hugging Face",
                "YouTube handle",
                "Bluesky (.bsky.social)",
                "Discord username"
              ]
            },
            "default": [
              "domains",
              "npm",
              "pypi",
              "crates",
              "rubygems",
              "nuget",
              "homebrew",
              "dockerHub",
              "github",
              "huggingFace",
              "youtube",
              "bluesky",
              "discord"
            ]
          },
          "spaces": {
            "title": "Spaces inside a name",
            "enum": [
              "remove",
              "hyphen"
            ],
            "type": "string",
            "description": "What to do with spaces in a name such as \"Never Empty\": remove them (neverempty) or turn them into hyphens (never-empty). The row shows the exact form checked at each place (checkedAs).",
            "default": "remove"
          },
          "onlyChanges": {
            "title": "Only changes (watch mode)",
            "type": "boolean",
            "description": "Return a row only for names whose answer changed since the last run of this watch (for example a domain or handle that became free). The first run returns every name. A name with no change returns no row and is charged the small re-check fee instead of the name price. A place that could not be checked is never reported as a change.",
            "default": false
          },
          "watchName": {
            "title": "Watch name",
            "type": "string",
            "description": "Keeps separate memories for separate watch lists (letters, digits, \".\", \"_\" and \"-\"). Do not run two overlapping schedules with the same watch name."
          },
          "resetMonitoringState": {
            "title": "Forget this watch",
            "type": "boolean",
            "description": "Clear what this watch remembers, so the run returns every name again.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}