# NHS API

> NHS workflow and API: condition, medicine and nearby services. Returns causes, overview, see a gp and symptoms as JSON.

NHS data from nhs.uk: condition, medicine and nearby services.

- Page: https://fous.com/tools/nhs
- Handle: `@nhs`
- Category: [Health](https://fous.com/tools/category/health)
- Source website: https://nhs.uk
- Last verified: Sep 29, 2026

## Methods

### Get condition

Operation `get_condition`, 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 NHS guidance for a named health condition, including symptoms, when to seek help, causes, treatment and prevention. Sections not shown on NHS pages are null. For conditions with several guidance pages, the review date is the latest among the pages used.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `condition` | string | yes | `"sciatica"` | The health condition in plain words, for example chickenpox. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "condition"
  ],
  "properties": {
    "condition": {
      "type": "string",
      "description": "The health condition in plain words, for example chickenpox.",
      "examples": [
        "sciatica",
        "chickenpox",
        "type 2 diabetes"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "condition": "sciatica"
    },
    {
      "condition": "chickenpox"
    },
    {
      "condition": "type 2 diabetes"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `causes` | string or null | `"Causes of sciatica\nSciatica happens when something presses or rubs on the sciatic nerve.\nCauses include:\na slipped d` | Causes or how it spreads. |
| `overview` | string or null | `"Sciatica happens when the sciatic nerve, which runs from your lower back to your feet, is irritated or compressed. It u` | Overview of the condition. |
| `see_a_gp` | string or null | `"Non-urgent advice: See a GP if:\nYou have sciatica and the pain:\nhas not improved after trying home treatments for a f` | Non-urgent guidance on when to see a GP. |
| `symptoms` | string or null |  | Symptoms described by the NHS. |
| `page_link` | string or null | `"https://www.nhs.uk/conditions/sciatica/"` | Link to the NHS condition page. |
| `treatment` | string or null |  | Treatment and self-care guidance. |
| `prevention` | string or null | `"How to stop sciatica coming back\nIf you have sciatica, or have had it in the past, there's a chance you could get it a` | Prevention and reducing risk. |
| `call_nhs_111` | string or null | `"Urgent advice: Ask for an urgent GP appointment or get help from NHS 111 if:\nyou're taking diabetes medicine and have ` | Urgent guidance on when to get help from NHS 111. |
| `condition_name` | string or null | `"Sciatica"` | Name of the condition on the NHS page. |
| `page_last_reviewed` | string or null | `"2024-12-03"` | Date the guidance was last reviewed, in YYYY-MM-DD. |
| `call_999_or_go_to_ae` | string or null | `"Immediate action required: Call 999 or go to A&E now if:\nyou or your child are confused, drowsy, or have difficulty sp` | Emergency guidance on when to call 999 or go to A&E. |

**Example input**

```json
{
  "condition": "sciatica"
}
```

**Example output**

```json
{
  "causes": "Causes of sciatica\nSciatica happens when something presses or rubs on the sciatic nerve.\nCauses include:\na slipped disc, when a soft cushion of tissue between the bones in your spine pushes out – this…",
  "overview": "Sciatica happens when the sciatic nerve, which runs from your lower back to your feet, is irritated or compressed. It usually gets better in a few weeks to a few months but can last longer.",
  "see_a_gp": "Non-urgent advice: See a GP if:\nYou have sciatica and the pain:\nhas not improved after trying home treatments for a few weeks\nis getting worse\nis stopping you doing your normal activities\nRefer yourse…",
  "symptoms": "Symptoms of sciatica\nThe symptoms of sciatica usually affect your bottom and the back of one leg, often including your foot and toes.\nYou may feel:\na sharp, burning pain down the back of the leg\ntingl…",
  "page_link": "https://www.nhs.uk/conditions/sciatica/",
  "treatment": "How you can ease sciatica pain yourself\nSciatica usually gets better in a few weeks to a few months, but it can sometimes last longer. It can also return if you've had it before.\nTo help relieve your …",
  "prevention": "How to stop sciatica coming back\nIf you have sciatica, or have had it in the past, there's a chance you could get it again. But there are some things you can do to reduce your chance of this happening…",
  "call_nhs_111": null,
  "condition_name": "Sciatica",
  "page_last_reviewed": "2024-12-03",
  "call_999_or_go_to_ae": "Immediate action required: Go to A&E or call 999 if you:\nhave sciatica on both sides\nhave weakness or numbness in both legs that's severe or getting worse\nhave numbness around or under your genitals, …"
}
```

### Get medicine

Operation `get_medicine`, 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 NHS medicine guidance by name, including uses, dosing, side effects, pregnancy and interactions. Sections absent from NHS guidance are null; a plain name with separate adult and child pages selects the adult page.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `medicine` | string | yes | `"sertraline"` | Name of the medicine, such as sertraline or ibuprofen. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "medicine"
  ],
  "properties": {
    "medicine": {
      "type": "string",
      "description": "Name of the medicine, such as sertraline or ibuprofen.",
      "examples": [
        "sertraline",
        "ibuprofen",
        "amoxicillin"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "medicine": "sertraline"
    },
    {
      "medicine": "ibuprofen"
    },
    {
      "medicine": "amoxicillin"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `key_facts` | string or null | `"You, or your child, will usually take amoxicillin 3 times a day to treat an infection\nFor most infections, you'll star` | Key facts. |
| `page_link` | string | `"https://www.nhs.uk/medicines/sertraline/"` | NHS medicine page link. |
| `brand_names` | string or null | `"Lustral"` | Brand names. |
| `medicine_name` | string | `"Sertraline"` | Name used on the NHS medicine page. |
| `what_it_is_for` | string or null | `"Sertraline can be used to treat mental health conditions such as:\ndepression\nobsessive compulsive disorder (OCD)\npan` | What it is for. |
| `common_side_effects` | string or null |  | Common side effects. |
| `serious_side_effects` | string or null |  | Serious side effects. |
| `how_and_when_to_take_it` | string or null |  | How and when to take it. |
| `who_can_and_cannot_take_it` | string or null |  | Who can and cannot take it. |
| `pregnancy_and_breastfeeding` | string or null |  | Pregnancy and breastfeeding. |
| `taking_with_other_medicines_and_herbal_remedies` | string or null |  | Taking with other medicines and herbal remedies. |

**Example input**

```json
{
  "medicine": "sertraline"
}
```

**Example output**

```json
{
  "key_facts": null,
  "page_link": "https://www.nhs.uk/medicines/sertraline/",
  "brand_names": "Lustral",
  "medicine_name": "Sertraline",
  "what_it_is_for": "Sertraline can be used to treat mental health conditions such as:\ndepression\nobsessive compulsive disorder (OCD)\npanic disorder\npost-traumatic stress disorder (PTSD)\nsocial anxiety disorder\nIt's a typ…",
  "common_side_effects": "Common side effects of sertraline include:\nheadaches\nfeeling sick (nausea) and being sick (vomiting)\ndizziness or drowsiness\ndry mouth\ndiarrhoea\nproblems sleeping\nsexual problems, such as low sex driv…",
  "serious_side_effects": "Sertraline can sometimes cause more serious side effects, although most of them are rare.\nPossible serious side effects of sertraline include:\nan allergic reaction (anaphylaxis) – causing symptoms suc…",
  "how_and_when_to_take_it": "Sertraline usually comes as tablets that you swallow. How much you need to take depends on why you're taking it.\nAlways check the packet or leaflet that comes with your medicine. Ask a pharmacist or d…",
  "who_can_and_cannot_take_it": "Most adults can take sertraline.\nChildren aged 6 to 17 can take it for obsessive compulsive disorder (OCD). It's also sometimes used to treat severe depression in children aged 12 to 17.\nSertraline is…",
  "pregnancy_and_breastfeeding": "Tell your doctor if you're breastfeeding.\nSertraline can often be used while breastfeeding, but it's best to check because the medicine can pass into your breast milk in small amounts.\nYou'll usually …",
  "taking_with_other_medicines_and_herbal_remedies": "There are some medicines, remedies and supplements that may not mix well with sertraline.\nThis includes some types of:\nanticoagulants, such as warfarin and apixaban\nnon-steroidal anti-inflammatory dru…"
}
```

### Search nearby services

Operation `search_nearby_services`, 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.

Find nearby NHS service listings from a UK postcode or town, nearest first. NHS service search covers England; urgent_care returns A&E listings. Hours, patient availability and websites are null when not shown.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `service` | string | yes | `"pharmacy"` | Service to find, for example pharmacy. |
| `location` | string | yes | `"SW1A 1AA"` | UK postcode or town, for example SW1A 1AA or Leeds. |
| `max_results` | integer | no | `3` | Maximum listings to return, for example 10 (up to 50). |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "location",
    "service"
  ],
  "properties": {
    "service": {
      "enum": [
        "gp_surgery",
        "pharmacy",
        "dentist",
        "urgent_care",
        "hospital",
        "optician"
      ],
      "type": "string",
      "description": "Service to find, for example pharmacy.",
      "examples": [
        "pharmacy",
        "dentist",
        "gp_surgery"
      ]
    },
    "location": {
      "type": "string",
      "description": "UK postcode or town, for example SW1A 1AA or Leeds.",
      "examples": [
        "SW1A 1AA",
        "Leeds"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 10,
      "maximum": 50,
      "minimum": 1,
      "description": "Maximum listings to return, for example 10 (up to 50).",
      "x-fous-developer": true,
      "examples": [
        3,
        2
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "service": "pharmacy",
      "location": "SW1A 1AA",
      "max_results": 3
    },
    {
      "service": "dentist",
      "location": "SW1A 1AA",
      "max_results": 2
    },
    {
      "service": "gp_surgery",
      "location": "Leeds",
      "max_results": 2
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `services` | array |  |  |
| `services[].name` | string | `"Boots"` |  |
| `services[].phone` | string or null | `"020 7828 6013"` |  |
| `services[].address` | string or null | `"5 CATHEDRAL WALK, VICTORIA, LONDON, SW1E 5JH"` |  |
| `services[].website` | string or null | `"https://www.boots.com/"` |  |
| `services[].postcode` | string or null | `"SW1E 5JH"` |  |
| `services[].nhs_page_link` | string | `"https://www.nhs.uk/services/pharmacy/boots/XFHV67"` |  |
| `services[].distance_miles` | number or null | `0.3` |  |
| `services[].opening_hours_today` | string or null | `"7:30am to 8pm"` |  |
| `services[].accepting_new_patients` | boolean or null | `true` |  |

**Example input**

```json
{
  "service": "pharmacy",
  "location": "SW1A 1AA",
  "max_results": 3
}
```

**Example output**

```json
{
  "services": [
    {
      "name": "Boots",
      "phone": "020 7828 6013",
      "address": "5 CATHEDRAL WALK, VICTORIA, LONDON, SW1E 5JH",
      "website": "https://www.boots.com/",
      "postcode": "SW1E 5JH",
      "nhs_page_link": "https://www.nhs.uk/services/pharmacy/boots/XFHV67",
      "distance_miles": 0.3,
      "opening_hours_today": "7:30am to 8pm",
      "accepting_new_patients": null
    },
    {
      "name": "Boots",
      "phone": "020 7834 5792",
      "address": "107 VICTORIA STREET, LONDON, SW1E 6RA",
      "website": "https://www.boots.com/",
      "postcode": "SW1E 6RA",
      "nhs_page_link": "https://www.nhs.uk/services/pharmacy/boots/XFQT75",
      "distance_miles": 0.3,
      "opening_hours_today": "8am to 7pm",
      "accepting_new_patients": null
    },
    {
      "name": "Dolphins Pharmacy",
      "phone": "020 7222 1828",
      "address": "9-11 THE BROADWAY, LONDON, SW1H 0AZ",
      "website": null,
      "postcode": "SW1H 0AZ",
      "nhs_page_link": "https://www.nhs.uk/services/pharmacy/dolphins-pharmacy/XFKE09",
      "distance_miles": 0.4,
      "opening_hours_today": "9am to 5:30pm",
      "accepting_new_patients": null
    }
  ]
}
```

## 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": "@nhs",
  "visibility": "public",
  "operation": "get_condition",
  "version": 1,
  "input": {
    "condition": "sciatica"
  },
  "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\": \"@nhs\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_condition\",\n  \"version\": 1,\n  \"input\": {\n    \"condition\": \"sciatica\"\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": "@nhs",
  "visibility": "public",
  "operation": "get_condition",
  "version": 1,
  "input": {
    "condition": "sciatica"
  },
  "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/nhs`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_condition`: Get condition. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_medicine`: Get medicine. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `search_nearby_services`: Search nearby services. 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-nhs https://api.fous.com/mcp/tools/nhs --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.

## 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 NHS 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 NHS account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from nhs.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 29, 2026.

## Related

- [WebMD API](https://fous.com/tools/webmd.md): Plain-language health condition and symptom guides from WebMD.
- [Mayo Clinic API](https://fous.com/tools/mayo-clinic.md): Mayo Clinic provides health information from public condition pages, including condition overviews and, where available, diagnosis, treatment, home care, alternative medicine, and appointment preparation.
- [Drugs.com API](https://fous.com/tools/drugs-com.md): Drugs.com provides public medicine guides, interaction and food or lifestyle warnings for 2–10 medicines, pill matches by imprint, color, or shape, and listed US cash prices by strength, form, and quantity.
- [Postcodes.io API](https://fous.com/tools/postcodes-io.md): Postcodes.io provides UK postcode, location and administrative information; nearby postcode results include distance and coordinates, while retired postcodes lack administrative details.
- [MedlinePlus API](https://fous.com/tools/medlineplus.md): MedlinePlus provides health information from the U.S. National Library of Medicine, including condition and symptom overviews and explanations of tests with matching pages.
- [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.
- [FDA API](https://fous.com/tools/fda.md): FDA provides drug safety data, latest matching drug labels, common reported side effects, and newest-first drug, food, and device recalls; recent drug and device recalls may be missing, and weekly food statuses may lag.
- [ClinicalTrials.gov API](https://fous.com/tools/clinicaltrials-gov.md): ClinicalTrials.gov helps users find studies and view public trial records, including sponsor-run or funded studies; site distances are approximate, and contacts, eligibility, or exact dates may be missing.
- [All Health tools](https://fous.com/tools/category/health)
