{
  "openapi": "3.0.1",
  "info": {
    "title": "Bulk Email Verifier – Clean Email Lists & Reduce Bounce Rate",
    "description": "Verify large email lists and remove invalid addresses before outreach. Reduce bounce rates and protect your sender reputation. Works with CSV, datasets, and automation workflows.",
    "version": "0.1",
    "x-build-id": "79snHqxyrO2cNbJ3J"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solutionssmart~bulk-email-verifier/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solutionssmart-bulk-email-verifier",
        "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/solutionssmart~bulk-email-verifier/runs": {
      "post": {
        "operationId": "runs-sync-solutionssmart-bulk-email-verifier",
        "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/solutionssmart~bulk-email-verifier/run-sync": {
      "post": {
        "operationId": "run-sync-solutionssmart-bulk-email-verifier",
        "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": {
          "emails": {
            "title": "✍️ Emails (inline)",
            "type": "array",
            "description": "One email address per row. Leave empty when Source is used.",
            "items": {
              "type": "string"
            }
          },
          "source": {
            "title": "🔗 Source",
            "type": "object",
            "description": "Load emails from an Apify Dataset, Key-Value Store record, CSV URL, or raw CSV text. Leave empty when Emails (inline) is used.",
            "properties": {
              "type": {
                "title": "🧭 Source type",
                "type": "string",
                "description": "Where to load the email list from.",
                "editor": "select",
                "enum": [
                  "apifyDataset",
                  "apifyKeyValueStore",
                  "urlCsv",
                  "rawCsv"
                ],
                "enumTitles": [
                  "🗂️ Apify Dataset",
                  "🗝️ Apify Key-Value Store",
                  "🌐 URL CSV",
                  "📝 Raw CSV text"
                ]
              },
              "datasetId": {
                "title": "🗂️ Dataset ID",
                "type": "string",
                "description": "Required when Source type is Apify Dataset."
              },
              "kvKey": {
                "title": "🗝️ Key-Value Store key",
                "type": "string",
                "description": "Required when Source type is Apify Key-Value Store."
              },
              "url": {
                "title": "🌐 CSV URL",
                "type": "string",
                "description": "Required when Source type is CSV URL. Must be an http or https URL."
              },
              "csvText": {
                "title": "📝 Raw CSV text",
                "type": "string",
                "description": "Required when Source type is Raw CSV text. The actor uses the email column when present, otherwise the first column."
              }
            },
            "additionalProperties": false
          },
          "mode": {
            "title": "🔍 Mode",
            "enum": [
              "basic",
              "mx",
              "smtp"
            ],
            "type": "string",
            "description": "basic = syntax only, mx = syntax plus MX lookup, smtp = MX plus SMTP handshake.",
            "default": "mx"
          },
          "enableSmtp": {
            "title": "🧪 Enable SMTP check",
            "type": "boolean",
            "description": "Must be enabled when Mode is SMTP. SMTP checks can be blocked by providers and may affect IP reputation.",
            "default": false
          },
          "checkDisposable": {
            "title": "🗑️ Check disposable domains",
            "type": "boolean",
            "description": "Mark addresses from known disposable email domains as risky.",
            "default": true
          },
          "checkRoleAccounts": {
            "title": "👤 Check role accounts",
            "type": "boolean",
            "description": "Mark generic role addresses such as admin, info, or support as risky.",
            "default": true
          },
          "allowCatchAll": {
            "title": "📬 Allow catch-all domains",
            "type": "boolean",
            "description": "Reserved for future catch-all handling. Currently kept for forward compatibility.",
            "default": true
          },
          "dedupe": {
            "title": "🧹 Deduplicate emails",
            "type": "boolean",
            "description": "Remove duplicate email addresses before processing.",
            "default": true
          },
          "disposableDomainsExtra": {
            "title": "➕ Extra disposable domains",
            "type": "array",
            "description": "Additional domain names to treat as disposable.",
            "items": {
              "type": "string"
            }
          },
          "output": {
            "title": "📦 Output options",
            "type": "object",
            "description": "Choose whether to save only the dataset or also create a CSV export in the default Key-Value Store.",
            "properties": {
              "format": {
                "title": "🧾 Format",
                "type": "string",
                "description": "dataset = push to default dataset; add 'csv' to also save CSV to Key-Value Store.",
                "enum": [
                  "dataset",
                  "dataset,csv"
                ],
                "enumTitles": [
                  "📄 Dataset only",
                  "📄 Dataset + CSV in Key-Value Store"
                ]
              },
              "includeReasoning": {
                "title": "💬 Include reasoning",
                "type": "boolean",
                "description": "Include a human-readable explanation in each result item.",
                "default": true
              }
            },
            "default": {
              "format": "dataset",
              "includeReasoning": true
            },
            "additionalProperties": false
          },
          "webhook": {
            "title": "🔔 Webhook",
            "type": "object",
            "description": "Optional destination for POST requests containing result batches.",
            "properties": {
              "url": {
                "title": "🌍 Webhook URL",
                "type": "string",
                "description": "http or https endpoint to receive JSON result batches."
              },
              "batchSize": {
                "title": "📦 Batch size",
                "type": "integer",
                "description": "Number of results per webhook request.",
                "minimum": 1,
                "default": 100
              },
              "includeRunInfo": {
                "title": "ℹ️ Include run info",
                "type": "boolean",
                "description": "Include run ID, actor ID, and batch index in the webhook payload.",
                "default": true
              }
            },
            "default": {
              "batchSize": 100,
              "includeRunInfo": true
            },
            "additionalProperties": false
          },
          "limits": {
            "title": "⚙️ Limits",
            "type": "object",
            "description": "Concurrency and timeout settings for local runs and production runs.",
            "properties": {
              "maxEmails": {
                "title": "🔢 Max emails",
                "type": "integer",
                "description": "Maximum number of emails to process in one run.",
                "minimum": 1,
                "default": 50000
              },
              "concurrency": {
                "title": "🚦 Concurrency",
                "type": "integer",
                "description": "Number of email checks to process in parallel.",
                "minimum": 1,
                "default": 20
              },
              "dnsTimeoutMs": {
                "title": "⏱️ DNS timeout (ms)",
                "type": "integer",
                "description": "Timeout for each DNS MX lookup in milliseconds.",
                "minimum": 1,
                "default": 5000
              },
              "overallTimeoutMs": {
                "title": "⌛ Overall timeout (ms)",
                "type": "integer",
                "description": "Maximum run time in milliseconds.",
                "minimum": 1,
                "default": 1200000
              }
            },
            "default": {
              "maxEmails": 50000,
              "concurrency": 20,
              "dnsTimeoutMs": 5000,
              "overallTimeoutMs": 1200000
            },
            "additionalProperties": 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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}