canonical: https://jentic.com/apis/primeverifier.com/primeverifier

# Prime Verifier API

The Prime Verifier API verifies email addresses and finds a person's email from their name and company domain. Each verification checks syntax, DNS and MX records, disposable and role addresses, free providers, and real SMTP mailbox existence, then returns a headline result such as ok, invalid, catch_all, or disposable with a graded risk score. Single and batch calls cover up to 30 addresses at once, CSV bulk jobs handle large lists with live progress over Server-Sent Events, and webhooks report job events. Billing applies only to decisive results, so unknown and error verdicts are free.

## For AI agents

Verify an email address or find someone's work email from first name, last name, and domain. Run single checks, batches of up to 30, or CSV bulk jobs and read back a verdict and risk score.

## Scope

Does not send email, host mailing lists, or run outreach campaigns. Use for verifying and finding email addresses only.

## Capabilities

- Verify a single email address for syntax, MX records, disposable and role status, and SMTP mailbox existence
- Verify up to 30 email addresses in one synchronous batch call
- Find one person's email from firstName, lastName, and domain, with a Found or Not Found status and a Good, Risky, or Bad quality
- Resolve up to 100 contacts to email addresses in one finder batch request
- Upload a CSV for bulk verification or bulk finding and download the merged results file
- Follow a bulk job's progress live over a Server-Sent Events stream
- Register webhooks for job events and send a test delivery to confirm the URL is reachable

## Use cases

### Agent-run lead email checks

An AI agent building a prospect list needs to know which addresses are real before outreach. Through Jentic the agent searches for 'verify an email address', calls the Prime Verifier single verify operation, and reads the result verdict and risk score for each address. For contacts without an address it calls the finder with firstName, lastName, and domain, and keeps only results whose quality is Good.

Example prompt: POST `/v1/finder/single` with firstName 'Jane', lastName 'Doe', and domain 'acme.com', then POST `/v1/verify/single` with the returned email and report the result and quality

### Bulk list cleaning before a campaign

A marketing list exported as CSV can be cleaned without reformatting it. POST `/v1/jobs` accepts the original file with an emailColumn index and a dedupe flag, keeps every original column, and merges the verification columns back in at download time. While the job runs, GET `/v1/jobs/{id}/download` returns a partial file flagged with the X-Partial-Result header, so a pipeline can start working before the job completes.

Example prompt: Upload leads.csv to POST `/v1/jobs` with emailColumn 2 and dedupe true, follow GET `/v1/jobs/{id}/stream` until the done event, then download the results with GET `/v1/jobs/{id}/download`

### Signup form quality gate

A signup flow can reject disposable and invalid addresses at the point of entry. GET `/v1/verify/single` takes the email as a query parameter and returns a verdict such as ok, invalid, catch_all, or disposable, so the backend can block throwaway accounts and flag catch_all domains for review. Unknown and error verdicts are not billed, which keeps the cost of transient failures at zero.

Example prompt: Call GET `/v1/verify/single` with email 'user@example.org' and reject the signup if result is 'invalid' or 'disposable'

### Job notifications by webhook

Teams that run large verification or finder jobs can register a webhook URL with the event types they care about instead of polling. Each webhook gets an auto-generated signing secret, can be paused through the toggle or PATCH operations, and can be tested with a test delivery once active.

