{
  "openapi": "3.0.1",
  "info": {
    "title": "Bulk Email Verifier, Finder and Deliverability Checker",
    "description": "Verify, find, and grade emails without the guesswork. Unlike cheaper checkers that quietly mark a blocked connection as 'invalid,' this one tells you the truth: verified, invalid, or honestly unknown, every time.",
    "version": "0.0",
    "x-build-id": "5jw1aojA5dPEbcACG"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/neverbounce~email-finder-and-verifier/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-neverbounce-email-finder-and-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/neverbounce~email-finder-and-verifier/runs": {
      "post": {
        "operationId": "runs-sync-neverbounce-email-finder-and-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/neverbounce~email-finder-and-verifier/run-sync": {
      "post": {
        "operationId": "run-sync-neverbounce-email-finder-and-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": "Email addresses to verify",
            "type": "array",
            "description": "List of specific email addresses to check (format, MX, disposable/free/role detection, and a confidence score from the domain's DNS and email-authentication setup). Use the Bulk edit button to paste many at once, or skip this and upload a CSV in the field below instead.",
            "items": {
              "type": "string"
            }
          },
          "emailsFile": {
            "title": "Or upload a CSV of emails",
            "type": "string",
            "description": "Optional alternative to the list above. CSV file with a single column of email addresses and no header row. Rows here are combined with any addresses entered above."
          },
          "contacts": {
            "title": "Contacts to find emails for",
            "type": "array",
            "description": "List of {firstName, lastName, domain, linkedinUrl}. firstName, lastName, and domain (the company's website domain, e.g. example.com) are all mandatory per contact. LinkedIn URL (optional) is passed straight through to the result for your own reference. Generates common corporate email patterns and scores the best candidate. Enable website/GitHub/Gravatar checks below for stronger evidence than pattern guessing alone, all at no extra cost. You can also skip this and upload a CSV in the field below instead."
          },
          "contactsFile": {
            "title": "Or upload a CSV of contacts",
            "type": "string",
            "description": "Optional alternative to the list above. CSV file with a header row and the columns firstName, lastName, domain (all three required per row; domain is the contact's company website domain, e.g. example.com), plus an optional linkedinUrl column. Rows here are combined with any contacts entered above."
          },
          "domains": {
            "title": "Domains to discover role-based emails for",
            "type": "array",
            "description": "List of domains. Tests common role addresses (info@, contact@, sales@, support@, hello@, admin@).",
            "items": {
              "type": "string"
            }
          },
          "verificationLevel": {
            "title": "Verification level",
            "enum": [
              "format",
              "mx"
            ],
            "type": "string",
            "description": "'format' only checks syntax. 'mx' (default) also checks DNS MX records, identifies the provider, and factors the domain's SPF/DKIM/DMARC authentication setup into the confidence score. There is no live SMTP option - see README for why.",
            "default": "mx"
          },
          "maxPatternsToTest": {
            "title": "Max patterns to test per contact",
            "minimum": 1,
            "maximum": 14,
            "type": "integer",
            "description": "How many common corporate email formats to generate and rank per contact.",
            "default": 8
          },
          "checkDeliverability": {
            "title": "Check domain deliverability (SPF/DKIM/DMARC)",
            "type": "boolean",
            "description": "DNS-based check of the domain's email authentication setup. Produces a letter grade (A+ to F) and a 0-100 score plus a list of issues found.",
            "default": true
          },
          "checkWebsite": {
            "title": "Search company website for emails",
            "type": "boolean",
            "description": "Contact mode only. Scrapes the domain's homepage / contact / about / team pages for an email that plausibly belongs to this person. A direct match here overrides pattern guessing and is reported as resultStatus 'valid'. Free, no extra cost, on by default.",
            "default": true
          },
          "checkGitHub": {
            "title": "Search GitHub commits",
            "type": "boolean",
            "description": "Contact mode only. Searches public GitHub commit history for an author-email match on the target domain. Useful for developer contacts. Unauthenticated requests are rate-limited to about 10/minute - add a token below for higher limits. Free, no extra cost, on by default.",
            "default": true
          },
          "checkGravatar": {
            "title": "Check Gravatar profiles",
            "type": "boolean",
            "description": "Contact mode only. Checks whether the best-candidate email has a Gravatar profile, adding a small confidence boost if so. Free, no extra cost, on by default.",
            "default": true
          },
          "githubToken": {
            "title": "GitHub API token (optional)",
            "type": "string",
            "description": "Personal access token for higher-rate-limit GitHub commit search. Only used when checkGitHub is on."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}