UK Payment Practices Report API: Supplier Pay Data
Pricing
from $5.60 / 1,000 payment practices filings
UK Payment Practices Report API: Supplier Pay Data
UK large companies' and LLPs' statutory payment-practices filings from the official check-payment-practices.service.gov.uk register: average time to pay, invoice payment % within 30/31-60/60+ days, and prompt payment code status, filterable by company.
Pricing
from $5.60 / 1,000 payment practices filings
Rating
0.0
(0)
Developer
Tabulary
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Security
Limited permissionsShare
What does UK Payment Practices Report API: Supplier Pay Data do?
This Actor returns the UK's official payment practices report data straight from check-payment-practices.service.gov.uk, the government register where every large UK company and LLP is legally required ("Duty to Report") to file how it pays its suppliers every six months: average time to pay, the share of invoices paid within 30, 31-60 and over 60 days, and whether the business has signed a prompt payment code. It is a UK payment practices report feed covering every reporting company, not just construction. Credit-risk, invoice-financing, procurement and supplier-risk teams use it to check how reliably a current or prospective customer pays before extending terms. An optional alert mode returns only filings added for a company since your last run.
What you get
- Who filed: company name, Companies House number, reporting regime, reporting period and filing date.
- How they pay: average time to pay (days), % of invoices paid within 30 / 31-60 / over 60 days, £ value in each band, % not paid within agreed terms, % unpaid due to dispute.
- Terms and policy: shortest/longest/maximum standard and contractual payment periods, whether terms changed in the period, dispute resolution process, e-invoicing and supply-chain financing offered.
- Prompt payment code: whether the business says it has signed a prompt payment code, and which one.
- Filter by company name or Companies House number.
- Optional only new since last run alert mode, scoped per company filter.
How much does it cost?
You pay per filing returned, with no monthly fee: $8.00 per 1,000 filings on Apify's free plan, and 10-40% less on paid Apify plans. Each run also costs $0.001 to start. Apify's free plan includes $5 of credit every month, enough for about 625 filings. Prices as of October 2026; the price shown on this page is the one that applies.
| Use | Filings | Cost on the free plan |
|---|---|---|
| Check one company's recent filings | 1-5 | about $0.04 |
| Latest 100 filings across all companies | 100 | about $0.80 |
| Weekly alert on 10 watched suppliers, about 5 new filings a week | about 20 a month | about $0.16 a month |
Set Maximum cost per run to cap any run; the Actor stops cleanly at the cap and keeps everything it saved.
Ready-made inputs
Three real use cases as JSON inputs, each tested in the local run above.
{ "maxItems": 20 }
{ "companyName": "tesco", "maxItems": 50 }
{ "companyName": "tesco", "onlyNewSinceLastRun": true, "maxItems": 100 }
Alerts
Set onlyNewSinceLastRun to true and run this Actor on a schedule (weekly works well, since
filings are six-monthly) to get only filings added for your companyName/companyNumber filter
since the last run. The watermark is kept per filter, so separate saved tasks watching different
companies never interfere with each other, and a run cut short by maxItems or your spending cap
picks up exactly where it left off next time.
Input
| Field | Type | Default | Description |
|---|---|---|---|
companyName | string | "" | Keep only filings whose company name contains this text. Case-insensitive. |
companyNumber | string | "" | Keep only filings with this exact Companies House number. |
onlyNewSinceLastRun | boolean | false | Keep only filings added since this Actor's last run with the same company filter. |
maxItems | integer | 20 | Stop after this many filings. Without onlyNewSinceLastRun, these are the most recent matches. |
Output
One dataset item per filing. A real item from the local test run above:
{"reportId": 118549,"company": "3I PLC","companyNumber": "00397156","policyRegime": "Regime-3","reportingPeriodStartDate": "2026-04-01","reportingPeriodEndDate": "2026-09-30","filingDate": "2026-10-30","qualifyingContractsInPeriod": true,"qualifyingConstructionContractsInPeriod": false,"averageTimeToPayDays": 13,"percentPaidWithin30Days": 90,"percentPaidBetween31And60Days": 9,"percentPaidLaterThan60Days": 1,"totalValuePaidWithin30Days": 11616186,"totalValuePaidBetween31And60Days": 873296,"totalValuePaidLaterThan60Days": 99432,"totalValuePaidLaterThanAgreedTerms": 6313614,"percentNotPaidWithinAgreedTerms": 23,"percentNotPaidDueToDispute": 3,"shortestStandardPaymentPeriodDays": 0,"longestStandardPaymentPeriodDays": null,"standardPaymentTerms": "3i plc has standard payment terms of 30 days from receipt of an invoice although invoices are paid earlier if appropriate.","paymentTermsHaveChanged": null,"suppliersNotifiedOfChanges": null,"maximumContractualPaymentPeriodDays": 60,"maximumContractualPaymentPeriodInformation": null,"otherInformationPaymentTerms": null,"disputeResolutionProcess": "In the event of any disputes with suppliers, this would normally be dealt with by the supplier's relevant 3i business contact. Alternatively, suppliers can contact 3i's accounts payable team at [email removed], who will ensure this is resolved by the appropriate person.","promptPaymentCodeSignatory": true,"paymentCodeDetails": "Prompt payment code","eInvoicingOffered": false,"supplyChainFinancingOffered": false,"url": "https://check-payment-practices.service.gov.uk/report/118549"}
Notes: monetary fields (totalValuePaid...) are GBP, only filled in when the business reported
monetary values rather than percentages only. null means the question did not apply to this
business's filing or it answered a different question set for its reporting regime (policyRegime
is the source's own regime code, e.g. Regime-1, Regime-3). promptPaymentCodeSignatory is
derived: the source's own field is free text (most filers write "No"); anything else is treated as
"yes, signed", with paymentCodeDetails keeping which code or description they gave. Any email
address or phone number typed into a free-text field is replaced with [email removed] or
[phone removed].
Use it from AI agents
Add the Actor to Claude, ChatGPT, Cursor or any MCP client through the Apify MCP server
(https://mcp.apify.com?tools=tabulary/uk-payment-practices-reports). Ask in plain language, for
example: "How fast does Tesco pay its suppliers according to its latest payment practices filing?"
The agent fills in the input and gets structured filings back.
Use it from code
curl -X POST "https://api.apify.com/v2/acts/tabulary~uk-payment-practices-reports/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"companyName": "tesco", "maxItems": 50}'
The same works with the Apify Python and JavaScript clients. See the API tab for details.
Data source and limits
- Source: check-payment-practices.service.gov.uk, the UK government's statutory payment-practices register under the Duty to Report on Payment Practices and Performance Regulations 2017. The export page states "All content is available under the Open Government Licence v3.0, except where otherwise stated", which permits commercial reuse with attribution.
- The source publishes one bulk CSV covering every filing since 2017, oldest first, with no per-company lookup, date filter or API; this Actor downloads that file (around 100 MB) and filters it for you on every run, which typically takes 10-20 seconds.
- Only large companies and LLPs that meet the reporting thresholds must file, twice a year; small and medium businesses do not appear here.
- Free-text fields (payment terms notes, dispute process, prompt payment code description) are kept, with any email address or phone number a business typed into them redacted. No field in the source names an individual signatory.
- Not affiliated with or endorsed by the UK government or the Department for Business and Trade.
Other Tabulary tools
Clean data from official and public sources, priced per result:
- Airport METAR & TAF Weather
- EU Tenders API: TED Public Procurement Notices
- Company Job Postings: Greenhouse, Lever, Ashby & Workable
- Remote Jobs API: RemoteOK & Jobicy Postings
- SAM.gov Federal Contract Opportunities
- UK Gender Pay Gap Reports API: Employer Filings
- UK House Price Index API: Average Prices by Area
- UK Modern Slavery Statement Registry API
- UK Tenders API: Contracts Finder & Find a Tender
FAQ
Is this data official? Yes. It comes directly from the UK government's statutory payment practices register, the same filings businesses are legally required to submit under the Duty to Report regulations.
How fresh is it? As fresh as the source: it adds filings as businesses submit them, and this
Actor always reads the current file. Run with onlyNewSinceLastRun on a schedule to catch new
filings for the companies you watch.
Does this cover construction retention clauses in detail? No. This tool focuses on the cross-sector payment figures every reporting business answers. Construction-specific retention clause terms are in the source but not included in this feed.
Something broke? Open an issue on the Issues tab. The Actor is tested daily.
Changelog
- 2026-10-30: first version: reads the official bulk CSV export, filters by company name or Companies House number, with an optional new-since-last-run alert mode.
About Tabulary
This tool is part of Tabulary: clean tables from official public sources. Every Tabulary tool uses the source's official API or open data where one exists, collects no personal data, and is tested on Apify every day. Questions or ideas? Open an issue on the Issues tab.
