{
  "openapi": "3.0.1",
  "info": {
    "title": "Email Verifier & Validator — Bulk MX, SPF, DMARC Check $0.50/1k",
    "description": "Email verifier and validator for bulk email list cleaning. Returns syntax, MX, null-MX, disposable, role, free-provider plus the full SPF, DKIM, DMARC, MTA-STS, mail-provider, ASN and domain-age record — 80+ fields per address for $0.50/1,000. Honest: no SMTP mailbox probe.",
    "version": "0.1",
    "x-build-id": "itxcYXhNMmo172Eyw"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapersdelight~email-verifier-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapersdelight-email-verifier-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~email-verifier-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapersdelight-email-verifier-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~email-verifier-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapersdelight-email-verifier-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": {
          "emails": {
            "title": "Email addresses",
            "type": "array",
            "description": "The addresses to verify, one per row. You can also paste a comma-separated list into a single row. Leave every input source empty and the actor runs a 5-address demo so it never fails with nothing to do.",
            "items": {
              "type": "string"
            }
          },
          "emailsText": {
            "title": "Paste a list (CSV, TSV or one per line)",
            "type": "string",
            "description": "Paste raw text and every address in it is extracted, in order. Handles `one@perline.com`, comma lists, CSV rows like `Jane Doe,jane@acme.com,Head of Ops`, and `Name <a@b.com>` formats. Non-address columns are ignored."
          },
          "inputDatasetId": {
            "title": "Apify dataset ID to read addresses from",
            "type": "string",
            "description": "Chain this verifier straight onto a lead scraper: paste the dataset ID of a previous run and every address in it is verified. Combine with the field name below."
          },
          "emailField": {
            "title": "Field name holding the address in that dataset",
            "type": "string",
            "description": "Which field of each dataset item holds the address. Dotted paths work (`contact.email`), and if the field holds an array every entry is verified.",
            "default": "email"
          },
          "deepChecks": {
            "title": "Deep checks (DKIM sweep, domain age, MTA-STS policy, MX network owner)",
            "type": "boolean",
            "description": "ON (default) adds the DKIM selector sweep, the RDAP registration record (domain age, expiry, registrar, EPP status), the fetched MTA-STS policy and the Team Cymru ASN/CIDR for the mail server. These are per-DOMAIN lookups, cached across your whole list, so on a typical B2B list of a few hundred distinct domains they cost very little. Switch OFF for the fastest possible pass on a very large consumer list.",
            "default": true
          },
          "checkGravatar": {
            "title": "Check Gravatar for a matching profile",
            "type": "boolean",
            "description": "ON (default) looks up gravatar.com for each address. A hit is the only per-address evidence of a real human behind the address that exists without an SMTP probe. A miss proves nothing — most real addresses have no Gravatar — so it is scored as a small positive, never as a negative.",
            "default": true
          },
          "refreshDisposableList": {
            "title": "Refresh the disposable-domain blocklist at run start",
            "type": "boolean",
            "description": "ON (default) pulls the current disposable-email-domains blocklist and merges it over the copy vendored in the image. If the download fails, or comes back implausibly small, the vendored 8,714-domain copy is used and the run says so in the log.",
            "default": true
          },
          "skipDuplicates": {
            "title": "Skip duplicate addresses (do not verify or charge them)",
            "type": "boolean",
            "description": "OFF by default, so every input row gets exactly one output row and the indexes line up with your source file. Switch ON to drop repeats before they are verified — duplicates are matched on the tag-stripped address, and on the dot-stripped form for Gmail, so `j.doe+news@gmail.com` and `jdoe@gmail.com` count as one.",
            "default": false
          },
          "maxEmails": {
            "title": "Max addresses",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many addresses. 0 = no limit.",
            "default": 0
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional, and off by default: every lookup this actor makes (DoH, RDAP, MTA-STS, Gravatar) answered 200 without a proxy when measured on 2026-09-02. Turn one on if you are verifying very large lists and want the Gravatar requests spread over more IPs. DNS itself always uses the container resolver and is never proxied.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}