---
title: "Cross-tabulation aggregation grouped by one dimension"
method: GET
path: "/stats/breakdown.json"
tags: ["Stats"]
---

# Cross-tabulation aggregation grouped by one dimension

`GET /stats/breakdown.json`

## Request

- Base URL: `https://api.openarchieven.nl/1.1`
- URL: `https://api.openarchieven.nl/1.1/stats/breakdown.json`
- Auth: none declared

Returns record counts filtered by any combination of archive, source type, event type, event place and year range, grouped by ONE chosen dimension (archive, sourcetype, eventtype, place or year). Use this endpoint to answer questions such as "how many Bidprentjes per archive?" or "how many marriages per year in Amsterdam?". The response includes the total filtered record count, the total number of distinct groups (capped at 750) and the top-N groups according to the chosen sort.

## Query parameters

- `group_by` 'archive' | 'sourcetype' | 'eventtype' | 'place' | 'year', required
- `archive_code` string
- `sourcetype` string
- `eventtype` 0 | 1 | 2 | 3 | 6
- `eventplace` string
- `year_start` integer
- `year_end` integer
- `min_count` integer
- `number_show` integer
- `sort` 'count_desc' | 'count_asc' | 'name_asc'
- `lang` 'nl' | 'en' | 'de' | 'fr'
- `callback` string

## Response `200`

Cross-tabulation breakdown.

- BreakdownResponse: Cross-tabulation result returned by `/stats/breakdown.json`. Records matching the supplied filters are aggregated on the dimension chosen by `group_by`.
  - `group_by` 'archive' | 'sourcetype' | 'eventtype' | 'place' | 'year', required: Dimension on which the results are grouped.
  - `filters` object: Echoes the filter parameters supplied by the caller. Only filters actually present in the request are echoed; defaults are not.
  - `total_records` integer, required: Total number of records matching the supplied filters.
  - `total_groups` integer, required: Total distinct groups matching `min_count`. Capped at 750 (the SOLR_FACET_MAX limit). When this equals 750 the true number of groups may be higher.
  - `results` BreakdownGroup[], required: Top-N groups according to the chosen sort, truncated to `number_show`.
    - `key` string, required: Raw facet value identifying the group. For `archive` this is the archive_code; for `sourcetype` and `eventtype` it is the Dutch raw value; for `place` it is the place name; for `year` it is the year as a string.
    - `label` string: Human-readable label, localised when `lang` is supplied. Only present for `archive`, `sourcetype` and `eventtype` groupings.
    - `count` integer, required: Number of records in this group after filters are applied.

## Other responses

- `400`: Invalid parameters
- `429`: Too Many Requests — rate limit of 4 requests per second per IP exceeded.

---

[API](https://skmtc.dev/openarchieven/apis/open-archives-api.md) · [All operations](https://skmtc.dev/openarchieven/apis/open-archives-api/llms.txt) · [OpenAPI document](https://skmtc.dev/openarchieven/apis/open-archives-api/revisions/4ff4685dd9e9?raw)
