---
title: "Aggregates by CNAE sector (CSV)"
method: GET
path: "/api/v1/sectores/stats.csv"
tags: ["Datasets"]
---

# Aggregates by CNAE sector (CSV)

`GET /api/v1/sectores/stats.csv`

Offline sector projection rendered as a bounded CSV representation with a shared-asv1 generation ETag and 60-second must-revalidate caching; no aggregation occurs in the request path. Canonical `award_procedures_count` and all semantic-status columns are included; `contracts_total_eur` remains empty/withheld.

## Headers

- `If-None-Match` string

## Response `200`

Sector stats CSV

## Other responses

- `304` — The bounded sector CSV representation and shared stats generation have not changed
- `429` — Rate limit exceeded
- `503` — Offline projection missing or stale

## Changes

- **2026-07-26** `996f96a11758` — 5 info
  - api operation id `getSectoresStatsCsv` was added
  - added the new optional `header` request parameter `If-None-Match`
  - added the non-success response with the status `304`
  - added the non-success response with the status `429`
  - …1 more

[Change history](https://skmtc.dev/openmercantil/apis/openmercantil-public-api/changes/api/v1/sectores/stats.csv/get.md)

---

[API](https://skmtc.dev/openmercantil/apis/openmercantil-public-api.md) · [All operations](https://skmtc.dev/openmercantil/apis/openmercantil-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openmercantil/openmercantil-public-api/revisions/601ff6123c86/schema)
