Skip to content

changelog

What changed in the APIs

New endpoints, behaviour, prices and fixes, newest first. The machine-readable spec is at /openapi.yaml, and whether the sources are answering right now is on the status page.

8 October 2026

  • new: Charity Register Check. GET /api/v1/charity-check?company= reads the Charity Commission's register live by charity number, company number (through the register's own Companies House number) or name: registered or removed with dates and reason, type, flags (insolvent, in administration, interim manager), reporting status, latest accounts and six years of income and spend, classification, areas of operation, trustee count, objects, other regulators. 1 credit. charity-report now also says how many trustees the register lists when it finds the charity's number
  • new: CQC Care Provider Check. GET /api/v1/cqc-check?company= matches a company to its CQC provider and reads it and its registered locations live: registered or deregistered, since when, every location's overall rating and five key questions, inspection dates; GET /api/v1/cqc-check/changes?since= lists every provider or location added, deregistered or re-rated from our daily sync of the CQC's changes feed (kept since 2 Oct 2026), filterable to e.g. Inadequate. Organisations and services only, never people. 1 credit. Contains CQC information licensed under the OGL v3.0
  • new: SRA Law Firm Check. GET /api/v1/sra-check?company= says whether an organisation is an SRA-authorised law firm (authorised, with conditions, ceased, revoked, intervened), since when, what kind, its work areas, offices and head office, trading and former names, and the Companies House number the register holds; GET /api/v1/sra-check/changes?since= lists every firm added, removed, returned or re-statused from our daily copy of the register (kept since 8 Oct 2026). Firms only, never individuals. 1 credit. Data supplied by the Solicitors Regulation Authority
  • the checking day: every endpoint called with real inputs and every reply checked against its official source. Fixed the same day: company-enrichment preferred a longer domain that merely started with the name (greggs-menuprices.co.uk over greggs.com; a Texas site for Serco); a site that states its company number is now matched on it even when the register's name search missed it (shelter.org.uk → 01038133); a company under an active proposal to strike off read as plain "active" on accounts, charges, ownership, deadlines, sponsor-licence and public-record: every company object now carries `statusDetail` and `filingsOverdue` when the register has them, and Deadlines lists the strike-off proposal first; the Payment Practices export's code column holds the code's NAME, so `paymentCode` was null for every signatory (Greggs: Fair Payment Code): now true with `paymentCodeName`, on payment-practices, will-they-pay and ppn-018 (the reports reload tonight); gender-pay-gap due dates are the day before the next snapshot (4 April / 30 March), and the next payment-practices period is marked `estimated`; filed accounts with a dropped sign give `netAssets.asComputed`; a person who is both director and PSC counts as verified when either entry shows it; no ID date before 18 Nov 2025 (a 2018 confirmation statement read as 3,000 days overdue); ownership reads a listed company's PSC exemption instead of "no person with significant control"; charges never name the people inside a multi-party lender; the sponsor changes feed has a `moved` change for the Home Office rewriting a town (it read as a licence removed plus one added; a third of 7 Oct's removals); aml-register says `premisesAtLeast` when a registration has more premises than we read; crp-check follows up to three candidate pages (Softcat's plan hangs off corporate responsibility); tender-match serves the last complete feed (marked `stale`) rather than a 503 when Contracts Finder can't be read; `x-credits-refunded` is on every reply that gave credits back, not only 5xx; a missing key answers `missing_key`, a wrong one `invalid_key`; an unknown /api/v1 address answers JSON; the store index now lists all 35 APIs (12 had pages but no card)

