# Get inbound Apple Messages for Business statistics by business

`GET /v1/amb/stats/inbound/businesses`

Returns inbound received counts grouped by business, for the requested period. Rows are ranked by received volume descending and capped at the requested `limit` (default 50, max 200). Rows are attributed to when the inbound event occurred, not to any earlier outbound message. This channel has no delivery receipt and no derived rate, so each row carries only the raw `received` count.
The maximum window is 365 days; a longer range returns `422`. Historical dates are supported within the maximum window length; the requested dates are not shifted forward. A breakdown is already a single-dimension view and takes no dimension filter; to restrict statistics to a single business, use the inbound summary, daily, or hourly statistics instead.

## Code samples

**TypeScript**

```ts
const result = await bird.amb.stats.inbound.byBusiness({ limit: 2 });
console.log(result);
```

Examples: [TypeScript](/docs/api/reference/get-amb-inbound-stats-by-business.ts.md) · [Python](/docs/api/reference/get-amb-inbound-stats-by-business.py.md) · [Go](/docs/api/reference/get-amb-inbound-stats-by-business.go.md) · [PHP](/docs/api/reference/get-amb-inbound-stats-by-business.php.md) · [CLI](/docs/api/reference/get-amb-inbound-stats-by-business.cli.md) · [MCP](/docs/api/reference/get-amb-inbound-stats-by-business.mcp.md) · [cURL](/docs/api/reference/get-amb-inbound-stats-by-business.curl.md)

## Example response `200`

```json
{
  "period": {
    "from": "2026-05-01",
    "to": "2026-05-25",
    "data_as_of": "2026-05-25T14:03:10Z"
  },
  "attribution": "accepted_time",
  "data": [
    {
      "business_id": "abz_01krdgeqcxet5s7t44vh8rt9mg",
      "received": 640
    }
  ],
  "total": 1
}
```

## Query parameters

- `from` (string): Inclusive start of the window, a calendar day (YYYY-MM-DD). Interpreted in `timezone`, or UTC when omitted. Must not be after `to`. Max window 365 days. Defaults to 30 days before `to` when omitted.
- `to` (string): Inclusive end of the window, a calendar day (YYYY-MM-DD). Interpreted in `timezone`, or UTC when omitted. Max window 365 days. Defaults to today in that timezone when omitted.
- `timezone` (string): IANA timezone identifier used to group statistics, for example `Asia/Kathmandu`. The default is UTC. Day and hour boundaries, including the default window when `from` and `to` are omitted, follow this timezone. When this parameter is set, pass `from` and `to` as calendar days or `Z` instants instead of timestamps with explicit UTC offsets.
- `limit` (integer): Maximum number of business rows to return, ranked by received volume descending.

## Response body

- `period` (object, required): The window the response covers (echoed back), plus `data_as_of`.
- `period.from` (string, required): Inclusive start of the window, as a calendar day (`YYYY-MM-DD`) or an RFC 3339 hour boundary. Historical starts are preserved; the maximum request length does not impose a historical cutoff.
- `period.to` (string, required): Inclusive end of the window, as a calendar day (`YYYY-MM-DD`) or an RFC 3339 hour boundary.
- `period.data_as_of` (nullable string): Latest time reflected in the statistics. More recent events might not be included yet. Null when the freshness boundary is unavailable.
- `attribution` (string, required)

  Always `event_time` for inbound statistics.

  Possible values: `accepted_time`, `event_time`
- `data` (array of object, required): Business rows ranked by received-message volume descending, capped at the requested `limit`. A business with no received messages in the period is absent rather than zero-filled, because unlike a time bucket it is not part of a continuous axis.
- `data.business_id` (string, required): The business that received these messages.
- `data.received` (integer, required): Distinct messages received by this business in the period.
- `total` (integer, required): Total distinct businesses with received messages in the period, regardless of `limit`.

## Related resources

- [Should I use a Bird SDK or call the API directly?](/explained/platform/should-i-use-an-sdk-or-call-the-api-directly) (answer)
- [Build your first integration](/learn/paths/integration) (course)
- [Send your first email](/docs/get-started/send-your-first-email) (docs)

[Get an implementation brief](/learn/workspace?topic=api-basics)
