---
url: https://docs.dataflair.ai/stats/operator-api/timezone-and-backfill.md
description: >-
  How DataFlair sets the date range of each pull, which timezone the dates are
  in, and how late data is corrected.
---

# Timezone and backfill

DataFlair does not ask for one day at a time. Each pull asks for a range of days and stores every row it gets. That is how late data is corrected.

## The date range

Every scheduled pull sends:

* `from`: today minus the program's backfill days.
* `to`: today.

Both are calendar dates in UTC, in the form `YYYY-MM-DD`, and both are inclusive. Read them as UTC dates.

The backfill is set for each program. Its default is **14 days**. A program with the default asks for 15 calendar days: 14 days back and today.

| Example (today is 2026-02-20 UTC) | `from` | `to` |
| --- | --- | --- |
| Backfill of 14 days | `2026-02-06` | `2026-02-20` |
| Backfill of 3 days | `2026-02-17` | `2026-02-20` |

## Timezone

DataFlair sends `from` and `to` as UTC dates. Return each row with the `date` of your own reporting day for that range.

A program also has a timezone setting, and its default is UTC. The date range of a pull is worked out in UTC and does not use that setting.

## Late data

DataFlair stores each row by program, date and affiliate. When a later pull returns the same day and affiliate, it replaces the stored numbers with the new ones. A conversion that reaches your reporting a day late is corrected by the next pull, as long as that day is still inside the backfill range.

A day older than the backfill range is not asked for again on a scheduled pull. An operator can ask for a longer range by hand from the Integrations page, up to 3 years. The end of a manual range cannot be in the future.

Send the full row every time. See [Metrics](/stats/operator-api/metrics).

## Days that are not finished

Today is always inside the range, so DataFlair asks for a day that is still running. Return what you have. The next pull replaces it.

Some operators refuse the current day. If your API cannot answer for today, return an empty `rows` array for it, or return `200` for the closed days only. DataFlair's own connection test asks for yesterday only for this reason.