9 October 2026

  • for agents and coding tools: every API page as Markdown (https://meetkatalis.com/apis.md and /apis/<slug>.md), an API catalog at /.well-known/api-catalog (RFC 9727) and /apis.json, a Postman collection at /postman/katalis.postman_collection.json, and an MCP server at https://meetkatalis.com/mcp (Model Context Protocol over streamable HTTP, 51 tools, one per operation; send `Authorization: Bearer <your key>`; a tool call is the same call a developer makes, so credits and limits are the API's); listed in the official MCP Registry as com.meetkatalis/katalis
  • one response shape everywhere (openapi 1.7.0): keys are camelCase on every endpoint (the four document readers were snake_case: `financial_year` is now `financialYear`, `key_questions` `keyQuestions`, and so on; the sponsor and AML change feeds and histories likewise, `seen_on` → `seenOn`); a registered company is `company` on the register endpoints (`business` on idv-check and `employer` on gender-pay-gap are now `company`); an error that echoes what was asked for says `query` (it was a bare string under `company`); enrichment's `website` is always a URL with its scheme. The enrichment family (enrich, score, assess, brand-kit, ai-visibility, tender-match) keeps `business` / `profile` with `companyNumber`. If you built against the old keys, this is the change to read
  • contracts-won: contracts and frameworks totalled apart (`contracts.notifiedValueGBP`, `frameworks.ceilingValueGBP`): a framework, DPS or lot award's value is the ceiling shared by every supplier on it, and summed as spend it had made a county police force read as a £51bn buyer; buyers grouped under one spelling (N H S / NHS); the same award published on both feeds with the programme total on one and the call-off on the other now counts once at the call-off, the other notice under `alsoNotified`; each award says `framework`. tender-match: Find a Tender's open notices alongside Contracts Finder's (most above-threshold notices go there since the Procurement Act); a feed that can't be read falls back to the last complete read, said as `stale`

7 October 2026

  • new: Ownership Chain (GET /api/v1/ownership?company=: who controls the company, followed up the register while the controller is a UK company, companies named, individuals counted, trouble above flagged; 2 credits) and Carbon Reduction Plan Check (GET /api/v1/crp-check?url=: a published plan read against PPN 006's technical standard, part by part; 4 credits)
  • new: Filed Accounts. GET /api/v1/accounts?company= reads the company's latest accounts from Companies House's tagged (iXBRL) document into plain figures: turnover and profit where included, net assets, current assets, cash, debtors, creditors within and after a year, equity, average employees, this year and last, with what the accounts leave out said plainly. Accounts filed as a PDF can't be read and aren't charged. 2 credits
  • new: PPN 018 Payment Check (GET /api/v1/ppn-018?company=: the company's last two statutory payment reports read against PPN 018's tests, 95% within 60 days or 90% with an action plan and a 45-day average, and the Fair Payment Code's percentage tiers) and Secured Borrowing (GET /api/v1/charges?company=: registered charges in plain English, lenders named, individuals never). 1 credit each
  • bigger batches: Director ID Verification and Distress Signals take up to 50 company numbers per call (were 25), four companies read at a time; credits remaining are on every reply's x-credits-remaining header
  • new: HMRC AML Register Check. GET /api/v1/aml-register?company= says whether a business is on HMRC's register of businesses supervised under the Money Laundering Regulations, in which sectors, with what status (Approved, Applied, Expired) and since when, the postcode district checked against the registered office; GET /api/v1/aml-register/changes?since= lists every business added, removed, returned or re-statused from our diff of each new file (kept since 7 Oct 2026). People never loaded. 1 credit
  • new: Late Payment Calculator and Will They Pay Me On Time. GET /api/v1/late-payment?amount=&due=&paid= gives the statutory interest (8% over the Bank Rate, each half-year at its own rate, by the day) and the fixed compensation a late business invoice is owed; GET /api/v1/will-they-pay?company=&invoice=&terms= reads a large customer's Payment Practices reports from the supplier's side: when it typically pays against your terms, how often late or past 60 days, which way it's going, and what that lateness is worth on your invoice. 1 credit each
  • new: Sponsor Licence Check. GET /api/v1/sponsor-licence?company= says whether an organisation is on the Home Office register of licensed sponsors (workers), on which routes and at what rating, with the town checked against the registered office, and what changed for it; GET /api/v1/sponsor-licence/changes?since= lists every sponsor added, removed, returned or re-rated since a date (our daily diff of a register that carries no dates, kept since 6 Oct 2026). 1 credit
  • new: Website Legal Check. GET /api/v1/website-legal?url= reads a UK business website the way a visitor would and checks the legal basics: company details shown (matched to Companies House), a privacy notice that covers the basics, advertising/tracking cookies before consent (a real browser visit; analytics-only ones noted since the 5 Feb 2026 change), the ICO fee, and the contact details every commercial site must show; plus who's behind the site. 4 credits
  • new: Deadlines. GET /api/v1/deadlines?company= gives every date a company has (accounts, confirmation statement, each person's ID verification as counts, the ICO fee renewal, the next payment practices and gender pay gap reports where it reports them), sorted and with days left, 1 credit; plus a free calendar feed address (deadlines.ics) to subscribe to in Outlook, Google or Apple Calendar
  • new: Change Feed (listed as "Company Watch" for a few hours on 7 Oct; renamed because Company Watch Limited is an existing UK data company). POST /api/v1/watch to watch a company (2 credits per company per calendar month); every change across Companies House, sanctions, payment practices, public contracts and the sponsor register is an event, posted to your webhook (PUT /api/v1/watch/webhook, signed) and kept in GET /api/v1/watch/events. People counted, never named
  • from the real-call test: an award published on both Find a Tender and Contracts Finder now counts once (contracts-won); payment-practices reads the Fair Payment Code answer and picks the main trading company for a name ("tesco" is Tesco Stores, with the others listed); brand-kit ignores payment and social badges' colours; the Business Score recognises Shopify's built-in analytics and web pixels
  • company matching: the business's own website now decides which registered company a query means (its number, registered office postcode or full name on the site); companies that share a name are listed in `alternatives` with `needsConfirm` true, never asserted; a domain the site doesn't confirm gets no company number (`registryNote` says why); once the site has been read, web snippets stay out of the description. Cached profiles start afresh
  • errors a program can read: every error has a `code` (invalid_key, inactive_key, quota_exhausted, org_pool_exhausted, rate_limited, bad_request, not_found, unreadable_input, our_failure …) and a `requestId`; every reply has an x-request-id header, a charged call has x-credits-remaining, and the per-minute brake sends Retry-After
  • the four document APIs (Modern Slavery, Ofsted, CQC, charity) read the whole document, a long one focused on the passages each answer needs (they read only the first 16,000 characters before); "mentioned" answers come from the full text, and every reply has a `read` object saying how much there was and what was read
  • company-logo returns the page's own logo image first, then the app icon, then an SVG/PNG icon; the social share image comes only last, as `source: "social-image"`
  • every API page's code sample is a real call that runs as pasted (curl, JavaScript, Python; key in KATALIS_API_KEY), and the integration pack uses the same call
  • status: /api/status asks our database, Companies House and Contracts Finder live (the old check pinged nothing the APIs depend on)

6 October 2026

  • credits back on any failure of ours: a 5xx (including a call that runs past its time limit) gives back what it took, and the `x-credits-refunded` header says how many; batches give back the items we couldn't read (`creditsRefunded`)
  • idv-check and distress-signals answer 503 (refunded) when Companies House can't be read, not a 200 with an error inside
  • price change: company-enrichment and industry-classifier are 2 credits a call (were 1), and a batch 2 per item, so the price covers what a call can cost us (a site read and a model call)
  • idv-check gives each person's own date from the register (the last falls on 1 December 2026), not one 18 November date
  • calls through the old RapidAPI listing are refused; keys come from meetkatalis.com/developers

5 October 2026

  • sanctions: a company is reported as on the UK Sanctions List only on a definite match, never a maybe, and never as a clearance

3 October 2026

  • people's names (directors and PSCs, in idv-check and public-record) only for accounts with a verified email and mobile; the counts stay for everyone

26 September 2026

  • new: Generative Art (22 styles as SVG), Brand Kit, Effect Embeds, Public Contracts Won, Gender Pay Gap, Licences & Registers and the joined Public Record

23 September 2026

  • enrichment now reads JS-rendered and bot-protected sites (big corporates were coming back thin); a domain only matches a UK registry entry whose name it actually is; openapi.yaml 1.3.1 is valid YAML again, with operationIds

9 September 2026

  • v2 credit platform: one key across every API · new plans · 60 req/min burst ceiling
  • /assess (fit & approach, 25cr) and /batch (≤25 companies, atomic) launched
  • document APIs now ingest PDFs and JS-rendered pages (CQC's own site included)
  • accessibility-audit, cqc-report and charity-report added — in every existing plan

29 August 2026

  • platform launch: enrichment, score, company-search, classifier, logo

Optional cookies show us how the site is used. Privacy