SPARQL Endpoint
This API provides a way to perform structure queries against the NHS Organization dataset. E.g. finding all sites associated with a given primary care trust, listing organizations of a specific type, etc.
See the example query section further down this page for a list of useful queries to run against the dataset.
Table of contents
Endpoint URL
Login to test this query using our experimental API explorer
Authentication
You will need your API key in order to authenticate to this API. You have two options for authentication:
- By URL Parameter -- add a
apikeyparameter to your request URL, with your key as the value - By Request Header -- add a custom HTTP header called
X_KASABI_APIKEYto your HTTP request, with your key as the value
For more information on Kasabi authentication options read the authentication documentation. Your API key will need to be authorized to use this service.
Parameters
This API supports the following request parameters:
| Parameter Name | Parameter Value(s) | Required? | Notes |
|---|---|---|---|
query | URL encoded SPARQL query | Yes | This is the query to execute against the dataset |
output | Short name for desired response format | No | Supports selecting response format using url parameter rather than HTTP Accept header. |
HTTP Response Codes
Clients should be prepared to receive any valid HTTP response code. The following table lists the most frequently used codes
| Code | Meaning |
|---|---|
200 OK | Successful Request |
400 Bad Request | Missing or malformed SPARQL query |
401 Not Authorized | API key is not authorized to access the data |
Please also review our additional notes on response codes.
Response Formats
| Query Type | Response Format | Accept Header | output parameter | Notes |
|---|---|---|---|---|
| SELECT or ASK | application/sparql-results+json | application/sparql-results+json | json | Return results in SPARQL JSON results format |
| SELECT or ASK | application/sparql-results+xml | application/sparql-results+json | xml | Return results in SPARQL XML results format |
| CONSTRUCT or DESCRIBE | application/rdf | application/rdf | rdf (or xml) | Return results as RDF/XML |
| CONSTRUCT or DESCRIBE | application/rdf | application/rdf | rdf (or xml) | Return results as RDF/XML |
| CONSTRUCT or DESCRIBE | application/json | application/json | json | Return results as RDF/JSON |
| CONSTRUCT or DESCRIBE | text/turtle | text/turtle | turtle | Return results as Turtle |
| CONSTRUCT or DESCRIBE | text/plain | text/plain | ntriples | Return results as NTriples |
Sample Queries
This query lists the name and code for all UK Primary Care Trusts. The query can be easily amended to select a different type of resource, e.g. nhs:CareTrust, nhs:AcuteTrust, nhs:Dispensary, etc.
Provided with the unique NHS ODS code for an Organization, this query finds the name of that site and its primary address. An organization may actually have several sites associated with it, but this query just returns the main site, which will typically be the head-quarters.
This query returns the URI, code and name for all organizations associated with a specific Primary Care Trust. The query is written to allow the PCT to be identified by its unique code, rather than its URI.
This query finds the URI, code, and name for all General Practices associated with a specific post code. The post code is specified using an Ordnance Survey URI.
This query finds all General Practices associated with a specific post code and then the GPs associated with each practice.
For a given organization code, this query will return the URI for the organization, its name and, where available references to its homepage, RSS feed, Facebook page, Flickr and Twitter accounts.