Enrich Email Verification API
Validate email addresses for deliverability.
Validate email addresses for deliverability.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/enrich-so-email-verification-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Enrich Email Verification API
description: 'Enrich (enrich.so) is a person and company data enrichment API. From one REST interface it resolves professional profiles from an email address (reverse email lookup), finds and verifies professional email addresses, finds phone/mobile numbers, resolves a company and geolocation from an IP address, scrapes LinkedIn company followers, and searches a lead-finder database of people and organizations. All requests use the base URL https://dev.enrich.so/api/v3 and authenticate with an API key passed either in the `x-api-key` header or as `Authorization: Bearer`. Usage is metered against a prepaid credit balance; "not found" results are refunded.
Grounding note: the single-lookup endpoints in this document (POST /reverse-lookup/lookup, POST /email-finder, POST /email-validation, GET /reverse-lookup/phones, POST /ip-to-company, POST /company-follower, POST /lead-finder/search, POST /lead-finder/reveal) and their credit costs are confirmed from the live Enrich documentation. The batch / progress / results sub-paths are modeled from the documented batch-and-poll pattern (submit -> check progress -> get results) and their exact URL segments should be confirmed against the current docs before code generation. Modeled operations are marked with `x-endpoint-modeled: true`.'
version: '3.0'
contact:
name: Enrich
url: https://www.enrich.so
termsOfService: https://www.enrich.so/terms
servers:
- url: https://dev.enrich.so/api/v3
description: Enrich API v3
security:
- apiKeyHeader: []
- bearerAuth: []
tags:
- name: Email Verification
description: Validate email addresses for deliverability.
paths:
/email-validation:
post:
operationId: validateEmail
tags:
- Email Verification
summary: Validate a single email
description: Checks whether an email is deliverable, returning valid, invalid, or risky along with confidence, mail provider, and catch-all status. 1 credit per request; not charged when the result is risky.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EmailValidationRequest'
responses:
'200':
description: Validation result.
content:
application/json:
schema:
$ref: '#/components/schemas/EmailValidationResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/InsufficientCredits'
'429':
$ref: '#/components/responses/RateLimited'
/email-validation/batch:
post:
operationId: validateEmailsBatch
tags:
- Email Verification
summary: Validate emails in batch
description: Submits up to 500,000 emails for asynchronous validation.
x-endpoint-modeled: true
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BatchEmailValidationRequest'
responses:
'202':
description: Batch accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/BatchSubmitResponse'
components:
schemas:
EnrichmentMeta:
type: object
description: Metadata returned with every response, including remaining credit balance.
properties:
creditsCharged:
type: integer
creditsRemaining:
type: integer
cached:
type: boolean
EmailValidationRequest:
type: object
required:
- email
properties:
email:
type: string
format: email
minLength: 1
maxLength: 254
ErrorEnvelope:
type: object
properties:
success:
type: boolean
example: false
error:
type: object
properties:
code:
type: string
message:
type: string
BatchEmailValidationRequest:
type: object
required:
- emails
properties:
emails:
type: array
items:
type: string
format: email
BatchSubmitResponse:
type: object
properties:
success:
type: boolean
data:
type: object
properties:
batchId:
type: string
status:
type: string
EmailValidationResponse:
type: object
properties:
success:
type: boolean
meta:
$ref: '#/components/schemas/EnrichmentMeta'
data:
type: object
properties:
status:
type: string
enum:
- valid
- invalid
- risky
confidence:
type: number
mailProvider:
type: string
catchAll:
type: boolean
responses:
RateLimited:
description: Rate limit exceeded. Includes a Retry-After header.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
InsufficientCredits:
description: Not enough credits to complete the request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
Unauthorized:
description: Missing, invalid, or disabled API key.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
securitySchemes:
apiKeyHeader:
type: apiKey
in: header
name: x-api-key
description: API key (prefixed sk_) passed in the x-api-key header.
bearerAuth:
type: http
scheme: bearer
description: API key passed as Authorization Bearer token.