---
title: "Official government fees to move to Dubai by residence route (job, family, golden, remote work, freelance, investor): work permit, entry permit, residence, Emirates ID, medical test and insurance, who pays, processing time; or free-zone company setup packages (route \"company\"). Quotes the official wording."
method: GET
path: "/api/v1/visas"
---

# Official government fees to move to Dubai by residence route (job, family, golden, remote work, freelance, investor): work permit, entry permit, residence, Emirates ID, medical test and insurance, who pays, processing time; or free-zone company setup packages (route "company"). Quotes the official wording.

`GET /api/v1/visas`

## Request

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

## Query parameters

- `route` 'employment' | 'family' | 'golden' | 'remote' | 'freelance' | 'investor' | 'company'

## 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
  - `observed_date` string, nullable, required
  - `route` string, nullable, required
  - `routes` object[], required
    - `id` string, required
    - `title` string, required
    - `description` string, required
    - `payer` string, nullable, required
    - `payer_note` string, nullable, required
    - `validity` string, nullable, required
    - `steps` object[], required
      - `id` string, required
      - `title` string, required
      - `fees` object[], required
        - `key` string, required
        - `quote` string, required
        - `amount_aed` number, nullable, required: AED. Unknown amounts are null, never 0.
        - `amount_max_aed` number, nullable, required: AED. Unknown amounts are null, never 0.
        - `percent` number, nullable, required
        - `when` string, nullable, required
        - `alternative` string, nullable, required
        - `optional` boolean, required
      - `total_outside` object, nullable, required
        - `min_aed` number, required
        - `max_aed` number, required
      - `total_inside` object, nullable, required
        - `min_aed` number, required
        - `max_aed` number, required
      - `official_total_aed` number, nullable, required: AED. Unknown amounts are null, never 0.
      - `time` string, nullable, required
      - `notes` object[], required
        - `key` string, required
        - `quote` string, required
      - `source` object, nullable, required
        - `authority` string, required
        - `title` string, required
        - `url` string, required
    - `paused` object[], required
      - `kind` string, required
      - `title` string, required
      - `authority` string, nullable, required
      - `url` string, nullable, required
      - `paused_since` string, nullable, required
    - `requirements` object[], required
      - `key` string, required
      - `quote` string, required
  - `common` object[], required
    - `id` string, required
    - `title` string, required
    - `fees` object[], required
      - `key` string, required
      - `quote` string, required
      - `amount_aed` number, nullable, required: AED. Unknown amounts are null, never 0.
      - `amount_max_aed` number, nullable, required: AED. Unknown amounts are null, never 0.
      - `percent` number, nullable, required
      - `when` string, nullable, required
      - `alternative` string, nullable, required
      - `optional` boolean, required
    - `total_outside` object, nullable, required
      - `min_aed` number, required
      - `max_aed` number, required
    - `total_inside` object, nullable, required
      - `min_aed` number, required
      - `max_aed` number, required
    - `official_total_aed` number, nullable, required: AED. Unknown amounts are null, never 0.
    - `time` string, nullable, required
    - `notes` object[], required
      - `key` string, required
      - `quote` string, required
    - `source` object, nullable, required
      - `authority` string, required
      - `title` string, required
      - `url` string, required
  - `common_paused` object[], required
    - `id` string, required
    - `title` string, required
    - `authority` string, nullable, required
    - `url` string, nullable, required
    - `paused_since` string, nullable, required
  - `home_setup` object[], required
    - `id` string, required
    - `title` string, required
    - `fees` object[], required
      - `key` string, required
      - `quote` string, required
      - `amount_aed` number, nullable, required: AED. Unknown amounts are null, never 0.
      - `amount_max_aed` number, nullable, required: AED. Unknown amounts are null, never 0.
      - `percent` number, nullable, required
      - `when` string, nullable, required
      - `alternative` string, nullable, required
      - `optional` boolean, required
    - `total_outside` object, nullable, required
      - `min_aed` number, required
      - `max_aed` number, required
    - `total_inside` object, nullable, required
      - `min_aed` number, required
      - `max_aed` number, required
    - `official_total_aed` number, nullable, required: AED. Unknown amounts are null, never 0.
    - `time` string, nullable, required
    - `notes` object[], required
      - `key` string, required
      - `quote` string, required
    - `source` object, nullable, required
      - `authority` string, required
      - `title` string, required
      - `url` string, required
  - `unknown_costs` object[], required
    - `id` string, required
    - `reason` string, required
    - `authority` string, nullable, required
    - `url` string, nullable, required
  - `company` object, nullable, required
    - `zones` object[], required
    - `mainland` object, nullable, required

## 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)
