Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/nhs-england-valueset-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: organisation-data-terminology-api Value Set API
version: 1.0.1-alpha
contact:
name: ODS FHIR API Support
url: https://digital.nhs.uk/developer/help-and-support
email: api.management@nhs.net
description: "\n\n## Overview\nUse this API to access a dataset of health and social care organisations, such as trusts or GP practices, using the [Organisation Data Service (ODS)](https://digital.nhs.uk/services/organisation-data-service). \n\nThe FHIR API contains the majority of ODS Content, including Organisations, practitioners and geographic information. It contains all the content found within the [ODS ORD API](http://digital.nhs.uk/developer/api-catalogue/organisation-data-service-ord) and the [ODS STU3 API](https://digital.nhs.uk/developer/api-catalogue/organisation-data-service-fhir)\n\nODS holds information for many different types of organisation related to health and social care – mostly in England but also other countries depending on the type of Organisation. For the full scope of data coverage of the ODS APIs, see [Organisation Data Service - data coverage](https://digital.nhs.uk/services/organisation-data-service/ods-data-coverage). \n\nEvery organisation in ODS has a unique identifier called an ODS code. \n\nUsing this API, you can:\n\n - search for an organisation to find its ODS code \n - get organisation details for a given ODS code\n - get details of related organisations\n - search for a practitioner to find their ODS code \n - get practitioner details for a given ODS code \n - get geographic boundaries for a postcode \n - get details of recently deleted or partially deleted records \n\nYou can also limit the number of results returned, or just request a count of the number of search results.\n\nThis FHIR API makes use of the Organization and OrganizationAffiliation FHIR resources plus range of CodeSystems to deliver the full suite of data, which you will use will depend on your need. \n\n\n### Organisation Data\n\nWe have been able to align the majority of data we hold for an organisation into the FHIR resources Organization and OrganizationAffiliation, through the limited use of extensions, however some previously available information could not be included.\n\nTo access the Organisation attributes which are not included in the Organization resource use the ods-organization-code CodeSystem. The CodeSystem resource returns the following additional information:\n\n - organisation – Assigning Authority \n - related entities, the current related entity of any supported relationships \n - succession - any predecessors and/or successors and a flag to indicate the successor has also been succeeded \n - geographic - the appropriate mapping from the postcode dataset including Local Authority, Integrated Care Board or Lower Super Output Area (LSOA) \n\n### Practitioner Data\nODS publishes a limited set of prescribers held by the Business Services Authority, which includes General Practitioners and Nurse Prescribers, alongside Hospital and Dental Consultants provided by the workforce census returns.\n\nThese codes have not been made available within the Pracitioner Resource as it is felt thet they do not accurately represent an indindiual, but rather reflect their prescribing activities.\n\nTo access the Practitioner data you will need to use the practitioner CodeSystem in conjunction with the practitioner-relationship-instance CodeSystem which contians the relationship between a practitioner and the organisation at which they work. \n\n### Postcodes and geographic boundaries available\n\nFor every postcode within the NHS Postcode Directory, we have compiled a CodeSystem which contains the postcode along with its key Health and Social Care boundaries, including, Primary Care Organisations, Integrated Care Boards, Local Authority 2011 Lower Super Output Areas (LSOA11), Cancer Alliances and NHS England Regions \n\n### CodeSystems to support the full range of ODS Content\n\nIn Addition to the ods-organisation-code CodeSystem mentioned above, there are also CodeSystems for:\n\n- practitioner - includes details about related organisation (where a practitioner is based/works) and type of practitioner\n- postcode - contains various geographic values/boundaries for a postcode including which Lower Super Output Area, Parliamentary Constituency, Local Authority and Integrated Care Board boundary a postcode falls within\n- organization-relationship-instance – contains historic and current relationships\n- organization-role-instance – contains historic and current role instances \n- practitioner-role – contains the role a practitioner performs (currently limited to prescriber types/roles and consultants)\n- practitioner-relationship-instance – contains the associations between Prescribers (GPs) and GP Practices only \n- ODSOrganisationRole – reference Data for Primary and Non Primary Roles (Role ID, Role Name, and Primary/Non Primary indicator)\n- ODSRelationship – reference data for Relationships (Relationship Type ID and Relationship Name) \n- ODSRecordClass – reference data for record classes ie org or site \n- ODSRecordUseType – reference data for the type of use – Full for current records, refOnly for minimal records included for referential integrity\n- geography-name – reference data for ONS identifiers used within the Postcode CodeSystem \n\n\n<section class=\"nhsd-m-emphasis-box nhsd-m-emphasis-box--important nhsd-!t-margin-bottom-6\" aria-label=\"Important Information\">\n <div class=\"nhsd-a-box nhsd-a-box--border-yellow\">\n <div class=\"nhsd-m-emphasis-box__image-box\">\n <figure class=\"nhsd-a-image\">\n <picture class=\"nhsd-a-image__picture\">\n <img src=\"http://digital.nhs.uk/binaries/content/gallery/icons/book-open.svg?colour=231f20\" alt=\"\" style=\"object-fit:fill\" />\n </picture>\n </figure>\n </div>\n <div class=\"nhsd-m-emphasis-box__content-box\">\n <div data-uipath=\"website.contentblock.emphasis.content\" class=\"nhsd-t-word-break\"><p class=\"nhsd-t-body\">For a non-technical overview of how to build software that deals with organisations and healthcare services, see <a href=\"https://digital.nhs.uk/developer/guides-and-documentation/building-healthcare-software/organisations-and-services\">Building healthcare software - organisations and healthcare services</a>.</p></div>\n </div>\n </div>\n</section>\n\n\n## Who can use this API\nThere are no particular restrictions on what this API can be used for. \n\nIt can be used free of charge by public sector organisations in England, Scotland and Wales, including the NHS. This includes use by software developers building software for the public sector.\n\n## Related APIs\nThe following APIs also gives access to the Organisation Data Service:\n- [ODS Organisation Reference Data (ORD) API](https://digital.nhs.uk/developer/api-catalogue/organisation-data-service-ord) - a richer version conforming to DCB000090 Standard, soon to be deprecated.\n- [ODS Organisation Reference Data (FHIR - STU3) API](https://digital.nhs.uk/developer/api-catalogue/organisation-data-service-fhir) - STU3 version contains a minimal organization record, soon to be deprecated.\n\n\n## API status and roadmap\nThis API is [in development](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#statuses).\n\nTo see our roadmap, or to suggest, comment or vote on features for this API, see our [interactive product backlog](https://nhs-digital-api-management.featureupvote.com/?order=popular&filter=allexceptdone&tag=ods-api#controls).\n\nIf you have any other queries, [contact us](https://digital.nhs.uk/developer/help-and-support).\n\n## Service level\nThis API is a bronze service, meaning it is operational and supported only during business hours (8am to 6pm), Monday to Friday excluding bank holidays.\n\nFor more details, see [service levels](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#service-levels).\n\n## Technology\nThis API is [RESTful](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#basic-rest).\n\nIt also conforms to the [FHIR](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#fhir) global standard for health care data exchange. Specifically to FHIR R4 (v4.0.1), we have been working closely with the Interoperability team to develop and publish [Implementation guidance](https://simplifier.net/guide/organisation-data-services).\n\nYou do not need to know much about FHIR to use this API - FHIR APIs are just RESTful APIs that follow specific rules. In particular:\n- resource names are capitalised, singular and in American English, for example `/Organization` not `/organisations`\n- array names are singular, for example `line` not `lines` for address lines\n- data items that are country-specific and thus not included in the FHIR global base resources are usually wrapped in an `extension` object\n\nThere are [libraries and SDKs available](https://digital.nhs.uk/developer/guides-and-documentation/api-technologies-at-nhs-digital#fhir-libraries-and-sdks) to help with FHIR API integration.\n\n## Network access\nThis API is available on the internet and, indirectly, on the [Health and Social Care Network (HSCN)](https://digital.nhs.uk/services/health-and-social-care-network).\n\nFor more details see [Network access for APIs](https://digital.nhs.uk/developer/guides-and-documentation/network-access-for-apis).\n\n## Security and authorisation\n### Application-restricted access\n#### still to be decided\nThis API is [application-restricted](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#application-restricted-apis), meaning we authenticate the calling application but not the end user.\n\n## Errors\nWe use standard HTTP status codes to show whether an API request succeeded or not. They are usually in the range:\n- 200 to 299 if it succeeded, including code 202 if it was accepted by an API that needs to wait for further action\n- 400 to 499 if it failed because of a client error by your application\n- 500 to 599 if it failed because of an error on our server\n\nErrors specific to each API are shown in the Endpoints section, under Response. See our [reference guide](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#http-status-codes) for more on errors.\n\n\n## Environments and testing\n\n| Environments | Base URLs |\n| ----------------- | ---------------------------------------------------------------------- |\n| User acceptance test (UAT) |TBC |\n| Production |TBC |\n\nFor example:\n`TBC/fhir/Organization/RJY`\nreturns the dataset for the organisation whose ODS code is RJY.\n\n### Integration testing\nYou can use the UAT environment to perform your integration testing.\n\n## Onboarding\n\n\n#### still to be decided if we use the Term server\nIndividual users can access content on the NHS England Terminology Server(ODS Instance) with a registered account.\n\nShrimp is a terminology browser that is freely available on the internet, but it is only for browsing the content. The Terminology Server does not come with a built-in browser, so Shrimp is given as an example of a browsing tool, freely accessible on the internet. Other browsers can be used.\n\nIf you are interested in integrating a software application with the Terminology Server, or if you want to [syndicate content to your own Terminology Server](https://digital.nhs.uk/services/terminology-server#syndication), you will need to complete a [system-to-system request form]https://digital.nhs.uk/services/terminology-server/system-to-system-account-request-form.\n"
servers:
- url: https://beta.ods.dc4h.link/fhir/
description: User acceptance test (UAT) environment.
- url: https://jenkins.ods.dc4h.link/fhir/
description: Production environment.
tags:
- name: ValueSet
paths:
/ValueSet/:
post:
summary: Perform a ValueSet expansion
operationId: search-ods-organization-code
description: "## Overview\nTo retrieve a subset of records from an individual CodeSystem, you will need to perform a 'POST' operation, in which you will provide the details of the CodeSystem you are searching, along with any filters to be applied and properties you wish to include in the results.\n\nWhen you make a 'POST' operation, you perform an expansion on a ValueSet and provide a requestBody. The endpoint will return a successful (200) response code along with the search results, which may be an empty array if no records match your criteria. or an unsuccesful (4xx/5xx) response.\n\n \n \n"
requestBody:
content:
application/fhir+json:
example:
resourceType: Parameters
parameter:
- name: valueSet
resource:
resourceType: ValueSet
compose:
inactive: true
include:
- system: https://fhir.nhs.uk/Id/ods-organization-code
filter:
- property: lastChangeDate
op: '='
value: gt2024-02-01
- name: activeOnly
valueBoolean: false
- name: property
valueString: primaryRole
- name: property
valueString: country
- name: count
valueInteger: '2'
responses:
'200':
description: a valid
content:
application/fhir+json:
example:
resourceType: ValueSet
expansion:
identifier: urn:uuid:7799a8c4-2d2a-4d74-b647-2d50aad98904
timestamp: '2024-03-25T14:42:24+00:00'
total: 4725
offset: 0
parameter:
- name: version
valueUri: https://fhir.nhs.uk/Id/ods-organization-code|2024-03-07
- name: used-codesystem
valueUri: https://fhir.nhs.uk/Id/ods-organization-code|2024-03-07
- name: activeOnly
valueBoolean: false
- name: count
valueInteger: 2
contains:
- extension:
- url: http://hl7.org/fhir/5.0/StructureDefinition/extension-ValueSet.expansion.contains.property
extension:
- url: code
valueCode: primaryRole
- url: value
valueCoding:
system: https://digital.nhs.uk/services/organisation-data-service/CodeSystem/ODSOrganisationRole
code: RO104
- url: http://hl7.org/fhir/5.0/StructureDefinition/extension-ValueSet.expansion.contains.property
extension:
- url: code
valueCode: country
- url: value
valueString: ENGLAND
system: https://fhir.nhs.uk/Id/ods-organization-code
code: AT32
display: FORGET ME NOT CARING LTD
- extension:
- url: http://ontoserver.csiro.au/profiles/expansion
extension:
- url: inactive
valueBoolean: true
- url: http://hl7.org/fhir/5.0/StructureDefinition/extension-ValueSet.expansion.contains.property
extension:
- url: code
valueCode: primaryRole
- url: value
valueCoding:
system: https://digital.nhs.uk/services/organisation-data-service/CodeSystem/ODSOrganisationRole
code: RO172
- url: http://hl7.org/fhir/5.0/StructureDefinition/extension-ValueSet.expansion.contains.property
extension:
- url: code
valueCode: country
- url: value
valueString: ENGLAND
system: https://fhir.nhs.uk/Id/ods-organization-code
inactive: true
code: AT9
display: SOUTH EAST LAMBETH HEALTH PARTNERSHIP
4XX:
description: "An error occurred as follows:\n\n | HTTP Code | issue.severity | issue.code | issue.details.code | issue.details.display |\n |------------ |----------------|---------------|---------------------|--------------------- |\n |400 |error |invalid |HAPI-1940 |Invalid Date/Time/Quantity format |\n |400 |error |invalid |HAPI-0524 |Unknown Search Parameter|\n |404 |error |invalid |HAPI-2001 |Organization not found |\n |405 |error |method not allowed|HAPI-0427 |Method Not Allowed |\n |422 |unprocessable |too-costly |Too many records requested (Use _count and _offset)|Invalid parameter |\n |422 |unprocessable |processing |No declared filter on Codesystem |An input field has an invalid value for its type |\n \n"
tags:
- ValueSet