> ## Documentation Index
> Fetch the complete documentation index at: https://birdeye-0229a3ce-responsetools.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Average Response Time Over Time

> Track how quickly the business responds to reviews over time.

```
get_avg_response_time_over_time
```

## Description

Returns average review response time as a time series with an optional previous-period comparison. This measures response speed, not the percentage of reviews that receive a response.

## Parameters

| Parameter          | Type           | Required | Default                                  | Description                                    |
| ------------------ | -------------- | -------- | ---------------------------------------- | ---------------------------------------------- |
| `startDate`        | string         | No       | 3 months ago when no period is requested | Start date in `MM/DD/YYYY` format              |
| `endDate`          | string         | No       | Today when no period is requested        | End date in `MM/DD/YYYY` format                |
| `reviewSites`      | list\[integer] | No       | All sources                              | Review source IDs to include                   |
| `ratings`          | list\[integer] | No       | All ratings                              | Star ratings from `0` to `5`                   |
| `businessNumbers`  | list\[integer] | No       | All locations                            | Location IDs to include                        |
| `compareStartDate` | string         | No       | —                                        | Comparison-period start in `MM/DD/YYYY` format |
| `compareEndDate`   | string         | No       | —                                        | Comparison-period end in `MM/DD/YYYY` format   |

## Example Usage

```
Did our average review response time improve this quarter?
```

## Example Response

```json theme={null}
{
  "summary": {
    "actual": {
      "avgResponseTime": { "days": 1.25, "hours": 30.0, "minutes": 1800.0 },
      "respondedCount": 138
    },
    "compare": {
      "avgResponseTime": { "days": 1.75, "hours": 42.0, "minutes": 2520.0 },
      "respondedCount": 113
    }
  },
  "dataPoints": [
    {
      "actual": {
        "label": "Jul 1, 2026 - Jul 7, 2026",
        "shortLabel": "Jul 1 - Jul 7",
        "startDate": "07/01/2026",
        "endDate": "07/07/2026",
        "avgResponseTime": { "days": 1.1, "hours": 26.4, "minutes": 1584.0 },
        "respondedCount": 34
      },
      "compare": {
        "label": "Apr 1, 2026 - Apr 7, 2026",
        "shortLabel": "Apr 1 - Apr 7",
        "startDate": "04/01/2026",
        "endDate": "04/07/2026",
        "avgResponseTime": { "days": 1.6, "hours": 38.4, "minutes": 2304.0 },
        "respondedCount": 29
      }
    }
  ],
  "groupByType": "week",
  "dataPresent": true
}
```

## Response Fields

`summary.actual` and `summary.compare` include `avgResponseTime` and `respondedCount`. `dataPoints` provides those fields for each time bucket. `groupByType` identifies the bucket size, and `dataPresent` indicates whether data exists.

## Notes

* `avgResponseTime.days`, `hours`, and `minutes` are three representations of one duration; do not add them together.
* Both comparison dates must be provided together. When neither is supplied, the response contains only `summary.actual` (and each `dataPoints` entry has only `actual`) — no `compare` key at all.
* When `startDate`/`endDate` are both omitted, the live API does **not** default to 3 months back — it returns full account history (observed `dateDiff` spanning 13,000+ days) grouped by year. Pass explicit dates for a bounded window.
