---
title: "Compare badge collections between accounts"
method: POST
path: "/v1/account.compareBadges"
tags: ["account"]
---

# Compare badge collections between accounts

`POST /v1/account.compareBadges`

## Request body

- V1AccountCompareBadgesRequestBody
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `accounts` AccountSearch[], nullable, required
    - `$schema` string, uri — A URL to the JSON Schema for this object.
    - `id` IDSearch
      - `accountId` integer — Account ID to search for
      - `steamId64` string — SteamID64 to search for
    - `vanity` VanitySearch
      - `type` 'steam' | 'internal', required — Which type of vanity to search for
      - `value` string, required — Vanity to search for
  - `appIds` integer[], nullable
  - `appTypes` string[], nullable
  - `difference` DifferenceFilter
    - `has` AccountSearch, required
      - `$schema` string, uri — A URL to the JSON Schema for this object.
      - `id` IDSearch
        - `accountId` integer — Account ID to search for
        - `steamId64` string — SteamID64 to search for
      - `vanity` VanitySearch
        - `type` 'steam' | 'internal', required — Which type of vanity to search for
        - `value` string, required — Vanity to search for
    - `lacks` AccountSearch, required
      - `$schema` string, uri — A URL to the JSON Schema for this object.
      - `id` IDSearch
        - `accountId` integer — Account ID to search for
        - `steamId64` string — SteamID64 to search for
      - `vanity` VanitySearch
        - `type` 'steam' | 'internal', required — Which type of vanity to search for
        - `value` string, required — Vanity to search for
  - `excludeAppIds` integer[], nullable
  - `filter` 'all' | 'normal' | 'foil'
  - `ignore` string[], nullable
  - `match` 'tuple' | 'tupleLevel' | 'tupleMinLevel'
  - `minLevel` integer — Only used when match=tupleMinLevel
  - `mode` 'missing' | 'ownedByAll' | 'unique'
  - `order` Order
    - `by` 'scarcity' | 'level' | 'name' | 'xp' | 'completedAt', required
    - `direction` 'asc' | 'desc', required
  - `page` integer
  - `ranges` RangeFilter[], nullable
    - `max` integer
    - `min` integer
    - `type` 'scarcity', required

## Response `200`

OK

- V1AccountCompareBadgesResponseBody
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `accounts` ResolvedAccount[], nullable, required
    - `accountId` integer, required
    - `avatar` string, required
    - `steamId` string, required
    - `vanity` string
  - `pages` integer, required — The number of pages
  - `totalHits` integer, required — The total number of hits for all pages
  - `tuples` ComparedTuple[], nullable, required
    - `accounts` TupleAccount[], nullable, required
      - `completedAt` string, date-time
      - `level` integer, required
      - `steamId` string, required
      - `xp` integer, required
    - `appId` integer, required
    - `appImage` string, required
    - `appName` string, required
    - `appType` string, required
    - `badgeImage` string, required
    - `badgeName` string, required
    - `isEvent` boolean, required
    - `isFoil` boolean, required
    - `isSale` boolean, required
    - `maxLevel` integer, required
    - `scarcity` integer, required
    - `steamId` integer, required
    - `trackedHolders` integer, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `422` — Unprocessable Entity
- `500` — Internal Server Error

---

[API](https://skmtc.net/steamsets/apis/steamsets-api.md) · [All operations](https://skmtc.net/steamsets/apis/steamsets-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/steamsets/steamsets-api/versions/593d89718daa/schema)
