# GOV.UK API

> GOV.UK returns travel advice, bank holidays, and sanctions matches as a workflow and API.

GOV.UK travel advice methods return country-specific travel warnings, entry rules, and safety information; provide a destination country. GOV.UK bank holiday methods return holidays for a UK region and year; region and year can be selected. GOV.UK sanctions methods return possible name matches and designation details; provide a name to check.

- Page: https://fous.com/tools/gov-uk
- Handle: `@gov-uk`
- Category: [Government](https://fous.com/tools/category/government)
- Source website: https://gov.uk
- Last verified: Sep 30, 2026

## Methods

### Check sanctions

Operation `check_sanctions`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Check a name against the current UK Sanctions List and return possible matches in the site’s best-match order, with designation details. Results may also include entries that mention the name in their reasons; check each entry before identifying a person or organisation. Returns up to max_results matches.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `name` | string | yes | `"Oleg Deripaska"` | Name to check, for example Oleg Deripaska. |
| `type` | string | no | `"person"` | Kind of entry to check, for example person. |
| `max_results` | integer | no | `2` | Maximum number of possible matches to return, for example 20. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Name to check, for example Oleg Deripaska.",
      "examples": [
        "Oleg Deripaska",
        "Rosneft",
        "xzqvnonentity984201"
      ]
    },
    "type": {
      "enum": [
        "any",
        "person",
        "organisation",
        "ship"
      ],
      "type": "string",
      "default": "any",
      "description": "Kind of entry to check, for example person.",
      "examples": [
        "person",
        "organisation",
        "ship"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of possible matches to return, for example 20.",
      "x-fous-developer": true,
      "examples": [
        2,
        3
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "name": "Oleg Deripaska",
      "type": "person",
      "max_results": 2
    },
    {
      "name": "Rosneft",
      "type": "organisation",
      "max_results": 3
    },
    {
      "name": "xzqvnonentity984201"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `matches` | array |  |  |
| `matches[].name` | string | `"EZUBOV Pavel"` |  |
| `matches[].type` | string | `"Person"` | Person, Organisation or Ship. |
| `matches[].aliases` | array |  |  |
| `matches[].position` | string or null | `"Associate of Oleg Deripaska"` |  |
| `matches[].entry_link` | string | `"https://search-uk-sanctions-list.service.gov.uk/designations/RUS1333/Individual"` |  |
| `matches[].nationality` | string or null | `"Cyprus, Russia, Israel"` |  |
| `matches[].date_of_birth` | string or null | `"1975-08-12"` |  |
| `matches[].date_designated` | string or null | `"2022-04-13"` |  |
| `matches[].sanctions_regime` | string or null | `"Russia"` |  |
| `matches[].sanctions_imposed` | array |  |  |
| `matches[].reasons_for_designation` | string or null | `"ROSNEFT MARINE (UK) LIMITED is an involved person under the Russia (Sanctions) (EU Exit) Regulations 2019 on the ground` |  |
| `matches[].uk_sanctions_list_reference` | string or null | `"RUS1333"` |  |
| `summary` | string | `"75 possible matches (showing first 2)"` |  |
| `match_found` | boolean | `true` | Whether the search found any possible matches. |

**Example input**

```json
{
  "name": "Oleg Deripaska",
  "type": "person",
  "max_results": 2
}
```

**Example output**

```json
{
  "matches": [
    {
      "name": "EZUBOV Pavel",
      "type": "Person",
      "aliases": [
        "EZOUBOV Pavel Alexeevich"
      ],
      "position": "Associate of Oleg Deripaska",
      "entry_link": "https://search-uk-sanctions-list.service.gov.uk/designations/RUS1333/Individual",
      "nationality": "Cyprus, Russia, Israel",
      "date_of_birth": "1975-08-12",
      "date_designated": "2022-04-13",
      "sanctions_regime": "Russia",
      "sanctions_imposed": [
        "Asset freeze",
        "Director Disqualification Sanction",
        "Travel Ban"
      ],
      "reasons_for_designation": "The Secretary of State considers that there are reasonable grounds to suspect that Pavel EZUBOV is an involved person on the basis of the following grounds: (1) Pavel EZUBOV is associated with Alexey …",
      "uk_sanctions_list_reference": "RUS1333"
    },
    {
      "name": "DERIPASKA Oleg Vladimirovich",
      "type": "Person",
      "aliases": [
        "DERIPASKA Oleg"
      ],
      "position": "Shareholder at EN+ GROUP",
      "entry_link": "https://search-uk-sanctions-list.service.gov.uk/designations/RUS0269/Individual",
      "nationality": "Russia",
      "date_of_birth": "1968-01-02",
      "date_designated": "2022-03-10",
      "sanctions_regime": "Russia",
      "sanctions_imposed": [
        "Asset freeze",
        "Director Disqualification Sanction",
        "Transport sanctions: see \"Other information\""
      ],
      "reasons_for_designation": "Oleg Vladimirovich DERIPASKA (hereafter DERIPASKA) is an involved person under the Russia (Sanctions) (EU Exit) Regulations 2019 on the basis of the following grounds: (1) DERIPASKA is associated with…",
      "uk_sanctions_list_reference": "RUS0269"
    }
  ],
  "summary": "75 possible matches (showing first 2)",
  "match_found": true
}
```

### Get travel advice

Operation `get_travel_advice`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get current UK government travel warnings, entry rules for British passport holders, safety, health and emergency information for a country. Summaries are shortened; read the linked advice for full details.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `country` | string | yes | `"Thailand"` | Destination country or common name, for example Thailand, USA or Turkey. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "country"
  ],
  "properties": {
    "country": {
      "type": "string",
      "description": "Destination country or common name, for example Thailand, USA or Turkey.",
      "examples": [
        "Thailand",
        "USA",
        "Turkey"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "country": "Thailand"
    },
    {
      "country": "USA"
    },
    {
      "country": "Turkey"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `link` | string | `"https://www.gov.uk/foreign-travel-advice/thailand"` |  |
| `health` | string or null |  |  |
| `country` | string | `"Thailand"` |  |
| `terrorism` | string or null |  |  |
| `date_updated` | string or null | `"2026-09-28"` |  |
| `warning_status` | string | `"FCDO advises against all but essential travel to parts of the country. Thailand-Malaysia border: FCDO advises against a` |  |
| `emergency_numbers` | string or null | `"Emergency services in Thailand: Telephone: 191 (ambulance, fire, police) Ambulance: 1669 Fire: 199 Police: 191 Tourist ` |  |
| `entry_requirements` | string or null |  |  |
| `safety_and_security` | string or null |  |  |
| `latest_update_summary` | string or null | `"Information on Severe Flooding ('Warnings and Insurance’ page)"` |  |
| `local_laws_and_customs` | string or null |  |  |

**Example input**

```json
{
  "country": "Thailand"
}
```

**Example output**

```json
{
  "link": "https://www.gov.uk/foreign-travel-advice/thailand",
  "health": "Vaccine recommendations and health risks: At least 8 weeks before your trip: check the latest information on vaccinations and health risks in TravelHealthPro’s Thailand guide see where to get vaccines…",
  "country": "Thailand",
  "terrorism": "Terrorism: There is a high threat of terrorist attack globally affecting UK interests and British nationals, including from groups and individuals who view the UK and British nationals as targets. Sta…",
  "date_updated": "2026-09-28",
  "warning_status": "FCDO advises against all but essential travel to parts of the country. Thailand-Malaysia border: FCDO advises against all but essential travel to parts of the south, near the Thailand-Malaysia border:…",
  "emergency_numbers": "Emergency services in Thailand: Telephone: 191 (ambulance, fire, police) Ambulance: 1669 Fire: 199 Police: 191 Tourist police: 1155 The Tourist Police have developed a new application called Thailand …",
  "entry_requirements": "Passport validity requirements: To enter Thailand, your passport must have an ‘expiry date’ at least 6 months after the date you arrive and have at least 1 blank page. Check with your travel provider …",
  "safety_and_security": "Political situation: The political situation can be unpredictable and has led to periods of civil and political unrest. Avoid protests, political gatherings, demonstrations and marches. Crime: Protect…",
  "latest_update_summary": "Information on Severe Flooding ('Warnings and Insurance’ page)",
  "local_laws_and_customs": "Laws and cultural differences: The British Embassy in Bangkok’s video talks about what to be aware of when living or travelling in Thailand: Facebook – visiting Thailand video X – visiting Thailand vi…"
}
```

### List bank holidays

Operation `list_bank_holidays`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

List bank holidays for a UK region and year, including substitute days, notes, and the next upcoming holiday. Years not published by GOV.UK return an empty list with available years.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `year` | integer | no | `2027` | Calendar year, for example 2027. Defaults to the current year. |
| `region` | string | no | `"scotland"` | UK region, for example scotland. Defaults to england_and_wales. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "year": {
      "type": "integer",
      "maximum": 9999,
      "minimum": 1,
      "description": "Calendar year, for example 2027. Defaults to the current year.",
      "examples": [
        2027,
        2026,
        2035
      ]
    },
    "region": {
      "enum": [
        "england_and_wales",
        "scotland",
        "northern_ireland"
      ],
      "type": "string",
      "default": "england_and_wales",
      "description": "UK region, for example scotland. Defaults to england_and_wales.",
      "examples": [
        "scotland",
        "england_and_wales",
        "northern_ireland"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "year": 2027,
      "region": "scotland"
    },
    {
      "year": 2026,
      "region": "england_and_wales"
    },
    {
      "year": 2035,
      "region": "northern_ireland"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `link` | string | `"https://www.gov.uk/bank-holidays#scotland"` | GOV.UK bank holiday page for the selected region. |
| `note` | string or null | `"Bank holidays for 2035 are not published for northern ireland. Available years: 2019, 2020, 2021, 2022, 2023, 2024, 202` | Available published years when the requested year is unavailable. |
| `year` | integer | `2027` | Year requested. |
| `region` | string | `"scotland"` | Region requested. |
| `holidays` | array |  | Bank holidays for the year in date order. |
| `holidays[].date` | string | `"2027-01-01"` | Holiday date. |
| `holidays[].link` | string | `"https://www.gov.uk/bank-holidays#scotland"` | GOV.UK page for this holiday’s region. |
| `holidays[].note` | string or null | `"Substitute day"` | Any note shown by GOV.UK, or null. |
| `holidays[].day_of_week` | string | `"Friday"` | Day of the week. |
| `holidays[].holiday_name` | string | `"New Year’s Day"` | Name of the bank holiday. |
| `holidays[].substitute_day` | string | `"no"` | Whether this is a substitute day. |
| `next_upcoming_bank_holiday` | any |  | Next bank holiday on or after today, regardless of the selected year, if published. |

**Example input**

```json
{
  "year": 2027,
  "region": "scotland"
}
```

**Example output**

```json
{
  "link": "https://www.gov.uk/bank-holidays#scotland",
  "note": null,
  "year": 2027,
  "region": "scotland",
  "holidays": [
    {
      "date": "2027-01-01",
      "link": "https://www.gov.uk/bank-holidays#scotland",
      "note": null,
      "day_of_week": "Friday",
      "holiday_name": "New Year’s Day",
      "substitute_day": "no"
    },
    {
      "date": "2027-01-04",
      "link": "https://www.gov.uk/bank-holidays#scotland",
      "note": "Substitute day",
      "day_of_week": "Monday",
      "holiday_name": "2nd January",
      "substitute_day": "yes"
    },
    {
      "date": "2027-03-26",
      "link": "https://www.gov.uk/bank-holidays#scotland",
      "note": null,
      "day_of_week": "Friday",
      "holiday_name": "Good Friday",
      "substitute_day": "no"
    }
  ],
  "next_upcoming_bank_holiday": {
    "date": "2026-11-30",
    "link": "https://www.gov.uk/bank-holidays#scotland",
    "note": null,
    "day_of_week": "Monday",
    "holiday_name": "St Andrew’s Day",
    "substitute_day": "no"
  }
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@gov-uk",
  "visibility": "public",
  "operation": "check_sanctions",
  "version": 1,
  "input": {
    "name": "Oleg Deripaska",
    "type": "person",
    "max_results": 2
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@gov-uk\",\n  \"visibility\": \"public\",\n  \"operation\": \"check_sanctions\",\n  \"version\": 1,\n  \"input\": {\n    \"name\": \"Oleg Deripaska\",\n    \"type\": \"person\",\n    \"max_results\": 2\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@gov-uk",
  "visibility": "public",
  "operation": "check_sanctions",
  "version": 1,
  "input": {
    "name": "Oleg Deripaska",
    "type": "person",
    "max_results": 2
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/gov-uk`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `check_sanctions`: Check sanctions. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_travel_advice`: Get travel advice. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `list_bank_holidays`: List bank holidays. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-gov-uk https://api.fous.com/mcp/tools/gov-uk --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Prepare travel guidance for customers visiting a destination.
- Plan staffing around regional bank holidays.
- Review possible sanctions matches during name screening.
- Check entry rules before booking international travel.
- Track upcoming bank holidays for a UK region.

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this GOV.UK tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a GOV.UK account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from gov.uk when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 30, 2026.

### What travel warnings apply to a destination?

Use Get travel advice with a country to return travel warnings and other destination advice.

### Which bank holidays fall in a region and year?

Use List bank holidays with a region and year to return the holidays and the next upcoming published holiday.

### Does a name have possible sanctions matches?

Use Check sanctions with a name to return possible matches and designation details. Review each entry before identifying a person or organisation.

## Related

- [US State Department API](https://fous.com/tools/us-state-department.md): US State Department provides current travel advisories, entry rules, embassy and consulate contacts, and published monthly visa bulletin dates; guidance may be incomplete; consular agencies are excluded.
- [EU Sanctions Map API](https://fous.com/tools/eu-sanctions-map.md): EU Sanctions Map returns regimes, consolidated financial listings, name matches and linked acts, plus country measures and available counts; linked acts may be later amendments.
- [UN Security Council Sanctions API](https://fous.com/tools/un-security-council-sanctions.md): Check names against the UN Security Council Consolidated List.
- [OFAC API](https://fous.com/tools/ofac.md): U.S. Treasury sanctions list search for SDN and non-SDN entries.
- [Companies House API](https://fous.com/tools/companies-house.md): Companies House returns UK public-register company details, officers, people with significant control and recent filings; records may be incomplete, and ceased entries are optional.
- [CDC API](https://fous.com/tools/cdc.md): CDC provides disease facts, age-based vaccine guidance, current travel notices, and destination-specific travel health recommendations; review dates appear only when CDC supplies them.
- [legislation.gov.uk API](https://fous.com/tools/legislation-gov-uk.md): legislation.gov.uk provides official legislation, latest available revised section text or contents, and title or topic search results; some older Acts lack structured text.
- [Nager.Date API](https://fous.com/tools/nager-date.md): Nager.Date returns annual holiday calendars, long weekends, holiday or weekend checks, country details, and up to 50 upcoming holidays within 365 days; coverage varies.
- [All Government tools](https://fous.com/tools/category/government)
