We have detected that you are using Internet Explorer to visit this website. Internet Explorer is now being phased out by Microsoft. As a result, NHS Digital no longer supports any version of Internet Explorer for our web-based products, as it involves considerable extra effort and expense, which cannot be justified from public funds. Some features on this site will not work. You should use a modern browser such as Edge, Chrome, Firefox, or Safari. If you have difficulty installing or accessing a different browser, contact your IT support team.
Electronic Prescription Service Directory of Services API
Access information about dispensing services, including searching for dispensers who can provide services for a patient with a given location and urgency, using our Electronic Prescription Service (EPS) Directory of Services (DoS) API.
Use this API to access information about dispensing services, including searching for dispensers who can provide services for a patient with a given location and urgency.
- search for a dispenser by its location and opening hours
- search for a specific dispenser that the patient might have named
The API combines data from both the Directory of Services (DoS) and Electronic Transmission of Prescriptions (ETP) web services (formerly known as NHS Choices).
It uses DoS for user authentication.
Do not use this API if you are building GP software - instead use Electronic Transmission of Prescriptions (ETP) web services directly, as it provides access to information you'll need, for example, information such as dispensing appliance contractors.
This API can only be used where there is a legal basis to do so. Make sure you have a valid use case before you go too far with your development.
You must do this before you can go live (see ‘Onboarding’ below).
The following APIs are related to this API:
- Electronic Prescription Service - FHIR API - access the Electronic Prescription Service (EPS) - currently you can only use this new API to prescribe, not dispense.
Electronic Prescription Service - HL7 V3 API - access the Electronic Prescription Service (EPS) to send prescriptions from prescribers such as GPs to dispensers such as pharmacies using our HL7 V3 API.
- Prescription Tracker API - use this if you want a read-only interface to obtain information about a patient’s prescriptions.
- NHS BSA Prescription Services Open Data Portal - download public datasets including Secondary care medicines data (SCMD), prescriptions issued in England, and Prescription Cost Analysis (PCA) in England.
- Directory of Services API - retrieve information about a wide range of health and care services in England with the Directory of Service (DoS) API.
- Electronic Transmission of Prescriptions (ETP) web services - access dispenser information for a patient via NHS UK Web Services.
This API is stable.
This API is a simple RESTful API, returning JSON dispenser resources.
For more details, see basic REST.
Security and authorisation
This API is user-restricted, meaning that an end user must be present and authenticated to use it.
The end user must be:
- the dedicated EPS DoS system user
- authenticated, using the EPS DoS system username and password
Authentication for this API uses HTTP basic authentication based on username and password.
There is a sole dedicated user in DoS for the EPS DoS API. If you write a client to use this API, you need to obtain the credentials for this dedicated user. You then pass these credentials through to the EPS DoS API using basic HTTP authentication.
To obtain the credentials for the dedicated DoS system user, contact us.
Smartcards are not required.
For more details see Authentication.
The API itself does not perform any authorisation checks. Rather, the dedicated EPS DoS system user has a predefined role.
You can test this API using our Path to Live environments.