This version is in beta - expect some breaking changes.
Individual Benefits API
|Available in Sandbox||Yes|
|Sandbox base URL||https://test-api.service.hmrc.gov.uk|
|Available in Production||Yes|
|Production base URL||https://api.service.hmrc.gov.uk|
This API is one of a number of APIs that provide information that HMRC knows about an individual's tax affairs.
This API in particular provides information about an employee’s or director’s benefits for a given tax year, as reported to HMRC by their employer(s) through the PAYE process. For example company cars and fuel, interest-free and low interest loans, private medical and dental insurance.
For more information, see HMRC’s A-Z guide to expenses and benefits
The primary intended use for this information is to pre-populate an individual's Self Assessment tax return.
Data is only available for taxpayers who are registered for Self Assessment and reported benefits in the given tax year.
Also, data is only available once PAYE reconciliation has completed. This is the process that determines whether the individual has paid the right amount of tax and, for PAYE-only taxpayers, results in a P800 in the event of overpayment or underpayment.
Reconciliation starts on or around 6th June and runs for around one million individuals per working night. It has usually completed by the end of September. Unfortunately it is not possible to know when reconciliation will be complete for a specific individual.
If we are expecting a P11D, reconciliation will not start for that individual until we have received and processed the P11D. If we receive a P11D unexpectedly, we will re-run the reconciliation.
Data is no longer available once we have received and processed the corresponding Self Assessment return.
When an API changes in a way that is backwards-incompatible, we increase the version number of the API. See our reference guide for more on versioning.
We use standard HTTP status codes to show whether an API request succeeded or not. They are usually in the range:
- 200 to 299 if it succeeded, including code 202 if it was accepted by an API that needs to wait for further action
- 400 to 499 if it failed because of a client error by your application
- 500 to 599 if it failed because of an error on our server
Errors specific to each API are shown in the Endpoints section, under Response. See our reference guide for more on errors.