Skip to contentSkip to navigationSkip to topbar
On this page

Get Engagement Quality Scores



API Overview

api-overview page anchor

The SendGrid Engagement Quality (SEQ) API allows you to retrieve metrics that define the quality of your email program.

An SEQ score is correlated with:

  • The quality of the data in a sender's program.
  • How "wanted" the sender's email is by their recipients.

Because "wanted" email and deliverability are closely related, a higher SEQ metric is correlated with greater deliverability. This means the higher your SEQ score, the more likely you are to land in your recipients' inboxes. See the SEQ Overview page to understand SEQ, how it's calculated, and how you can address your score. The SEQ endpoints allow you to retrieve your scores and scores for your Subusers.

(information)

Info

SendGrid Engagement Quality (SEQ) scores are stored for a maximum of 90 days.

(information)

Info

The SendGrid Engagement Quality API is available across all SendGrid plans(link takes you to an external page), including the free tier. If the API does not return a score, it's likely that you have not enabled open tracking, or your account is not meeting the activity threshold required to generate a score.

To receive an SEQ score, the SendGrid account or Subuser must:


GET/v3/engagementquality/scores

Base url: https://api.sendgrid.com (for global users and subusers)

Base url: https://api.eu.sendgrid.com (for EU regional subusers)

This operation allows you to retrieve your SendGrid Engagement Quality (SEQ) scores for a specified date range. A successful request with this API operation will return either a 200 or 202 response.

202

202 page anchor

This operation returns a 202 response when SendGrid does not yet have scores available for the specified date range. Scores are calculated asynchronously from requests to this endpoint. This means a score may be available for the specified date at a later time, but a score is not available at the time of your API request.

A 200 response will include all available scores beginning on the from and ending on the to dates specified. The score and metrics properties will be omitted from the response for any days in which the user is not eligible to receive a score. The score property represents a user's overall engagement quality. The metrics property provides additional scores for the input categories that contribute to that overall score. All scores range from 1 to 5 with a higher number representing better engagement quality. See SendGrid Engagement Quality Overview for more information


Property nameTypeRequiredDescription
Authorizationstringrequired
Default: Bearer <<YOUR_API_KEY_HERE>>

on-behalf-ofstring

Optional

The on-behalf-of header allows you to make API calls from a parent account on behalf of the parent's Subusers or customer accounts. You will use the parent account's API key when using this header. When making a call on behalf of a customer account, the property value should be "account-id" followed by the customer account's ID (e.g., on-behalf-of: account-id <account-id>). When making a call on behalf of a Subuser, the property value should be the Subuser's username (e.g., on-behalf-of: <subuser-username>). See On Behalf Of for more information.

Property nameTypeRequiredDescription
fromstring<date>required

The starting date in YYYY-MM-DD format (UTC) for which you want to retrieve scores.


tostring<date>required

The ending date in YYYY-MM-DD format (UTC) for which you want to retrieve scores.

200202400401500

200 OK

SchemaExample
Property nameTypeRequiredDescriptionChild properties
resultarray[object]

An array of objects containing SendGrid Engagement Quality scores and their associated data.

Get Engagement Quality ScoresLink to code sample: Get Engagement Quality Scores
1
const client = require("@sendgrid/client");
2
client.setApiKey(process.env.SENDGRID_API_KEY);
3
4
const queryParams = {
5
from: "2014-02-04",
6
to: "2014-02-04",
7
};
8
9
const request = {
10
url: `/v3/engagementquality/scores`,
11
method: "GET",
12
qs: queryParams,
13
};
14
15
client
16
.request(request)
17
.then(([response, body]) => {
18
console.log(response.statusCode);
19
console.log(response.body);
20
})
21
.catch((error) => {
22
console.error(error);
23
});

Need some help?

Terms of service

Copyright © 2024 Twilio Inc.