Email Reputation API

Validate email addresses for deliverability, detect disposable or risky domains, verify SMTP/MX records, and enrich email data with sender information, breach history, and risk scoring.

OpenAPI Specification

abstract-api-email-reputation.yaml Raw ↑
openapi: 3.0.3
info:
  title: Abstract API - Email Reputation API
  description: Validate email addresses for deliverability, detect disposable or risky domains, verify SMTP/MX records, and enrich email data with sender information, breach history, and risk scoring.
  version: 1.0.0
  contact:
    url: https://www.abstractapi.com/
  x-generated-from: documentation
servers:
  - url: https://emailreputation.abstractapi.com/v1
    description: Email Reputation API v1
security:
  - apiKey: []
tags:
  - name: Email Reputation
    description: Email validation and reputation operations
paths:
  /:
    get:
      operationId: getEmailReputation
      summary: Abstract API Get Email Reputation
      description: Validate an email address and retrieve reputation, deliverability, and enrichment data.
      tags:
        - Email Reputation
      parameters:
        - name: api_key
          in: query
          description: Your unique API key for the Email Reputation API.
          required: true
          schema:
            type: string
          example: abc123def456
        - name: email
          in: query
          description: The email address to validate and analyze.
          required: true
          schema:
            type: string
            format: email
          example: [email protected]
      responses:
        '200':
          description: Successful email reputation lookup
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailReputationResponse'
              examples:
                getEmailReputation200Example:
                  summary: Default getEmailReputation 200 response
                  x-microcks-default: true
                  value:
                    email: [email protected]
                    deliverability:
                      status: DELIVERABLE
                      status_detail: smtp_valid
                      is_format_valid: true
                      is_smtp_valid: true
                      is_mx_valid: true
                      mx_records:
                        - mx.example.com
                    quality:
                      score: 0.92
                      is_free_email: false
                      is_disposable: false
                      is_catchall: false
                      is_role: false
                    domain:
                      domain: example.com
                      domain_age: 9000
                      is_live_site: true
                    risk:
                      address_risk_status: low
                      domain_risk_status: low
                    breaches:
                      total_breaches: 0
        '400':
          description: Bad request - missing or invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: query
      name: api_key
      description: Unique API key per Abstract API service
  schemas:
    EmailReputationResponse:
      type: object
      description: Email reputation and validation response
      properties:
        email:
          type: string
          format: email
          description: The email address analyzed
          example: [email protected]
        deliverability:
          $ref: '#/components/schemas/Deliverability'
        quality:
          $ref: '#/components/schemas/EmailQuality'
        sender:
          $ref: '#/components/schemas/SenderInfo'
        domain:
          $ref: '#/components/schemas/DomainInfo'
        risk:
          $ref: '#/components/schemas/RiskInfo'
        breaches:
          $ref: '#/components/schemas/BreachInfo'
    Deliverability:
      type: object
      description: Email deliverability information
      properties:
        status:
          type: string
          description: Overall deliverability status
          example: DELIVERABLE
          enum:
            - DELIVERABLE
            - UNDELIVERABLE
            - RISKY
            - UNKNOWN
        status_detail:
          type: string
          description: Detailed deliverability reason
          example: smtp_valid
        is_format_valid:
          type: boolean
          description: Whether the email format is valid
          example: true
        is_smtp_valid:
          type: boolean
          description: Whether the SMTP server responded positively
          example: true
        is_mx_valid:
          type: boolean
          description: Whether valid MX records exist for the domain
          example: true
        mx_records:
          type: array
          description: List of MX records for the domain
          items:
            type: string
          example:
            - mx.example.com
    EmailQuality:
      type: object
      description: Email quality signals
      properties:
        score:
          type: number
          format: float
          description: Quality score from 0.0 to 1.0
          example: 0.92
        is_free_email:
          type: boolean
          description: Whether the email is from a free provider
          example: false
        is_username_suspicious:
          type: boolean
          description: Whether the username appears suspicious
          example: false
        is_disposable:
          type: boolean
          description: Whether the email is from a disposable provider
          example: false
        is_catchall:
          type: boolean
          description: Whether the domain accepts all emails
          example: false
        is_subaddress:
          type: boolean
          description: Whether the email uses a subaddress (+ tag)
          example: false
        is_role:
          type: boolean
          description: Whether the email is a role-based address
          example: false
        is_dmarc_enforced:
          type: boolean
          description: Whether DMARC policy is enforced
          example: true
        is_spf_strict:
          type: boolean
          description: Whether SPF is strictly enforced
          example: false
        minimum_age:
          type: integer
          description: Minimum estimated age of the email in days
          example: 365
    SenderInfo:
      type: object
      description: Sender identity information
      properties:
        first_name:
          type: string
          description: Inferred first name of sender
          example: Jane
        last_name:
          type: string
          description: Inferred last name of sender
          example: Smith
        email_provider_name:
          type: string
          description: Name of the email provider
          example: Google Workspace
        organization_name:
          type: string
          description: Organization associated with the email
          example: Example Corp
        organization_type:
          type: string
          description: Type of organization
          example: business
    DomainInfo:
      type: object
      description: Domain-level information
      properties:
        domain:
          type: string
          description: Domain extracted from email
          example: example.com
        domain_age:
          type: integer
          description: Age of the domain in days
          example: 9000
        is_live_site:
          type: boolean
          description: Whether the domain hosts a live website
          example: true
        registrar:
          type: string
          description: Domain registrar name
          example: GoDaddy
        registrar_url:
          type: string
          format: uri
          description: URL of the registrar
          example: https://www.godaddy.com
        date_registered:
          type: string
          format: date
          description: Date the domain was registered
          example: '2015-03-10'
        date_last_renewed:
          type: string
          format: date
          description: Date the domain was last renewed
          example: '2025-03-10'
        date_expires:
          type: string
          format: date
          description: Date the domain expires
          example: '2026-03-10'
        is_risky_tld:
          type: boolean
          description: Whether the TLD is associated with risky domains
          example: false
    RiskInfo:
      type: object
      description: Risk assessment for the email
      properties:
        address_risk_status:
          type: string
          description: Risk level of the specific email address
          example: low
          enum:
            - low
            - medium
            - high
            - critical
        domain_risk_status:
          type: string
          description: Risk level of the domain
          example: low
          enum:
            - low
            - medium
            - high
            - critical
    BreachInfo:
      type: object
      description: Data breach history for the email
      properties:
        total_breaches:
          type: integer
          description: Total number of breaches the email appeared in
          example: 0
        date_first_breached:
          type: string
          format: date
          description: Date of the earliest known breach
          example: '2020-01-15'
        date_last_breached:
          type: string
          format: date
          description: Date of the most recent breach
          example: '2023-06-01'
        breached_domains:
          type: array
          description: Domains where the email was breached
          items:
            type: string
          example:
            - breached-site.com
    ErrorResponse:
      type: object
      description: Error response from the API
      properties:
        message:
          type: string
          description: Human-readable error message
          example: The provided API key is invalid
        error:
          type: string
          description: Error code identifier
          example: invalid_api_key