---
title: "GET /badges/{ids}"
method: GET
path: "/badges/{ids}"
---

# GET /badges/{ids}

`GET /badges/{ids}`

Gets the badges identified in id.
 
Note that badge ids are not constant across sites, and thus should be looked up via the /badges method. A badge id on a single site is, however, guaranteed to be stable.
 
Badge sorts are a tad complicated. For the purposes of sorting (and min/max) tag_based is considered to be greater than named.
 
This means that you can get a list of all tag based badges by passing min=tag_based, and conversely all the named badges by passing max=named, with sort=type.
 
For ranks, bronze is greater than silver which is greater than gold. Along with sort=rank, set max=gold for just gold badges, max=silver&min=silver for just silver, and min=bronze for just bronze.
 
rank is the default sort.
 
{ids} can contain up to 100 semicolon delimited ids, to find ids programatically look for badge_id on badge objects.
 
This method returns a list of badges.

## Path parameters

- `ids` string, required

## Query parameters

- `order` 'desc' | 'asc'
- `max` string
- `min` string
- `sort` 'rank' | 'name' | 'type'
- `fromdate` integer
- `todate` integer
- `pagesize` integer
- `page` integer
- `filter` string
- `callback` string
- `site` string, required

## Response `200`

OK

## Other responses

- `400` — bad_parameter Ã¢â‚¬â€œ 400 An invalid parameter was passed, this includes even "high level" parameters like key or site.
- `401` — access_token_required Ã¢â‚¬â€œ 401 A method that requires an access token (obtained via authentication) was called without one.
- `402` — invalid_access_token Ã¢â‚¬â€œ 402 An invalid access token was passed to a method.
- `403` — access_denied Ã¢â‚¬â€œ 403 A method which requires certain permissions was called with an access token that lacks those permissions.
- `404` — no_method Ã¢â‚¬â€œ 404 An attempt was made to call a method that does not exist. Note, calling methods that expect numeric ids (like /users/{ids}) with non-numeric ids can also result in this error.
- `405` — key_required Ã¢â‚¬â€œ 405 A method was called in a manner that requires an application key (generally, with an access token), but no key was passed.
- `406` — access_token_compromised Ã¢â‚¬â€œ 406 An access token is no longer believed to be secure, normally because it was used on a non-HTTPS call. The access token will be invalidated if this error is returned.
- `500` — internal_error Ã¢â‚¬â€œ 500 An unexpected error occurred in the API. It has been logged, and Stack Exchange developers have been notified. You should report these errors on Stack Apps if you want to be notified when they're fixed.
- `502` — throttle_violation Ã¢â‚¬â€œ 502 An application has violated part of the rate limiting contract, so the request was terminated.
- `503` — temporarily_unavailable Ã¢â‚¬â€œ 503 Some or all of the API is unavailable. Applications should backoff on requests to the method invoked.

---

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