Skip to content

Delivery score API

This API endpoint is in beta

Identifying ongoing deliverability issues

Receiving a bounce with a reputation_score flag is a strong indicator that you should consider removing the recipient from your lists. But what about recipients with ongoing deliverability problems who don't generate hard bounces?

To uncover these issues, Sendamatic calculates a delivery score by comparing delivery attempts to failures. This helps you pinpoint:

  • Abandoned addresses - Consistently over quota, and not accepting mail
  • Misconfigured addresses, servers and domains - Constantly rejecting messages due to mail loops and similar issues
  • Expired domains - Messages never deliver; they only defer before eventually being discarded

Addresses with delivery scores at or near zero warrant further investigation, as this likely signals an ongoing deliverability issue.

Notes

  • Considers address delivery history from the past 30 days
  • Scores based solely on your account's own delivery history to each address
  • Cached delivery scores may be up to 5 minutes old
  • Rate limited to 86,400 API calls per day per account
GET /v1/delivery_score/{email}

Path parameters

email

The email address to score

Examples

curl -H "x-api-key: {mail-credential-user}-{mail-credential-pass}" \ 
  https://api.sendamatic.net/v1/delivery_score/{email}

Output

HTTP status: 200

{
    "attempts": 1439,
    "bounces": 1426,
    "rejections": 1,
    "total_failures": 1427,
    "complaints": 0,
    "days": 31,
    "deferrals": 3,
    "deliveries": 1435,
    "score": 0.01
}
    {
        "type": "object",
        "properties": {
            "attempts": {
                "type": "integer",
                "description": "The total number of delivery attempts to the address"
            },
            "bounces": {
                "type": "integer",
                "description": "The number of bounce messages received after delivery"
            },
            "rejections": {
                "type": "integer",
                "description": "Messages not accepted for delivery"
            },
            "total_failures": {
                "type": "integer",
                "description": "The sum of bounces and rejections"
            },
            "complaints": {
                "type": "integer",
                "description": "The number of abuse complaints received for the address"
            },
            "days": {
                "type": "integer",
                "description": "The number of days the data covers"
            },
            "deferrals": {
                "type": "integer",
                "description": "How many times messages to this address were deferred"
            },
            "deliveries": {
                "type": "integer",
                "description": "The number of messages accepted by the recipient mail server"
            },
            "score": {
                "type": "number",
                "description": "(deliveries - bounces) / attempts"
            }
        },
        "required": [
            "attempts",
            "bounces",
            "rejections",
            "total_failures",
            "complaints",
            "days",
            "deferrals",
            "deliveries",
            "score"
        ]
    }

Notes

attempts
The total number of delivery attempts to the address
bounces
The number of bounce messages received after delivery
rejections
Messages not accepted for delivery
total_failures
The sum of bounces and rejections
complaints
The number of abuse complaints received for the address
days
The number of days the data covers
deferrals
How many times messages to this address were deferred
deliveries
The number of messages accepted by the recipient mail server
score

(deliveries - bounces) / attempts

Values between 0 and 1, rounded to 2 decimal places