Skip to main content
Acrenvo

Open data

A free, read-only API over the verified MTD software record

Everything Acrenvo has checked about MTD for Income Tax software is available as plain JSON files that anyone can read, reuse and cite. That includes the products and their plans, the dated record of price changes, the quarterly price index and the dates each product appeared in HMRC's software list data. The files are rebuilt with the site whenever the record changes, and they need no key, no account and no sign-up.

The API is meant for other websites, researchers, journalists and AI assistants that want a dated source they can point back to. It sets no cookies, does no tracking and carries no adverts. The record was last updated on 26 September 2026.

How the files are laid out

Every file begins with the same three details, so a reader always knows which version they have, the licence it comes under, and the date the underlying record last changed. That date is the newest product review or recorded change, not the moment the site was built, so the same data always produces the same file.

Money is given in pounds sterling. Where a field name ends in GBP it is a price in pounds, such as 12.5 for £12.50, and where it ends in Minor it is the same amount as a whole number of pence, such as 1250. A price of null means the provider asks you to contact them for a quote. Dates are written as year, month and day, such as 2026-09-25.

The opening fields every file shares
{
  "apiVersion": "1",
  "licence": {
    "name": "Creative Commons Attribution 4.0 International (CC BY 4.0)",
    "url": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "Acrenvo, https://acrenvo.com/open-data"
  },
  "lastUpdated": "2026-09-26"
}

The endpoints and what each one holds

The catalogue

/api/v1/index.json is the place to start. It lists every endpoint with a short description, alongside the licence and the versioning promise, so a script or an assistant can find its way around without reading this page.

The full catalogue
{
  "apiVersion": "1",
  "licence": {
    "name": "Creative Commons Attribution 4.0 International (CC BY 4.0)",
    "url": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "Acrenvo, https://acrenvo.com/open-data"
  },
  "lastUpdated": "2026-09-26",
  "name": "Acrenvo open data: MTD for Income Tax software",
  "publisher": "Acrenvo",
  "documentation": "https://acrenvo.com/open-data",
  "versioning": "Version 1 fields are never removed or renamed; new fields may be added. A breaking change would add /api/v2 and leave /api/v1 in place.",
  "endpoints": [
    {
      "path": "/api/v1/index.json",
      "url": "https://acrenvo.com/api/v1/index.json",
      "description": "This catalogue: the API version, licence and list of endpoints."
    },
    {
      "path": "/api/v1/products.json",
      "url": "https://acrenvo.com/api/v1/products.json",
      "description": "Every tracked product with its verified plans, prices, features and HMRC product number."
    },
    {
      "path": "/api/v1/products/{id}.json",
      "url": "https://acrenvo.com/api/v1/products/{id}.json",
      "description": "One product, by the id used in products.json."
    },
    {
      "path": "/api/v1/changes.json",
      "url": "https://acrenvo.com/api/v1/changes.json",
      "description": "The dated, append-only record of verified price and plan changes."
    },
    {
      "path": "/api/v1/price-index.json",
      "url": "https://acrenvo.com/api/v1/price-index.json",
      "description": "The quarterly summary of paid entry prices, in integer pence."
    },
    {
      "path": "/api/v1/recognition.json",
      "url": "https://acrenvo.com/api/v1/recognition.json",
      "description": "When each product first appeared in, and left, HMRC's software list data."
    }
  ]
}

Products and prices

/api/v1/products.json holds every tracked product, and each one also has a file of its own, such as /api/v1/products/xero.json. A product carries its website, pricing page, the kind of workflow it offers, the date it was last checked, its platforms and features, and each plan with its regular monthly price. The verifyNote field holds the caveats found during review, and hmrcProductId is the number HMRC uses for the product in its list data, or null where Acrenvo has not matched one.

A feature marked null has not been confirmed either way, which is different from false. Some plans charge by the property or tenancy, and for those the monthly price covers the number in includedUnits, with each extra unit adding the additional unit price. A price worked out for a larger portfolio is therefore a lower bound, not a quote.

The mtdVat field describes whether a product also handles Making Tax Digital for VAT returns, which matters if you are VAT-registered and would rather keep one subscription. Where it has been reviewed, it gives supported, the name of the cheapest plan that includes VAT returns in fromPlan, the provider page the answer came from in evidenceUrl, and the date that page was read in checkedOn. A null value, whether for the whole field or for supported, means support has not been confirmed either way, so please read it as unknown rather than as a sign that VAT returns are missing.

