Z2 ZI2 Verify
Start free
Docs

Batch verification

CSV upload format

How to shape a list for batch verification — columns, encoding, limits, and the results file you get back.

Input columns

One required column, three optional. Header row required (case-insensitive).

Column Required Notes
emailRFC 5322 valid; max 320 chars.
first_nameEchoed back in results for join.
last_nameSame.
custom_idYour row identifier — passed through untouched.

Encoding + delimiter

  • UTF-8 or UTF-8 with BOM.
  • Comma delimiter (RFC 4180). We do NOT auto-detect semicolons — convert first.
  • Quoted fields for values containing commas or newlines.
  • Unix (LF) or Windows (CRLF) line endings both fine.

Limits

  • Rows per file: 100,000. Larger lists — split, or use the streaming API.
  • File size: 50 MB uncompressed.
  • Duplicates: silently deduplicated within a single upload (we don't charge you twice).

Output columns

The results CSV keeps every input column and appends:

Column Values
statusvalid · invalid · catchall · disposable · role · unknown
score0–100 integer
checks_jsonJSON blob with syntax, mx, spf, dmarc, smtp, role, disposable, catch_all
probed_atISO 8601 UTC
receipt_kidEd25519 key id used (e.g., v1)
receipt_sigbase64url signature over the canonical row

Sample

CSV
email,first_name,last_name,custom_id
[email protected],Sarah,Chen,C-101
[email protected],Mike,Ross,C-102
[email protected],,,C-103