Developer quick reference
Scope: This page is for developers who need to retrieve or integrate machine-readable metadata from the Sciensano public FAIR Data Point. It intentionally avoids generic explanations and delegates the full endpoint contract to Swagger/OpenAPI.
The Sciensano Public FAIR Data Point exposes machine-readable metadata through a REST API. Published metadata records can be retrieved without authentication using HTTP GET requests and RDF content negotiation. Developers can request metadata as Turtle, JSON-LD, RDF/XML or N3 by setting the appropriate Accept header.
1. Entry points
| Item | Value |
| Base URL | https://public-fdp.sciensano.be |
| Swagger UI | https://public-fdp.sciensano.be/swagger-ui/index.html# |
| Example dataset URI | https://public-fdp.sciensano.be/dataset/ded3eb94-3bb9-42ca-9ead-2fe24cedb19f |
| Official FDP API documentation | https://docs.fairdatapoint.org/en/latest/usage/api-usage.html |
2. Metadata model
The metadata exposed by this FAIR Data Point is described using HealthDCAT-AP.
HealthDCAT-AP is a health-specific application profile of DCAT-AP. It defines how catalogues, datasets, distributions, data services and related metadata should be described for health data discovery and interoperability in the context of the European Health Data Space.
Developers consuming this API should interpret the RDF responses as HealthDCAT-AP metadata. This means that dataset descriptions may include both standard DCAT/DCAT-AP properties and health-specific HealthDCAT-AP properties.
For the exact metadata structure, classes, properties and controlled vocabularies, consult the HealthDCAT-AP specification: https://healthdataeu.pages.code.europa.eu/healthdcat-ap/releases/latest/index.html
3. Access model
Read access: Published metadata can be retrieved with public GET requests. No token is required for normal metadata harvesting.
| Action | Method | Endpoint pattern | Authentication | Notes |
| Retrieve metadata | GET | /{prefix}/{uuid} | No token for published metadata | Use the Accept header to choose RDF serialization. |
4. Resource prefixes
FDP endpoints are resource-oriented. Each metadata resource type is exposed through a URL prefix. The exact prefixes are configured by the FDP instance and should be confirmed in Swagger. Common prefixes are:
| Prefix | Typical RDF/DCAT resource | Typical use |
| /catalog/{uuid} | dcat:Catalog | Retrieve catalogue metadata and links to contained resources. |
| /dataset/{uuid} | dcat:Dataset | Retrieve dataset metadata, including title, description, publisher, themes and distributions. |
| /distribution/{uuid} | dcat:Distribution | Retrieve distribution-level metadata, such as access URL, format, media type or licence. |
Important: Use the identifiers returned in RDF links. Do not scrape the HTML user interface and do not construct child-resource URLs by guessing if the URI is already provided in the metadata.
5. Content negotiation
Use the HTTP Accept header to request the RDF serialization you need.
| Serialisation | Accept header | When to use |
| Turtle | text/turtle | Recommended for developers and RDF tooling; compact and readable. |
| JSON-LD | application/ld+json | Useful for web applications and JSON-based integration. |
| RDF/XML | application/rdf+xml | Useful for legacy RDF/XML pipelines. |
| N3 | text/n3 | Useful if your RDF stack expects N3. |
6. Retrieve metadata
Retrieve a dataset as Turtle:
| curl -H "Accept: text/turtle" \ https://public-fdp.sciensano.be/dataset/ded3eb94-3bb9-42ca-9ead-2fe24cedb19f |
Retrieve the same dataset as JSON-LD:
| curl -H "Accept: application/ld+json" \ https://public-fdp.sciensano.be/dataset/ded3eb94-3bb9-42ca-9ead-2fe24cedb19f |
Python example:
| import requests uri = "https://public-fdp.sciensano.be/dataset/ded3eb94-3bb9-42ca-9ead-2fe24cedb19f" headers = {"Accept": "text/turtle"} response = requests.get(uri, headers=headers, timeout=30) response.raise_for_status() print(response.text) |
7. Harvester checklist
- Start from the known FDP base URL and/or catalogue resources exposed by the instance.
- Request RDF with a clear Accept header; Turtle is usually the easiest for RDF pipelines.
- Follow RDF links to related catalogues, datasets and distributions instead of scraping HTML pages.
- Persist the resource URI and UUID; use them as stable identifiers in downstream synchronisation jobs.