# MillionVerifier

> Verify email addresses in real time with MillionVerifier, check your remaining verification credits, and monitor bulk email-list verification files.

App · Email · 4 actions. Web page: https://docs.lodol.com/docs/integrations/millionverifier

## Actions

### Get Bulk File Info

Look up the status and per-result counts of a single bulk verification file by its file id. Returns the file name, processing status (in_progress, finished, or canceled), progress percent, total and unique email counts, and how many addresses came back ok, catch_all, disposable, invalid, or unknown. Use this to poll a bulk job until it finishes. Get the file id from List Bulk Files or the MillionVerifier dashboard.

**Inputs**

- File ID (`file_id`, text, required): The id of the bulk file to look up, as returned by List Bulk Files or shown in the MillionVerifier dashboard.

**Outputs**

- `catch_all` (number): Count of catch-all addresses
- `credit` (number): Credits this file consumed
- `disposable` (number): Count of disposable addresses
- `estimated_time_sec` (number): Estimated seconds remaining while in progress
- `file_id` (text): Unique file identifier
- `file_name` (text): Original uploaded file name
- `invalid` (number): Count of invalid addresses
- `ok` (number): Count of deliverable (ok) addresses
- `percent` (number): Verification progress from 0 to 100
- `raw_response` (object): The full original MillionVerifier response
- `status` (text): Processing status: in_progress, finished, or canceled
- `total_rows` (number): Total rows uploaded
- `unique_emails` (number): Number of unique addresses in the file
- `unknown` (number): Count of addresses that could not be verified
- `verified` (number): Number of addresses verified so far

**Example output**

```json
{
  "catch_all": 41,
  "createdate": "2026-07-27 09:14:02",
  "credit": 1000,
  "disposable": 7,
  "estimated_time_sec": 0,
  "file_id": "aBcD1234",
  "file_name": "newsletter-list.csv",
  "invalid": 96,
  "ok": 812,
  "percent": 100,
  "raw_response": {
    "catch_all": 41,
    "credit": 1000,
    "disposable": 7,
    "error": "",
    "estimated_time_sec": 0,
    "file_id": "aBcD1234",
    "file_name": "newsletter-list.csv",
    "invalid": 96,
    "ok": 812,
    "percent": 100,
    "status": "finished",
    "total_rows": 1000,
    "unique_emails": 1000,
    "unknown": 44,
    "verified": 1000
  },
  "reverify": 0,
  "status": "finished",
  "total_rows": 1000,
  "unique_emails": 1000,
  "unknown": 44,
  "unverified": 0,
  "updated_at": "2026-07-27 09:19:41",
  "verified": 1000
}
```

### Get Remaining Credits

Return the number of email-verification credits remaining on the connected MillionVerifier account. Useful for checking the balance before running a large verification job.

**Inputs**: None.

**Outputs**

- `credits` (number): Number of email-verification credits remaining

**Example output**

```json
{
  "credits": 481817
}
```

### List Bulk Files

List the bulk email-list files uploaded to the connected MillionVerifier account, most recent first. Each entry includes the file id, name, processing status (in_progress, finished, or canceled), progress percent, and per-result counts. Use the file id with Get Bulk File Info to poll a specific file. Optionally page through results or filter by status.

**Inputs**

- Status (`status`, text): Optional. Only return files with this status. Leave empty to include all files. One of: `in_progress` (In progress), `finished`, `canceled`.
- Limit (`limit`, number): Optional. Maximum number of files to return, from 1 to 1000. From 1 to 1000.
- Offset (`offset`, number): Optional. Number of files to skip before returning results, for paging. Defaults to 0. At least 0.

**Outputs**

- `count` (number): Number of files returned on this page
- `files` (list): The bulk files on this page.
- `raw_response` (object): The full original MillionVerifier response
- `total` (number): Total files matching the query across all pages, if reported by the API (otherwise null)

**Example output**

```json
{
  "count": 2,
  "files": [
    {
      "catch_all": 41,
      "createdate": "2026-07-27 09:14:02",
      "disposable": 7,
      "file_id": "aBcD1234",
      "file_name": "newsletter-list.csv",
      "invalid": 96,
      "ok": 812,
      "percent": 100,
      "status": "finished",
      "total_rows": 1000,
      "unique_emails": 1000,
      "unknown": 44,
      "updated_at": "2026-07-27 09:19:41"
    },
    {
      "createdate": "2026-07-28 08:02:11",
      "file_id": "eFgH5678",
      "file_name": "webinar-signups.csv",
      "percent": 63,
      "status": "in_progress",
      "total_rows": 5200,
      "unique_emails": 5200,
      "updated_at": "2026-07-28 08:05:37"
    }
  ],
  "raw_response": {
    "files": [
      {
        "file_id": "aBcD1234",
        "file_name": "newsletter-list.csv",
        "percent": 100,
        "status": "finished",
        "unique_emails": 1000
      },
      {
        "file_id": "eFgH5678",
        "file_name": "webinar-signups.csv",
        "percent": 63,
        "status": "in_progress",
        "unique_emails": 5200
      }
    ],
    "total": 2
  },
  "total": 2
}
```

### Verify Email

Validate a single email address in real time and return its deliverability result. The result is one of ok, catch_all, unknown, error, disposable, or invalid, alongside a coarse quality rating (good, risky, or bad), a more specific subresult, whether the address is on a free provider or is a role address (like info@ or support@), and a typo suggestion when one is likely. Each successful, billable check consumes one MillionVerifier credit.

**Inputs**

- Email address (`email`, text, required): The email address to validate, for example jane@example.com.
- Timeout (seconds) (`timeout`, number): Optional. How many seconds MillionVerifier waits for the mailbox server before giving up, from 2 to 60. Leave empty to use the default of 20 seconds. From 2 to 60.

**Outputs**

- `credits` (number): Verification credits remaining after this call
- `didyoumean` (text): A suggested correction for a likely typo, or empty
- `email` (text): The email address that was validated
- `executiontime` (number): How long the check took, in seconds
- `free` (true/false): Whether the domain is a free email provider (e.g. gmail.com)
- `livemode` (true/false): Whether the check ran against the live service and consumed a credit (false for the free test key)
- `quality` (text): Coarse send-safety rating: good, risky, or bad
- `raw_response` (object): The full original MillionVerifier response payload
- `result` (text): Deliverability result: ok, catch_all, unknown, error, disposable, or invalid
- `resultcode` (number): Numeric code for the result: 1 ok, 2 catch_all, 3 unknown, 4 error, 5 disposable, 6 invalid
- `role` (true/false): Whether this is a role-based address such as info@ or support@
- `subresult` (text): More specific reason behind the result (may be empty)

**Example output**

```json
{
  "credits": 481817,
  "didyoumean": "",
  "email": "info@millionverifier.com",
  "executiontime": 1,
  "free": false,
  "livemode": true,
  "quality": "good",
  "raw_response": {
    "credits": 481817,
    "didyoumean": "",
    "email": "info@millionverifier.com",
    "error": "",
    "executiontime": 1,
    "free": false,
    "livemode": true,
    "quality": "good",
    "result": "ok",
    "resultcode": 1,
    "role": true,
    "subresult": ""
  },
  "result": "ok",
  "resultcode": 1,
  "role": true,
  "subresult": ""
}
```