Example prompt: POST `/v1/webhooks` with url 'https://example.org/hooks/verify' and an events array, then POST `/v1/webhooks/{id}/test` to confirm delivery

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/verify/single` | Verify a single email address |
| POST | `/v1/verify/batch` | Verify up to 30 addresses |
| POST | `/v1/finder/single` | Find one person's email |
| POST | `/v1/finder/batch` | Find emails for up to 100 contacts |
| POST | `/v1/jobs` | Start a CSV bulk verification job |
| GET | `/v1/jobs/{id}/download` | Download bulk job results |
| GET | `/v1/credits/balance` | Get credit balance |
| POST | `/v1/webhooks` | Create a webhook |

## Key resources

- **Verification** — Single and batch email checks returning a result verdict and risk score
- **Finder** — Email discovery from first name, last name, and domain, singly, in batches of up to 100, or as CSV jobs
- **Bulk jobs** — CSV verification jobs with progress streaming, cancellation, and merged result downloads
- **Webhooks and credits** — Job event webhooks plus credit balance, transactions, packages, and orders

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 48 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 99 / 100
  - Developer Experience & Jentic Compatibility: 65 / 100
  - AI-Readiness & Agent Experience: 23 / 100
  - Agent Usability: 94 / 100
  - Security: 50 / 100
  - AI Discoverability: 64 / 100
- **View full report:** https://jentic.com/apis/primeverifier.com/primeverifier/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring Prime Verifier by hand means sending the key in the X-API-KEY header, unwrapping the status, data, and error envelope, and handling multipart CSV uploads and Server-Sent Events for bulk jobs. Through Jentic you install once, import Prime Verifier from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Prime Verifier puts the job and webhook ids in the URL path (`/v1/jobs/{id}`, `/v1/webhooks/{id}`), so a rule can pin your agent to the verification operations it needs. You choose which operations it may call, so credit-heavy or destructive ones like CSV bulk jobs, job cancellation, or webhook deletion are not included unless you add them.
- **Credential handling:** Your Prime Verifier API key is stored once, encrypted, by your own Jentic One instance and injected into the X-API-KEY header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'verify an email address' or 'find someone's work email', and Jentic returns the matching Prime Verifier operation with its input schema so the agent sends firstName, lastName, and domain in the right shape.

## Related APIs

- **ZeroBounce** — Email validation service with bulk list cleaning and scoring
- **NeverBounce** — Email verification with single checks and bulk list jobs
- **Hunter** — Email finder and domain search with verification
- **Apollo** — Sales intelligence and prospect data to source the contacts you verify

## FAQ

### What authentication does the Prime Verifier API use?

Per its OpenAPI spec, the Prime Verifier API authenticates with an API key sent in the X-API-KEY header, declared globally for its operations. You create keys in the Prime Verifier dashboard under Profile, API Keys after registration and OTP verification. Through Jentic the key is held by your own instance and attached at call time.

### Can I find someone's email address with the Prime Verifier API?

Yes. POST `/v1/finder/single` takes firstName, lastName, and domain, builds the candidate address formats itself, and probes them most-likely-first until it confirms a mailbox. The response gives a status of Found or Not Found and a quality of Good, Risky, or Bad. POST `/v1/finder/batch` handles up to 100 contacts, and POST `/v1/finder/jobs` takes a CSV for larger lists.

### What are the rate limits for the Prime Verifier API?

The OpenAPI spec does not specify request rate limits. It does state size caps: up to 30 addresses per batch verify call, up to 100 contacts per finder batch, and a 50 MB file limit for bulk verification uploads. Check https://primeverifier.com for current account limits.

### Is there a Prime Verifier MCP server?

You don't need an MCP server to give your agent Prime Verifier. Jentic connects it directly from the API Directory: import it, store your X-API-KEY once, and your agent calls the verify and finder operations on demand without loading another server's tool definitions into its context.

### How do I verify an email through Jentic?

Search Jentic for 'verify an email address', load the POST `/v1/verify/single` operation, and execute it with the email in the request body. The agent reads the result and risk score from the data object in the response. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Can I limit what my agent is allowed to do with the Prime Verifier API?

Yes. Write a rule that allows only POST `/v1/verify/single`, POST `/v1/verify/batch`, and GET `/v1/credits/balance`, so the agent can check addresses and watch its credit spend but cannot start bulk jobs or change webhooks. Every call it makes is logged for review.

### Am I charged for unknown results?

No. The Prime Verifier spec states that billing applies only to decisive results, and unknown and error verdicts are free. GET `/v1/credits/transactions` lists Added, Used, and Adjusted credit movements if you want to reconcile spend.
