# England Social Housing Regulatory Risk Signals (`starshaped_bullsnake/england-social-housing-regulatory-risk-signals`) Actor

Monitor official Regulator of Social Housing data for England and return meaningful provider, grading, review, judgement, and enforcement changes.

- **URL**: https://apify.com/starshaped\_bullsnake/england-social-housing-regulatory-risk-signals.md
- **Developed by:** [Starshape Tools](https://apify.com/starshaped_bullsnake) (community)
- **Categories:** Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $30.00 / 1,000 england social housing regulatory signals

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## England Social Housing Regulatory Risk Signals

Monitor official regulatory data and return only meaningful changes. This Actor is limited to England and combines the Regulator of Social Housing provider register, published regulatory judgements and enforcement notices, and the current Gradings Under Review list into a persistent provider-level regulatory state.

### Signals

- `NEW_REGISTERED_PROVIDER` and `PROVIDER_DEREGISTERED`
- `CONSUMER_GRADE_CHANGED`, `GOVERNANCE_GRADE_CHANGED`, and `VIABILITY_GRADE_CHANGED`
- `GRADE_DOWNGRADE` and `GRADE_UPGRADE`
- `ADDED_TO_GRADINGS_UNDER_REVIEW` and `REMOVED_FROM_GRADINGS_UNDER_REVIEW`
- `NEW_REGULATORY_JUDGEMENT`
- `NEW_ENFORCEMENT_NOTICE`

New enforcement notices are critical. Addition to Gradings Under Review and official grade downgrades are high severity. Grade upgrades and removal from review are low-severity informational changes. Other grade and judgement changes are medium severity.

### Official England sources

- [Registered providers of social housing](https://www.gov.uk/government/publications/registered-providers-of-social-housing) — XLSX, normally updated around the middle of each month
- [Regulatory judgements, enforcement notices and gradings](https://www.gov.uk/government/collections/regulatory-judgements-and-enforcement-notices) — searchable XLSX, updated when publications are released
- [Gradings Under Review](https://www.gov.uk/guidance/gradings-under-review-list) — official current England list, updated when providers enter or leave review

The RSH registration number is the stable provider key across sources. Provider names are descriptive only and are never used for entity matching. GOV.UK content is available under the Open Government Licence unless otherwise stated.

### Grade handling

The Actor follows the RSH definitions in which C1/G1/V1 are the strongest grades and C4/G4/V4 represent the most serious failings or intervention. It emits upgrade/downgrade signals only when both old and new values are known official grades in the same dimension. Unknown grades are not ranked. Null-to-value and value-to-null transitions are not classified as upgrades, downgrades, or risk events.

### Baseline and snapshot safety

The first successful live run validates every source and stores a full baseline without emitting all existing providers as new. Later runs compare a newly merged provider regulatory state with the previous successful snapshot. An identical source state emits zero signals.

The order is fetch, validate, normalize/merge, load the previous snapshot, diff, write Dataset records, write/validate `SUMMARY`, then commit the full snapshot. Fetch, parsing, schema, source-count, Dataset, or summary failures leave the prior baseline authoritative. Per-source collapse guards compare current counts with prior successful counts. Filters and `maxItems` affect Dataset output only and never truncate the snapshot.

`mode=sample` provides a fresh-account demonstration through the same diff engine without external requests or production baseline access.

### Input and output

Inputs include `mode`, `maxItems`, optional `signalTypes`, optional `registrationNumbers`, optional `providerQuery`, and `baselineOnly`. Each Dataset record contains one signal, severity, RSH registration number, provider details, grade or publication context, official source, and detection time. `SUMMARY` reports England scope, source and provider counts, signal counts, and snapshot status.

### Limitations

This Actor reports published RSH information for England. Source updates are periodic, not real time. Small providers may not receive grades. A published judgement can cover more than one landlord, while the workbook assigns the publication to its primary RSH registration code. The Actor does not guarantee compliance or risk detection, predict future intervention, replace complete due diligence, or provide legal advice. Compute downloads and normalizes the full official workbooks; persistent key-value storage retains only the latest successful full snapshot.

# Actor input Schema

## `mode` (type: `string`):

Use live for official RSH England sources or sample for self-contained change examples.

## `maxItems` (type: `integer`):

Maximum Dataset records. The persistent full provider snapshot is never truncated.

## `signalTypes` (type: `array`):

Optional exact signal type filter.

## `registrationNumbers` (type: `array`):

Optional RSH registration-number filter.

## `providerQuery` (type: `string`):

Optional case-insensitive provider-name filter.

## `baselineOnly` (type: `boolean`):

Store a validated full England provider state without producing signals.

## Actor input object example

```json
{
  "mode": "live",
  "maxItems": 100,
  "baselineOnly": false
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("starshaped_bullsnake/england-social-housing-regulatory-risk-signals").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("starshaped_bullsnake/england-social-housing-regulatory-risk-signals").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call starshaped_bullsnake/england-social-housing-regulatory-risk-signals --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,starshaped_bullsnake/england-social-housing-regulatory-risk-signals"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/GcQ8MhYqZ8X5mpl9z/builds/yMvnjRUO1CYGQCNZG/openapi.json
