---
title: "Item counts per geo division"
method: GET
path: "/api/marketplace/v2/division-counts"
tags: ["marketplace"]
---

# Item counts per geo division

`GET /api/marketplace/v2/division-counts`

## Request

- Base URL: `https://buckybuild.com`
- URL: `https://buckybuild.com/api/marketplace/v2/division-counts`
- Auth: HTTP bearer

Aggregated item counts keyed by geo division, for choropleth rendering. `externalId` is the tileset join key. Same envelope as `/items`.

## Response `200`

Per-division item counts.

- MarketListResponse
  - `data` object[], required
  - `meta` MarketMeta, required
    - `pagination` MarketPagination, required
      - `cursor` string, nullable, required: Opaque cursor for the next page. `null` when there is no further page. Pass back as the `cursor` query param.
      - `hasMore` boolean, required: Whether a further page exists.
      - `limit` integer: Page size actually applied.
      - `totalCount` integer, nullable: Total matching rows. Authoritative field — prefer this.
      - `total` integer, nullable: Deprecated duplicate of `totalCount`, kept for compatibility.
      - `mode` 'cursor': Pagination strategy. Offset paging returns `PAGE_DEPRECATED`.
    - `filters` object: Normalised echo of the filters applied to this request.
    - `timing` object
      - `durationMs` integer
      - `cached` boolean
    - `userContext` object: Present only for authenticated callers.
      - `favorites` string[]
      - `projectItems` string[]
  - `error` ErrorResponse, required
    - `error` string, required: Human readable error message.
    - `code` string, required: Stable machine readable error code. Match on this, never on the message text.
    - `category` 'AUTHENTICATION' | 'AUTHORIZATION' | 'VALIDATION' | 'NOT_FOUND' | 'RATE_LIMIT' | 'CONFLICT' | 'UPSTREAM' | 'INTERNAL': Coarse class of failure, for routing and metrics.
    - `status` integer: HTTP status, repeated in the body for transport-agnostic clients.
    - `retryable` boolean: Whether retrying the identical request can succeed. `false` means fix the request; do not back off and retry.
    - `userMessageKey` string: i18n key for a message safe to show an end user.
    - `supportId` string: Short reference to quote to support, e.g. `SUP-B1F8ACF9`.
    - `requestId` string, uuid: Correlates this response with our server logs.
    - `details` union: Optional structured error details.
      - string
      - object
      - unknown[]
        - unknown

## Other responses

- `400`: Validation or client error.
- `401`: Authentication required.
- `403`: Insufficient permissions.
- `404`: No such resource, or no such route under this version prefix.
- `429`: Rate limit exceeded (`code: RATE_LIMIT_EXCEEDED`, `retryable: true`). Honour `Retry-After`.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/buckybuild/apis/bucky-public-api.md) · [All operations](https://skmtc.dev/buckybuild/apis/bucky-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/buckybuild/apis/bucky-public-api/revisions/30e442927a24?raw)
