Event exports for marketing emails hitting api call limit

Hello,

We are trying to export marketing email events (sends, opens, clicks, unsubs) to our database on daily basis for reporting purposes. But using the event exports with the private app integration, we are exceeding the 1M/day call limit. This seems odd since the volume of email sends and activity on our account is not that high. Is there a way to customize the export to only include the data that we need to send? For example, we don’t need to send every time a contact opens an email, but just a summary of the activity that day.

You cannot natively customize the event export endpoint to return summary data (like “3 opens and 2 clicks for Email ID X on Contact Y”) — but you can summarize intelligently in your own pipeline with fewer API calls by switching tactics.

Instead of:

GET /marketing/v3/email/public/events
which returns one row per interaction…

Try to:

Filter by event type (e.g., just “SENT”, “DELIVERED”, “UNSUB”)

Increase your time window to batch requests (e.g., pull 1-day chunks, not 5-minute slices)

Paginate using after cursor smartly to reduce re-fetching

Also consider:

GET /marketing/v3/email/public/events?eventType=OPEN&limit=1000
But again — this still gives you raw events.

You could also build a daily job that:

  • Pulls only events that occurred since your last run
  • Deduplicates opens and clicks on your end (e.g., group by email ID + contact ID)
  • Writes a summary row per contact/email/day to your DB like:
contact_id email_id date opens clicks unsubscribed
123 345 2025-07-03 2 1 FALSE

This allows you to reduce total API usage significantly. If you’re just sending summary records to your DB, this is best practice.

Let me know if this helps, or if you have any other questions!


:check_mark: Was I able to help answer your question? Help the community by marking it as a solution.

Brandon Woodruff
Senior Software Developer @ PearagonStill have questions? Reach out at brandon@pearagon.com

Thank you for these tips! I will pass along to our developer. I think we were using /email/public/v1/events API endpoint and not the v3 version.

Hi @LLee00

You can try using this endpoint https://api.hubapi.com/marketing/v3/emails/statistics/histogram
You can define the time period in this i.e. start Timestamp and end Timestamp, to get the statistical data.

doc link - https://developers.hubspot.com/docs/reference/api/marketing/emails/marketing-emails#get-%2Fmarketing%2Fv3%2Femails%2Fstatistics%2Fhistogram

I hope this will help you out. Please mark it as Solution Accepted and upvote to help another Community member.

Thanks!