> ## 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 Review Response Rate Over Time

> Track review response rate, answered reviews, and unanswered reviews over time.

```
get_review_response_rate_over_time
```

## Description

Returns response-rate trends with an optional previous-period comparison. Use it to measure how consistently the business responds and whether performance is improving.

## 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

```
Has our review response rate improved this quarter compared with last quarter?
```

## Example Response

```json theme={null}
{
  "summary": {
    "actual": {
      "totalCount": 94,
      "avgRating": 4.2,
      "responseRate": 76,
      "unrespondedRate": 24,
      "unrespondedCount": 23,
      "respondedCount": 71,
      "unrespondedCountGrowth": -17.9,
      "respondedCountGrowth": 14.5,
      "totalCountGrowth": 5.6,
      "responseRateGrowth": 8.6
    },
    "compare": {
      "totalCount": 89,
      "avgRating": 4.1,
      "responseRate": 70,
      "unrespondedRate": 30,
      "unrespondedCount": 28,
      "respondedCount": 62
    }
  },
  "dataPoints": [
    {
      "actual": {
        "label": "Jul 1, 2026 - Jul 7, 2026",
        "shortLabel": "Jul 1 - Jul 7",
        "totalCount": 24,
        "startDate": "07/01/2026",
        "endDate": "07/07/2026",
        "responseRate": 79,
        "unrespondedCount": 5,
        "respondedCount": 19
      },
      "compare": {
        "label": "Apr 1, 2026 - Apr 7, 2026",
        "shortLabel": "Apr 1 - Apr 7",
        "totalCount": 22,
        "startDate": "04/01/2026",
        "endDate": "04/07/2026",
        "responseRate": 73,
        "unrespondedCount": 6,
        "respondedCount": 16
      }
    }
  ],
  "groupByType": "week",
  "dataPresent": true
}
```

## Response Fields

`summary.actual` and `summary.compare` include total, responded, and unanswered counts and rates. `dataPoints` contains the same metrics for each time bucket. `groupByType` identifies the bucket size, and `dataPresent` indicates whether the period contains data.

## Notes

* Both comparison dates must be provided for comparison data to be applied. When neither is supplied, `summary` and each `dataPoints` entry contain only `actual` — no `compare` key at all.
* When `startDate`/`endDate` are both omitted, the live API does **not** default to 3 months back — it returned full account history (`dateDiff` of 13,000+ days) grouped by year in testing. Pass explicit dates for a bounded window.
