---
title: "GET /api/v1/badges/{id}/users"
method: GET
path: "/api/v1/badges/{id}/users"
tags: ["badges"]
---

# GET /api/v1/badges/{id}/users

`GET /api/v1/badges/{id}/users`

## Request

- Base URL: `https://prices.openfoodfacts.org` (the document declares no server; this is the origin it was published from)
- URL: `https://prices.openfoodfacts.org/api/v1/badges/{id}/users`
- Auth: none declared

## Path parameters

- `id` integer, required

## Query parameters

- `page` integer
- `size` integer

## Response `200`

- PaginatedBadgeUserList
  - `items` BadgeUser[], required
    - `id` integer, required
    - `user` User, required
      - `user_id` string, required
      - `price_count` integer
      - `price_type_product_count` integer
      - `price_type_category_count` integer
      - `price_kind_community_count` integer
      - `price_kind_consumption_count` integer
      - `price_in_proof_owned_count` integer
      - `price_in_proof_not_owned_count` integer
      - `price_not_owned_in_proof_owned_count` integer
      - `proof_count` integer
      - `proof_type_price_tag_count` integer
      - `proof_type_receipt_count` integer
      - `proof_type_gdpr_request_count` integer
      - `proof_type_shop_import_count` integer
      - `proof_kind_community_count` integer
      - `proof_kind_consumption_count` integer
      - `location_count` integer
      - `location_type_osm_city_count` integer
      - `location_type_osm_country_count` integer
      - `product_count` integer
      - `badge_count` integer
      - `currency_count` integer
      - `year_count` integer
      - `challenge_count` integer
    - `achieved_at` string, date-time
    - `badge` integer, required
  - `page` integer, required: Current page number
  - `pages` integer, required: Total number of pages
  - `size` integer, required: Number of items per page
  - `total` integer, required: Total number of items

## Changes

- **2026-08-22** `2315a270e4e6`: 5 info
  - added the optional property `items/items/user/allOf[#/components/schemas/User]/location_type_osm_city_count` to the response with the `200` status
  - added the optional property `items/items/user/allOf[#/components/schemas/User]/proof_type_gdpr_request_count` to the response with the `200` status
  - added the optional property `items/items/user/allOf[#/components/schemas/User]/proof_type_price_tag_count` to the response with the `200` status
  - added the optional property `items/items/user/allOf[#/components/schemas/User]/proof_type_receipt_count` to the response with the `200` status
  - …1 more
- **2026-07-21** `a5efa7effb64`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/openfoodfacts/apis/open-food-facts-open-prices-rest-api/changes/api/v1/badges/:id/users/get.md)

---

[API](https://skmtc.dev/openfoodfacts/apis/open-food-facts-open-prices-rest-api.md) - [All operations](https://skmtc.dev/openfoodfacts/apis/open-food-facts-open-prices-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/openfoodfacts/apis/open-food-facts-open-prices-rest-api/revisions/d7c5d8b4c32e?raw)
