2

As Sendgrid's documentation makes clear, their web GUI activity page is only searchable for the past 7 days.

How do I search for activity from farther in the past?

Web API documentation is here, but I can't find anything about just plain searching for info on sent emails. All I see are endpoints for seeing particular categories of emails' various fates, like blocks, bounces, invalid emails, and "filters", which seem like actions and not like filters.

It's got to be possible to just find info about some particular sent email, right?

Ben Wheeler
  • 6,788
  • 2
  • 45
  • 55

1 Answers1

6

It's not possible. As you noted, the documentation clearly states that:

Email activity only shows the most recent 7 days. To access data in real time, we recommend that you consider implementing our Event Webhook.

If you want to record all the history associated with your account you should record and save it yourself. You can record all the emails you send provided you have an endpoint to do so. See here: https://sendgrid.com/docs/User_Guide/Settings/parse.html

Later Edit:

  1. "real time" means "as it happens", it does not mean "history searchable at any point in time".

  2. When you use an API, as a developer, the responsibility to log all API calls and responses lies with you. While it's true that bounces aren't necessarily reported in the API call response, the SendGrid API offers several ways in which you can be notified. Personal opinion: I know this functionality is often omitted in the MVP because you need to go to market as soon as possible, but an ELK stack is not that hard to set up.

  3. There are several ways you can look for bounces and other events as you can see here: https://sendgrid.com/docs/Classroom/Track/Bounces/bounce_reports_how_can_i_be_notified.html

  4. If you really need to find out what happened on day X with email send Y, you can contact their Support team. They can probably look it up for you.

Personal opinion: That 7 days is not a random number. I'm willing to bet that SendGrid does in fact log all calls you made but it can't provide them for an earlier time. When you use Facebook API, Twitter API, etc. You don't expect them to provide you with historical data of every API call you made. This is an ungodly amount of data. We're talking about an API that is used to send probably upwards of millions of emails per day, maybe even more. I believe they actually did the math and recalling historical data from earlier would put an unnecessary strain on the system, it would take a long time to answer such a request.

I'm sorry if I went on a bit of a rant but people often don't think about the volume of data needed to store such things and how much it would cost to search it.

  • "Email activity" is just the web GUI. The "To access data in real time" sentence is somewhat confusing (or maybe flat-out wrong?), since of course a great way to "access data in real time", e.g. on email engagement, is probably to send requests to their API! "In real time" is a meaningless phrase here, because it's not like they provide a historical download! And, the parse link you provided is for the *inbound* hook, right? Which is to say, for *receiving* emails? I'm concerned with emails I sent. – Ben Wheeler Jul 13 '17 at 12:38
  • @BenWheeler "in real time" means that once an email is sent using one of your API keys you will receive a copy of it as it's being sent on the configured Event Webhook endpoint. SendGrid provides an API to send emails, you can't expect it to behave as an Inbox like Gmail or Yahoo Mail. – Sebastian-Laurenţiu Plesciuc Jul 13 '17 at 12:43
  • I feel like there's so much that that description leaves out, though! "SendGrid provides an API to send emails" -- well yes, but also to investigate and access detail about sent emails. Right? Was this email blocked? Was that email reported as spam? Etc. Right? Am I understanding that correctly? I only expect it to behave as a service that provides information about my SendGrid emails' fates in general, rather than piecemeal. – Ben Wheeler Jul 13 '17 at 17:00
  • 1
    @BenWheeler I've edited the answer to provide some extra info. – Sebastian-Laurenţiu Plesciuc Jul 14 '17 at 06:54
  • 1
    Thanks, good points. I disagree somewhat with your analysis, though. – Ben Wheeler Jul 14 '17 at 12:27
  • The total cost in developer hours and AWS fees of all the SendGrid customers who must build our own solutions to SG's exclusion of email results >7 days old may well be greater, perhaps much greater, than the marginal cost of SG keeping and providing that info, given that they keep and provide a comparable order of data on a subset of email results. – Ben Wheeler Jul 14 '17 at 12:27
  • This is especially true if you consider that SG could provide full history as a premium option. Heck, they could even just keep the data in cold storage and provide a pseudo-API feature that delivers requests with a 24 hour turnaround at a steep price per request and per result MB. – Ben Wheeler Jul 14 '17 at 12:27
  • But as it stands, in the world of service providers, every capable software shop on earth will provide you a price quote for implementing a system that logs our best guess at the result of every SG email a customer sends... everyone, that is, except SG itself, which apparently won't do it for any price! I imagine that there are reasons you and I haven't cited for this decision... because as I see it, SG is leaving money on the table, and making their customers evaluate competitors who don't. – Ben Wheeler Jul 14 '17 at 12:28