HSE APIwww2.hse.ie ↗
Search HSE vaccine locations in Ireland. Returns pharmacy names, addresses, contact info, and distance sorting via one endpoint with pagination support.
What is the HSE API?
The HSE Vaccine Locations API exposes 1 endpoint — search_vaccine_locations — that returns paginated pharmacy and vaccination site data from Ireland's Health Service Executive directory. Each response includes up to 10 results per page with fields covering pharmacy details, addresses, contact information, and distance from a provided coordinate. You can filter by vaccine service type or query by geographic coordinates to surface nearby providers.
curl -X GET 'https://api.parse.bot/scraper/afa39ada-1fe6-441b-b20d-82a03908a79a/search_vaccine_locations?page=1&service=adult-flu-vaccine&latitude=53.3498&longitude=-6.2603&location_name=Dublin%2C+Ireland' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace www2-hse-ie-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: HSE Vaccine Finder — search pharmacies offering vaccines in Ireland."""
from parse_apis.www2_hse_ie_api import HSEVaccine, VaccineService, LocationHashError
client = HSEVaccine()
# Search all vaccine locations (alphabetical), capped at 5
for loc in client.vaccine_locations.search(limit=5):
print(loc.name, loc.county, loc.eircode)
# Filter by COVID-19 vaccine service
covid_location = client.vaccine_locations.search(
service=VaccineService.COVID_19, limit=1
).first()
if covid_location:
print(covid_location.name, covid_location.services, covid_location.phone)
# Location-based search near Dublin, sorted by distance
nearby = client.vaccine_locations.search(
latitude="53.3498", longitude="-6.2603", location_name="Dublin, Ireland", limit=3
)
for loc in nearby:
print(loc.name, loc.distance_meters, loc.town)
# Typed error handling
try:
result = client.vaccine_locations.search(
latitude="invalid", longitude="bad", limit=1
).first()
except LocationHashError as exc:
print(f"Location error: {exc}")
print("exercised: vaccine_locations.search (all / filtered / geo-sorted / error)")
Search for pharmacies and locations offering vaccines in Ireland. Returns paginated results sorted alphabetically by default, or by distance when coordinates are provided. Supports filtering by vaccine service type. Each result includes pharmacy details, address, contact information, services offered, and optional booking links.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. 10 results per page. |
| service | string | Filter by vaccine service type. Omitted returns all locations regardless of service. |
| latitude | string | Latitude coordinate for location-based search (decimal degrees, e.g. 53.3498). When provided with longitude, results are sorted by distance from this point. |
| longitude | string | Longitude coordinate for location-based search (decimal degrees, e.g. -6.2603). Must be provided together with latitude. |
| location_name | string | Human-readable name for the search location (e.g. 'Dublin, Ireland'). Used for display purposes in distance-sorted results. Defaults to the coordinate values if omitted. |
{
"type": "object",
"fields": {
"page": "integer",
"locations": "array of vaccine location objects with pharmacy details",
"page_size": "integer",
"total_count": "integer",
"total_pages": "integer"
},
"sample": {
"data": {
"page": 1,
"locations": [
{
"id": 2906,
"kind": "Pharmacy",
"name": "Hickey's Pharmacy Henry Street",
"slug": "hickeys-pharmacy-henry-street",
"town": "Dublin City",
"phone": "+1 (555) 012-3456",
"county": "Dublin",
"eircode": "D01 AK46",
"website": null,
"address1": "6 Henry Street",
"address2": "",
"latitude": 53.3495558,
"services": [
"Adult flu vaccine",
"Children's flu vaccine",
"COVID-19 vaccine"
],
"longitude": -6.2612128,
"booking_url": "https://www.hickeyspharmacies.ie/hickeys-booking-portal",
"distance_meters": 66,
"google_maps_link": null
}
],
"page_size": 10,
"total_count": 1409,
"total_pages": 141
},
"status": "success"
}
}About the HSE API
What the API Returns
The search_vaccine_locations endpoint queries the HSE's database of pharmacies and clinics offering vaccines in Ireland. Each response includes page, page_size, total_count, total_pages, and a locations array. Every item in locations contains pharmacy details, a full address, and contact information. Results default to alphabetical order; supplying latitude and longitude switches sorting to proximity-based distance.
Filtering and Pagination
Pagination is controlled with the page parameter — each page returns 10 results. The service parameter filters results to a specific vaccine type (e.g., flu or COVID-19). When both latitude and longitude are provided together, the API returns results sorted by distance from that point. The optional location_name parameter accepts a human-readable label such as 'Dublin, Ireland' and is used for display purposes in distance-sorted responses — it does not affect which results are returned.
Coverage and Scope
Data covers pharmacies and vaccination sites listed in the HSE's official find-a-vaccine directory at www2.hse.ie. The dataset is specific to the Republic of Ireland. Coverage reflects whatever locations are active in the HSE's own system at query time, so availability of specific vaccine types at individual pharmacies depends on what the HSE directory records.
The HSE API is a managed, monitored endpoint for www2.hse.ie — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when www2.hse.ie changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official www2.hse.ie API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a vaccine location finder app that sorts pharmacies by distance from a user's GPS coordinates
- Filter available flu vaccine providers in a specific region using the
serviceparameter - Display paginated lists of all COVID-19 vaccination sites across Ireland
- Integrate HSE pharmacy contact details into a healthcare directory or chatbot
- Map all vaccine locations in Ireland using the address fields returned in
locations - Alert users to the total number of vaccine providers available in their area via
total_count
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does HSE have an official developer API for vaccine location data?+
What does the `locations` array in the response actually contain?+
locations includes pharmacy name, full address, contact information, and — when coordinates are provided — distance from the queried point. The response also includes pagination metadata: page, page_size, total_count, and total_pages.Does the API cover vaccine availability or stock levels at each pharmacy?+
Is coverage limited to the Republic of Ireland?+
What happens if I omit the `service` parameter?+
service returns all vaccine locations regardless of the service type they offer — both flu and COVID-19 providers are included in the results. Passing a specific service value narrows results to only those locations offering that vaccine type.