Gas Safe Register APIgassaferegister.co.uk ↗
Search Gas Safe Register by location or postcode. Retrieve UK registered gas businesses, engineer details, qualifications, and registration status via 3 endpoints.
What is the Gas Safe Register API?
The Gas Safe Register API exposes 3 endpoints for searching and verifying UK-registered gas businesses and engineers. Use search_businesses to find certified businesses by city or postcode with full contact details, or get_business_engineers to look up a specific business by registration number and retrieve every engineer on its register along with their qualifications, services, and current status.
curl -X GET 'https://api.parse.bot/scraper/82a3f423-3c12-4a96-adf0-1f9c67dc1389/search_businesses?location=Cambridge&max_pages=2' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for Gas Safe registered businesses near a location and, for each business, fetch its registered engineers. Each result is one business (10 per listing page); the engineers array is populated by one extra request per business when include_engineers is 'true', so a call costs roughly 3 + pages + 10*pages requests. Pagination: `page` is the first listing page to read and `max_pages` (1-25, default 1) is how many consecutive pages to combine into one response; the walk stops early at the last page. The response reports total_results/total_pages from the site, pages_fetched, last_page, has_more (true when pages remain after last_page) and results_on_page (number of businesses returned in this response across all fetched pages). The site orders results randomly on every page load, so the same business can appear on more than one page and multi-page results are not guaranteed to be distinct or complete. A location with no matches returns an empty businesses array; page or max_pages below 1 returns a stale_input error.
| Param | Type | Description |
|---|---|---|
| page | integer | First listing page to read (1-indexed, 10 results per page). |
| locationrequired | string | City/town name (e.g. 'Cambridge') or UK postcode (e.g. 'CB1 1JY'). When the site offers several matching places the one whose name exactly matches is used, else the first. |
| max_pages | integer | Number of consecutive listing pages to fetch and combine, starting at page; values above 25 are clamped to 25. |
| service_type | string | Gas service category to search; forwarded to the site as given. |
| include_engineers | string | 'true' to fetch the engineers array for each business (one extra request per business); 'false' to leave it empty. |
{
"type": "object",
"fields": {
"page": "integer - First page fetched",
"has_more": "boolean - true when listing pages remain after last_page",
"location": "string - Search location used",
"last_page": "integer - Last listing page read",
"max_pages": "integer - Effective page budget after clamping to 25",
"businesses": "array of business objects: business_name, trading_name, registration_number, telephone, email, address{premise,street,town,county,postcode,full_address}, distance_miles, out_of_hours_available, engineers[] (name, services, telephone, status)",
"total_pages": "integer - Total listing pages (total_results / 10, rounded up)",
"service_type": "string - Service type filter used",
"pages_fetched": "integer - Number of listing pages actually read",
"total_results": "integer - Total result count reported by the site",
"results_on_page": "integer - Number of businesses in this response (all fetched pages combined)"
},
"sample": {
"data": {
"page": 1,
"has_more": true,
"location": "Cambridge",
"last_page": 2,
"max_pages": 2,
"businesses": [
{
"email": "[email protected]",
"address": {
"town": "CAMBRIDGE",
"county": "Cambridgeshire",
"street": "Teversham",
"premise": "123 Main St",
"postcode": "CB1 9AX",
"full_address": "123 Main St, Teversham, CAMBRIDGE, Cambridgeshire, CB1 9AX"
},
"engineers": [
{
"name": "John Doe",
"status": "Registered",
"services": [
"Domestic"
],
"telephone": null
}
],
"telephone": "+1 (555) 012-3456",
"trading_name": null,
"business_name": "Matt Evans Heating Limited",
"distance_miles": "",
"registration_number": "522157",
"out_of_hours_available": false
}
],
"total_pages": 5,
"service_type": "Domestic",
"pages_fetched": 2,
"total_results": 50,
"results_on_page": 20
},
"status": "success"
}
}About the Gas Safe Register API
What the API Returns
All three endpoints draw from the official Gas Safe Register, the UK's legal register for gas engineers. search_businesses_basic returns a paginated list of businesses matching a city name or postcode — each object includes the business name, telephone, email, address, and Gas Safe registration number. search_businesses extends that by also returning an engineers array per business, at the cost of additional latency. get_business_engineers targets a single business by its registration_number and returns that business's full engineer list, including each engineer's name, telephone, services covered, and current registration status.
Filtering and Pagination
All search endpoints accept a location parameter (required) accepting either a city name such as Cambridge or a UK postcode such as CB1 1JY. An optional service_type filter narrows results to Domestic or Commercial gas work. Results are paginated at 10 per page; the page parameter is 1-indexed. Each response includes total_results and results_on_page so callers can implement full pagination loops. Note that the upstream source returns results in a random order, so the same location query may produce differently-ordered pages across requests.
Engineer Detail Fields
When engineer data is present — either via include_engineers=true on a search or via get_business_engineers — each engineer object carries name, services (the gas work categories they are qualified for), telephone, and status (active/expired). The business object itself includes out_of_hours_available, which indicates whether the business accepts emergency callouts outside standard working hours.
Coverage Notes
The API covers businesses and engineers currently listed on Gas Safe Register for Great Britain, Isle of Man, Jersey, and Guernsey. Results reflect the current state of the register and are subject to updates as engineers add, renew, or lose their Gas Safe certification.
The Gas Safe Register API is a managed, monitored endpoint for gassaferegister.co.uk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when gassaferegister.co.uk 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 gassaferegister.co.uk 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 postcode-based directory of local Gas Safe registered engineers for a home services platform
- Verify a contractor's Gas Safe registration number before booking using
get_business_engineers - Filter search results by
service_typeto surface only commercial gas engineers for B2B procurement tools - Aggregate engineer qualification data across a city to analyse local coverage of specific gas services
- Automate registration status checks for landlords who must confirm engineer credentials for annual gas safety certificates
- Power a trade insurance quoting tool by pre-filling engineer and business details from the register
| 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 Gas Safe Register have an official developer API?+
What does `get_business_engineers` return that the search endpoints don't?+
get_business_engineers takes a single registration_number and returns the full engineer list for that specific business, including each engineer's name, services, telephone, and status. The search endpoints return businesses by location; engineer detail is only included when you pass include_engineers=true to search_businesses, which adds latency. If you already have a registration number, get_business_engineers is the direct and faster path.Why do repeated searches for the same location return results in a different order?+
Does the API return historical or expired engineer records?+
status field that indicates active or expired registration, but the API does not expose historical records of past engineers or lapsed businesses. You can fork this API on Parse and revise it to add an endpoint targeting historical or lapsed registration lookups if that surface becomes available.Can I retrieve a list of all Gas Safe businesses nationally, without filtering by location?+
location parameter or a specific registration_number. There is no endpoint for a full national dump or region-agnostic browse. You can fork this API on Parse and revise it to add a broader enumeration endpoint if your use case requires national coverage.