---
title: "Get registration statistics"
method: GET
path: "/stats/registrations"
tags: ["Statistics"]
---

# Get registration statistics

`GET /stats/registrations`

## Request

- Base URL: `https://api.apino.sk/api/v1`
- URL: `https://api.apino.sk/api/v1/stats/registrations`
- Auth: HTTP bearer

Retrieve aggregated registration and termination statistics, broken down by time period, country and optionally by municipality.

Statistics are pre-computed from the full dataset and refreshed after each daily sync.

`active_count` is the running net total for that municipality — registrations minus terminations up to and including the period — i.e. the number of organizations on the register at the end of it. Organizations with no establishment date are not part of the series.

Each country is a separate series. Use `countries=SK,CZ` to retrieve both.

## Query parameters

- `period` 'monthly' | 'yearly'
- `municipality` string
- `countries` string
- `from` string
- `to` string
- `limit` integer
- `offset` integer

## Response `200`

List of statistics records

- StatsList
  - `data` OrganizationStat[]
    - `id` integer: Stat record ID
    - `period_type` 'monthly' | 'yearly': Aggregation period type
    - `period_start` string, date-time: Start of the period (first day of month/year). A timestamp at midnight UTC (`2018-03-02T00:00:00Z`); only the date part carries meaning.
    - `country_code` 'SK' | 'CZ': Country this series belongs to. Each country is aggregated separately.
    - `municipality` string: Municipality name; absent on a row covering all municipalities
    - `legal_form` string: Legal form; absent on a row covering all legal forms
    - `registrations_count` integer: Number of new registrations in this period
    - `terminations_count` integer: Number of terminations in this period
    - `active_count` integer: Organizations on the register at the end of the period — the running net total for this municipality. A termination is subtracted only when the same organization was also counted as a registration — it carries an establishment date and did not terminate before it. Source records failing either condition are therefore never subtracted, so the value cannot fall below zero. `registrations_count` and `terminations_count` report every event regardless, which means the running total will not always equal their difference.
    - `updated_at` string, date-time: When the stat was last computed
  - `count` integer: Number of results in this page
  - `limit` integer: Limit used
  - `offset` integer: Offset used
  - `has_more` boolean: Whether more results exist beyond this page

## Other responses

- `400`: Validation error
- `401`: Missing or invalid API key
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/apino/apis/apino-api.md) · [All operations](https://skmtc.dev/apino/apis/apino-api/llms.txt) · [OpenAPI document](https://skmtc.dev/apino/apis/apino-api/revisions/d172569847cd?raw)
