Overview
All data in our system is stored in UTC, but our processing runs on an EST (Eastern Standard Time) schedule. Understanding how date ranges work is critical to querying the correct data for your use case.Incorrect timezone handling is the most common cause of missing or unexpected data in API responses. Please read this guide carefully.
System Behavior
Data Processing Schedule
Our system processes data according to the EST timezone:- The “day” of January 1st EST starts at 00:00 EST (05:00 UTC)
- The “day” of January 1st EST ends at 23:59 EST (04:59 UTC next day)
Date Format Support
The API accepts dates in multiple formats:- Date only (recommended for daily queries):
2025-01-01
- Date and time without timezone:
2025-01-01T00:00:00
- Date and time with UTC timezone:
2025-01-01T05:00:00Z
How Dates Are Interpreted
Without Timezone Specification
When you provide a date without a timezone (noZ
suffix), the API interprets it as EST:
2025-01-01
→ Interpreted as2025-01-01T00:00:00 EST
→ Converted to2025-01-01T05:00:00Z
UTC2025-01-31
→ Interpreted as2025-01-31T00:00:00 EST
→ Converted to2025-01-31T05:00:00Z
UTC
With UTC Timezone (Z suffix)
When you provide a date with the Z suffix, the API interprets it as literal UTC:2025-01-01T00:00:00Z
→ Used as-is in UTC2025-02-01T00:00:00Z
→ Used as-is in UTC
Using UTC timestamps (with Z) requires you to manually convert from EST to UTC. This approach exists for backwards compatibility but is not recommended for new integrations.
Examples
Correct: Query January 2025 data (EST days)
- Start: January 1st, 00:00 EST (05:00 UTC on Jan 1st)
- End: February 1st, 00:00 EST (05:00 UTC on Feb 1st)
<=
), but since data typically doesn’t have timestamps exactly at 00:00, this effectively captures all of January.
Incorrect: Query January 2025 with UTC midnight
- Start: December 31st, 19:00 EST (00:00 UTC on Jan 1st)
- End: January 31st, 19:00 EST (00:00 UTC on Feb 1st)
Correct: Query January 2025 with UTC (manual conversion)
If you must use UTC timestamps, you need to account for the EST offset:Time Ranges
Date-only format defaults to midnight
When using date-only format, times default to00:00:00
:
Specifying exact times
You can specify exact times for more granular queries:Date range behavior
Date ranges are inclusive on both ends(start <= x <= end)
:
- All of January 1st (from 00:00 EST onwards)
- January 2nd at exactly 00:00 EST
- Since data is timestamped throughout the day, there typically isn’t data exactly at 00:00, so in practice this captures all of January 1st
end_date
to the next day at 00:00.
Best Practices
Recommended: Use date-only format without timezone for daily queries
Recommended: Use datetime without timezone for intraday queries
Avoid: Using Z suffix unless you understand UTC offset implications
Daylight Saving Time
EST observes Daylight Saving Time (DST):- Standard Time (EST): UTC-5 (typically November - March)
- Daylight Time (EDT): UTC-4 (typically March - November)
2025-07-01T04:00:00Z
UTC (not 05:00 because of DST)
Troubleshooting
Missing data at day boundaries
Problem: You’re querying January 1st but missing the first or last few hours. Solution: Make sure you’re not using theZ
suffix. Use "start_date": "2025-01-01"
instead of "start_date": "2025-01-01T00:00:00Z"
.
Data from previous/next day appearing
Problem: Your daily query includes data from adjacent days. Solution: You’re likely usingZ
suffix with midnight UTC, which doesn’t align with EST days. Remove the timezone suffix.
Unexpected DST behavior
Problem: Your queries have a 1-hour difference during DST transitions. Solution: Let the API handle DST automatically by using dates without timezone. If you must use UTC, remember the offset changes between EST (-5) and EDT (-4).Future Changes
In a future version of the API, we plan to support full ISO 8601 timezone offsets (e.g.,
-05:00
, +09:00
) to enable multi-timezone queries. Dates without timezone specification will be deprecated at that time.