An excerpt from products.json: one product, with only its first plan shown
{
  "id": "xero",
  "name": "Xero",
  "website": "https://www.xero.com/uk/",
  "pricingUrl": "https://www.xero.com/uk/pricing-plans/",
  "workflow": "full-accounting",
  "verifiedDate": "2026-09-12",
  "verifyNote": "Regular prices include the September 2026 increase. Xero advertises one month free or 90% off for the first six months for eligible new customers. Simple is for non-VAT-registered businesses. Payroll, Expenses and other add-ons depend on the plan.",
  "hmrcProductId": 3186,
  "platform": {
    "web": true,
    "ios": true,
    "android": true
  },
  "features": {
    "bankFeedImport": true,
    "mileageTracking": true,
    "multiPropertySupport": true,
    "fhlSupport": true,
    "jointOwnershipSupport": true,
    "selfEmploymentIncomeSupport": true,
    "receiptCapture": true,
    "accountantAccess": true,
    "freeTier": false
  },
  "pricing": [
    {
      "name": "Simple",
      "monthlyPriceGBP": 7,
      "monthlyPriceMinor": 700,
      "includedUnits": null,
      "additionalUnitMonthlyPriceGBP": null,
      "additionalUnitMonthlyPriceMinor": null,
      "billingNote": "excl. VAT; regular price; capped invoicing",
      "eligibility": null
    }
  ],
  "mtdVat": {
    "supported": true,
    "fromPlan": "Ignite",
    "evidenceUrl": "https://www.xero.com/uk/pricing-plans/",
    "checkedOn": "2026-09-27"
  }
}

The change record

/api/v1/changes.json is the same dated record shown on the price changes page, newest first. Each entry gives the day the change was recorded, the last day the old figure was seen, the plans that moved and the provider pages that show it. Entries are added and never rewritten.

The most recent entry in changes.json
{
  "id": "2026-09-xero-uk-plan-prices",
  "productId": "xero",
  "kind": "price",
  "recordedOn": "2026-09-12",
  "previousCheckOn": "2026-07-10",
  "effectiveNote": "Xero's own pricing update page dates this change to September 2026.",
  "summary": "Xero raised the regular monthly price of four UK plans. The Simple plan stayed at £7.",
  "changes": [
    {
      "plan": "Ignite",
      "from": 16,
      "to": 18
    },
    {
      "plan": "Grow",
      "from": 37,
      "to": 39
    },
    {
      "plan": "Comprehensive",
      "from": 50,
      "to": 55
    },
    {
      "plan": "Ultimate",
      "from": 65,
      "to": 70
    }
  ],
  "unit": "GBP a month, regular price, excluding VAT",
  "sources": [
    "https://www.xero.com/uk/pricing-plans/",
    "https://www.xero.com/uk/pricing-plans/update/"
  ]
}

The quarterly price index

/api/v1/price-index.json summarises each calendar quarter: the cheapest and the middle paid entry price across the products counted, in whole pence, with how many products were counted and how many price changes were recorded. The file explains each figure in its own definitions block. The quarter still in progress is marked provisional, because its figures can move until the quarter ends and is frozen.

The quarters in price-index.json
[
  {
    "quarter": "2026-Q4",
    "cheapestPaidEntryMinor": 200,
    "medianPaidEntryMinor": 813,
    "productsCounted": 22,
    "changesRecorded": 0,
    "provisional": true
  }
]

HMRC list dates

/api/v1/recognition.json gives the day each product first appeared in the public data file behind HMRC's software finder and, for products that have gone, the last day it was there. It is the data behind the HMRC list timeline. These are the dates a product appeared in or left the file, not the dates HMRC approved or recognised anything.

The first two entries in recognition.json
[
  {
    "name": "# 1 2 3 Sheets Ltd",
    "firstListedOn": "2022-09-26",
    "lastListedOn": "2025-05-28",
    "availableToIndividuals": false,
    "sourceCommit": "e010dc1e7ad9cd33f8c8260abc725f3c88ae0c35"
  },
  {
    "name": "#GoFile",
    "firstListedOn": "2026-01-23",
    "lastListedOn": null,
    "availableToIndividuals": true,
    "sourceCommit": "1b702ae1ae37434a7e6afecb2da352de3f5f2763"
  }
]

The versioning promise

Anything you build on version 1 should keep working. A field in a version 1 file will never be removed or renamed, and its meaning will not change. New fields may be added over time, so it is worth letting your code ignore fields it does not recognise. If a change ever needs to break that promise, the version 1 files will stay where they are and a new set will be published alongside them under /api/v2.

Licence and how to credit the data

The data is free to use, share and adapt, including commercially, under the Creative Commons Attribution 4.0 licence. The only condition is that you credit the source and say if you changed anything. A line such as “Acrenvo, https://acrenvo.com/open-data” is enough, and a link back to this page is welcome.

The HMRC list dates are drawn from HMRC's own repository, which HMRC publishes under the Apache License 2.0. That licence and its notice travel with the recognition file, in its source and sourceLicence blocks, and they should stay with any copy you make. HMRC did not prepare this data and does not endorse Acrenvo or any product in it.

Prices change, so check before relying on one

Every price in these files is the regular price Acrenvo found on the provider's own site on the date shown for that product, excluding VAT unless the billing note says otherwise. Providers can change their prices and plans at any time, and introductory offers come and go, so please confirm the current details with the provider before you subscribe or publish a figure as today's price. The notes on how comparisons work explain how each product is checked.