---
title: "Official school uniform items and prices for a Dubai/UAE school (supplier catalogue, item by item), plus KHDA tuition and school bus fees when linked. No kit total is invented: schools require different quantities."
method: GET
path: "/api/v1/school-uniforms"
---

# Official school uniform items and prices for a Dubai/UAE school (supplier catalogue, item by item), plus KHDA tuition and school bus fees when linked. No kit total is invented: schools require different quantities.

`GET /api/v1/school-uniforms`

## Request

- Base URL: `https://prices.brainy.ae`
- URL: `https://prices.brainy.ae/api/v1/school-uniforms`
- Auth: none declared

## Query parameters

- `school` string, required

## Response `200`

Success. All money is AED; unknown values are null.

- object
  - `currency` 'AED', required
  - `observed_at` string, nullable, required
  - `stale` boolean, required
  - `source` object, required
    - `name` string, required
    - `url` string, nullable, required
  - `attribution` string, required
  - `open_in_browser` string, uri, required
  - `school` object, nullable, required
    - `id` string, required
    - `name` string, required
    - `supplier` string, required
    - `supplier_url` string, nullable, required
    - `items_count` integer, required
    - `priced_count` integer, required
    - `items` object[], required
      - `id` string, required
      - `name` string, required
      - `price_aed` number, nullable, required: AED. Unknown amounts are null, never 0.
      - `price_kind` 'catalogue' | 'from' | 'unverified', required
      - `availability` string, required
      - `grades` string[], required
      - `sizes` integer, required
      - `url` string, nullable, required
      - `plain_alternative` object, nullable, required
        - `from_aed` number, required
        - `store` string, required
        - `offers` integer, required
    - `tuition` object[], required
      - `grade` string, required
      - `annual_fee_aed` number, required
    - `tuition_academic_year` string, nullable, required
    - `bus` object, nullable, required
      - `operator` string, required
      - `academic_year` string, required
      - `zones` object[], required
        - `zone` integer, required
        - `annual_aed` number, required
        - `areas` string[], required
      - `source_url` string, required
  - `candidates` object[], required
    - `id` string, required
    - `name` string, required
  - `kit_note` string, required
  - `status` 'paused': Present only when this data is deliberately paused (not an outage): 'paused'. Do not retry; the notice says why.
  - `notice` string
  - `since` string, nullable

## Other responses

- `400`: Request failed.
- `404`: Request failed.
- `405`: Request failed.
- `413`: Request failed.
- `422`: Request failed.
- `429`: Rate limit exceeded. Retry-After gives seconds to wait.
- `503`: Request failed.

---

[API](https://skmtc.dev/brainy/apis/dubai-cost-of-living-brainy-prices.md) · [All operations](https://skmtc.dev/brainy/apis/dubai-cost-of-living-brainy-prices/llms.txt) · [OpenAPI document](https://skmtc.dev/brainy/apis/dubai-cost-of-living-brainy-prices/revisions/a548a841d58c?raw)
