UK HSE Convictions + Notices - Enforcement Delta API avatar

UK HSE Convictions + Notices - Enforcement Delta API

Under maintenance

Pricing

from $3.00 / 1,000 record (full detail)s

Go to Apify Store
UK HSE Convictions + Notices - Enforcement Delta API

UK HSE Convictions + Notices - Enforcement Delta API

Under maintenance

Track UK HSE enforcement action: prosecutions and fines from the register of convictions, plus Improvement and Prohibition notices. Filter by company name, region, industry, fine amount, notice type and date. Delta mode flags new and updated compliance risk. Pay per record, no proxy needed.

Pricing

from $3.00 / 1,000 record (full detail)s

Rating

0.0

(0)

Developer

Stefano Seggio

Stefano Seggio

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

10 days ago

Last modified

Categories

Share

UK HSE Convictions + Notices — Enforcement Delta API

The UK's workplace-safety enforcement register updates constantly. Reading it by hand doesn't scale.

If you track UK health-and-safety compliance risk — for due diligence, supplier vetting, or your own regulatory exposure — your only option is manually paging through HSE's conviction and notice registers yourself. This Actor solves that: it delta-tracks both the prosecutions/fines register and the Improvement/Prohibition notices register, and tells you the moment something new or updated appears.


Why this outperforms a standard scraper

  • Delta tracking, not re-scraping. Every conviction and notice is fingerprinted on every run. Unchanged records are never re-delivered — and never billed.
  • Pay only for what's new. A full-detail record — the case or notice page plus its breach/legislation detail and, when enabled, the defendant or recipient profile — costs $0.003. A listing-only summary record costs $0.001. An unchanged record costs nothing.
  • Honest failure reporting. When HSE's own servers are unreachable at the network level, this Actor reports that distinctly — as an external outage, not a code defect — instead of quietly returning a "run failed" error that leaves you guessing whether the pipeline is broken or the government's website is just down. That distinction is verified in this Actor's own production logs.

See it before you trust it

{
"record_id": "HSE-CONV-4849124",
"register": "convictions",
"event_type": "NEW_LISTING",
"defendant_name": "Example Construction Ltd",
"region": "London",
"industry": "Construction",
"fine_amount_gbp": 85000,
"conviction_date": "2026-09-08"
}

Notice fine_amount_gbp and industry — filterable, structured fields, not a wall of prose you'd have to parse yourself.

Zero-risk trial

Unchanged records cost $0.00. Run it once against real data before you commit to anything:

curl -X POST "https://api.apify.com/v2/acts/jV35qppM82fjyjsle/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"datasets":["convictions","notices"],"onlyNew":true,"maxItemsPerDataset":50}'
import requests
response = requests.post(
"https://api.apify.com/v2/acts/jV35qppM82fjyjsle/run-sync-get-dataset-items",
params={"token": "<YOUR_API_TOKEN>"},
json={"datasets": ["convictions", "notices"], "onlyNew": True, "maxItemsPerDataset": 50},
)
records = response.json()
print(f"{len(records)} records returned")
const response = await fetch(
"https://api.apify.com/v2/acts/jV35qppM82fjyjsle/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>",
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
datasets: ["convictions", "notices"],
onlyNew: true,
maxItemsPerDataset: 50,
}),
}
);
const records = await response.json();
console.log(`${records.length} records returned`);

Pricing

EventWhat it meansPrice
Record (full detail)The case/notice page plus its breach/legislation detail and, when enabled, the defendant/recipient profile.$0.003
Record (listing summary)A listing-only record — register row fields, when detail fetch is off or a page couldn't be read.$0.001

Actor-start fee: $0.00005/GB-memory (one-time per run, not per record).

What you get on every record

  • Register source: convictions or notices
  • Company/defendant name, region, and industry
  • Fine amount (convictions) or notice type (notices)
  • Filterable by company name, region, industry, fine amount, notice type, and date
  • Delta classification so unchanged records are never re-billed

Input parameters

FieldTypeDescriptionDefault
datasetsarrayWhich registers to monitor: convictions, notices, or both.["convictions","notices"]
maxItemsPerDatasetintegerCaps how many records per register are processed in one run.50
onlyNewbooleanWhen true, only new records are returned.true

Source & reliability

Source is HSE's own public convictions and notices registers, requested with a standard browser User-Agent and no proxy. This Actor is the operator's reference implementation for handling real upstream instability: when the register itself becomes unreachable at the network level, the run reports [UPSTREAM_OUTAGE] with the specific host and error code — verified live against a real multi-day outage — rather than surfacing a generic failure indistinguishable from an actual bug.

Current status (2026-09-22)

This Actor's target, resources.hse.gov.uk, has been unreachable at the network level (EHOSTUNREACH) since at least 2026-09-14 — independently confirmed from outside Apify's own infrastructure on 2026-09-22, so this is a real outage of the UK government's own server, not an Apify proxy or bot-detection issue. This Actor's error handling already classifies these failures honestly as [UPSTREAM_OUTAGE] rather than a generic run failure (see the sample in test/live.test.ts), which is why the Store's 30-day success-rate figure looks poor despite the Actor's own code being unaffected. There is no code fix for a genuinely unreachable origin server; this section will be removed once resources.hse.gov.uk is confirmed reachable again on a fresh run.