PostHog Capture Treats an Epoch Timestamp as Ingestion Time
You backfill six months of user signed up events into PostHog through the capture API. The request returns 200. Insights show a spike today, not a curve across 2025. The events are not missing. They are stamped with the time PostHog received them. { "api_key" : "phc_abc123" , "event" : "user signed up" , "distinct_id" : "user-10024" , "timestamp" : 1770000000 } PostHog documents timestamp as ISO…
In the process of backfilling six months of user sign-up events into PostHog using the capture API, a spike in insights was observed for today's date instead of a gradual curve across 2025. It was discovered that the events were not missing, but rather stamped with the time PostHog received them. According to PostHog documentation, timestamps are stored in ISO 8601 format, while epoch numbers represent a different type of value.
Despite the API accepting the request with the epoch timestamp, the historical value was not applied, and the event was recorded at the time of ingestion, which was 2026-07-26T06:00:00Z. Testing with Pixellint, an open-source linter for pixels and analytics payloads, revealed that the `timestamp` must be in ISO 8601 format, not an epoch number.
The tool reported an error stating that the `timestamp` value `1770000000` did not match the required format. To adhere to PostHog's requirements, events should be sent with an ISO 8601 timestamp, such as `2026-07-26T06:00:00Z`.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.