# Ofsted Report-Card Intelligence

An Ofsted report → structured grades, summary and next steps.

Ofsted's Nov-2025 framework swapped single-word grades for narrative report cards — and nothing structures them. Feed in a report and get back the graded areas + grades, a plain-English summary, strengths, areas for improvement and safeguarding status.

Ofsted's 2025 reform swapped single-word judgements for narrative report cards — richer for parents, useless for software, and no existing API structures them. This endpoint reads any report (HTML or PDF) and returns the graded areas with their grades, a plain-English summary, strengths, improvement areas and safeguarding status as clean JSON. The grades are Ofsted's own official judgements; our summary is a flagged, indicative AI reading — and the underlying outcomes are OGL open data, reused properly.

- Price: 4 credits (8 on the free plan)
- Page: https://meetkatalis.com/apis/ofsted-report-card
- OpenAPI: https://meetkatalis.com/openapi.yaml

## Endpoints

- `POST /api/v1/ofsted-report` — Body: { text } (report text) or { url } (HTML or PDF report)
- `GET /api/v1/ofsted-report?url=…` — Structure an HTML or PDF report by URL

## Call it

```bash
curl -H "x-api-key: $KATALIS_API_KEY" \
  "https://meetkatalis.com/api/v1/ofsted-report?url=https://files.ofsted.gov.uk/v1/file/50311510"
```

```javascript
const res = await fetch("https://meetkatalis.com/api/v1/ofsted-report?url=https://files.ofsted.gov.uk/v1/file/50311510", {
  headers: { "x-api-key": process.env.KATALIS_API_KEY },
});
if (!res.ok) throw new Error(`Katalis ${res.status}: ${await res.text()}`);
console.log(await res.json());
```

```python
import os, requests

r = requests.get(
    "https://meetkatalis.com/api/v1/ofsted-report?url=https://files.ofsted.gov.uk/v1/file/50311510",
    headers={"x-api-key": os.environ["KATALIS_API_KEY"]},
    timeout=60,
)
r.raise_for_status()
print(r.json())
```

## Example response (a real reply)

```json
{
  "source": "https://files.ofsted.gov.uk/v1/file/50311510",
  "provider": "St Marys Catholic Primary School",
  "urn": "114566",
  "type": "Primary school",
  "inspectionDate": "7 July 2026",
  "overall": null,
  "grades": [
    {
      "area": "Early years",
      "grade": "Strong standard"
    },
    {
      "area": "Achievement",
      "grade": "Expected standard"
    },
    {
      "area": "Attendance and behaviour",
      "grade": "Expected standard"
    },
    "… 4 more"
  ],
  "summary": "The school demonstrates strong leadership and effective teaching, fostering a positive learning environment. While early years provision is particularly strong, there are areas for improvement in mathematics and atten…",
  "strengths": [
    "Strong early years provision with high expectations.",
    "Effective support for pupils with special educational needs.",
    "Positive behaviour and a calm school environment.",
    "… 1 more"
  ],
  "areasForImprovement": [
    "Enhance teaching strategies for mathematics, spelling, and handwriting.",
    "Uphold high expectations for learning behaviour.",
    "Continue efforts to improve attendance for disadvantaged pupils."
  ],
  "safeguarding": "Met",
  "read": {
    "documentChars": 25435,
    "charsRead": 25435,
    "focusedOnSections": false
  },
  "attribution": "Contains public sector information licensed under the Open Government Licence v3.0.",
  "licenceUrl": "https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/"
}
```

## What you'd build with it

- **Property portals.** Show structured school quality next to every listing — the 2025 narrative report cards, made machine-readable.
- **Tutoring & childcare platforms.** Track provider quality across regions without a human reading every report.
- **Trust & LA dashboards.** Multi-academy trusts structure every school's report into one comparable view.

## Why this one

- **Fits the new format.** Built for the 2025 report-card framework that existing Ofsted APIs don't parse — the graded areas, whatever they are.
- **Institution-level, clean.** Structures the school's grades and themes only — never names of staff or inspectors. Low-risk by design.
- **Grades are facts, summary is flagged.** The grades are Ofsted's own official judgements; our plain-English summary is an indicative AI reading, always disclaimered.
- **Open data underneath.** Ofsted outcomes are published under the Open Government Licence v3.0 — reused with attribution, not scraped from a walled garden.

## Conventions

- Auth: `x-api-key: kat_live_…` on every request (free key at https://meetkatalis.com/developers: a verified email and mobile, 100 credits a month, no card).
- One credit balance across every API; each endpoint's price is on its page and in `x-credits` in https://meetkatalis.com/openapi.yaml.
- Keys are camelCase everywhere. A registered company is `company: { name, number, status, statusDetail?, filingsOverdue? }` on the register endpoints; the enrichment family (enrich, score, assess, brand-kit, ai-visibility, tender-match) keeps `business` / `profile` with `companyNumber`.
- Every error has `code` and `requestId`; every reply an `x-request-id` header; a charged reply `x-credits-remaining`; a reply that gave credits back `x-credits-refunded`. Missing = 404 with `query`.
- Burst ceiling 60 requests a minute per key (429, `Retry-After`, no credits used). A failure on our side (5xx) gives the call's credits back.
- Company data contains public sector information licensed under the Open Government Licence v3.0.

Provided "as is"; results come from public sources and, in places, AI, and may be inaccurate or out of date; not legal, professional or credit advice. Terms: https://meetkatalis.com/apis/terms