Skip to main content
GET
Use this endpoint to fill a guest-nationality dropdown before you search. The iso_code of the chosen item is the one value to send as nationality in Search Hotels and in the room availability call that follows. Unifystays maps it to whatever each supplier expects, so you never deal with supplier-specific codes.

Why nationality matters

Suppliers can return different rates and availability depending on the guest’s nationality. For that reason Unifystays prices every search for one nationality and treats a search for a different nationality as a different search with its own prices.
  • Ask for the nationality of the traveller who will stay, and send it on every search.
  • If you leave nationality out of a search, it defaults to IN. That is a real value, not a neutral one, so do not rely on the default.
  • Send the same nationality when you request room options for a hotel from that search. A price shown for one nationality is not a promise for another.
Cache successful responses for up to 30 days. Load the full list once for the guest selector, filter it locally, and refresh it when the cache expires.

Request examples

Load the full, alphabetically sorted list for a guest form:
Filter on the server by nationality name, country name or code:

Response example

Request fields

Response field guide

Use iso_code in hotel requests

Send only the alpha-2 iso_code returned by this endpoint. An unknown code fails search validation with HTTP 400. Alpha-3 codes, supplier codes, nationality names and the numeric id are not accepted.

Cache key

Include every query value and the environment, and cache successful responses only:
For a typical dropdown, cache data.items for the default request and filter that list locally.

Next step

Pick a destination with Destination Autocomplete, then call Search Hotels. The OpenAPI section below lists every parameter and response field.

Authorizations

x-api-key
string
header
required

Environment-specific API key created in the Unifystays portal

Headers

Query Parameters

Optional filter. Matches nationality name, country name or ISO alpha-2 code (case-insensitive, 1-100 characters). Omit it to load the full list and filter in your own UI.

Example:

"ind"

sort_by
enum<string>
default:nationality_name

Field to sort by: nationality_name (default), country_name or iso_code.

Available options:
nationality_name,
country_name,
iso_code
sort_order
enum<string>
default:ASC

Sort direction: ASC (default) or DESC.

Available options:
ASC,
DESC
page
number
default:1

Page number, starting at 1. Only needed when the list is larger than limit; check meta.totalPages.

Required range: x >= 1
Example:

1

limit
number
default:250

Results per page (1-300, default 250). The default is high so most frontends can load the full list in one request.

Required range: 1 <= x <= 300
Example:

250

Response

200 - application/json

Nationalities fetched successfully

success
boolean
required

True when the request succeeded.

Example:

true

message
string
required

Human-readable status. Do not parse.

Example:

"Nationalities fetched successfully"

data
object
required

Nationality list payload.