Integrations
What it takes to connect Revolut Business to your accounts package
The API is real, well documented and free once you are on the right plan. The work is in the setup and in what you do with the transactions afterwards.
By Oscar CobbeCurrent as at 8 minute read3 sources
The plan is the first gate, and it is a hard one
Revolut publishes a Business API that will list your accounts and return your transactions. It is properly documented, it is free to use, and it does not require a third-party aggregator sitting between you and your own money.
It is not on every plan. API access is included on Grow, Scale and Enterprise. It is not included on the Basic plan, which is the free one, and there is no add-on that changes that.
A business on Basic cannot be connected to anything through the Business API, by us or by anybody else, and no amount of engineering gets around it. If you are reading this because you want a bank feed, the first thing to check is which plan you are on. The app shows it, and it decides whether the rest of this page applies to you at all.
Check this before anything else
On Grow or above, the API is available to you today. On Basic, it is not available at all: upgrade, or leave the bank feed until you have a reason to.
What the connection involves
Revolut does not give you a simple access key (an API key). Instead, you upload a security certificate, then approve the connection in the Revolut Business app (an OAuth consent).
You generate a key pair on your own machine and upload the public certificate in the Business app, under APIs, Business API. Revolut gives you back a Client ID. Your software then uses the private key to sign a short proof of identity (a client assertion JWT). You approve the software inside the Revolut Business app. That approval produces a code (an authorisation code), which your software swaps for an access token at Revolut's token endpoint.
Doing this requires specific permissions on your Revolut account: Manage Integrations and Manage API under API and Integrations, and View Business under Billing. If you are not the owner of the account, somebody who is will need to grant those before you start.
The private key never leaves the machine that made it, and the certificate you upload is a public one. That keeps the connection in your hands. It can be limited to reading, and you can cancel (revoke) the certificate in your own settings at any time. Whoever built the integration cannot stop you.
- 1Generate a key pair and upload the public certificate in the Business app
- 2Take the Client ID that Revolut returns
- 3Sign a client assertion JWT with the private key
- 4Consent to the application inside Revolut Business
- 5Exchange the authorisation code for an access token
How long each part lasts
A Revolut Business connection has three parts, each with its own lifetime, and each needs handling on its own.
The access token lasts forty minutes. Revolut's documentation says so in words, and gives it as 2399 seconds (expires_in). Software that keeps using a token for longer than that will fail from time to time.
The refresh token does not expire. Revolut's documentation says so explicitly.
The certificate is the one with a real deadline. The command in Revolut's own guide creates it with a validity of 1825 days, which is five years. Write the expiry date down on the day the certificate is created.
| What | How long | What happens when it ends |
|---|---|---|
| Access token | 40 minutes (expires_in 2399) | Refresh it. This is routine, and the software should always expect it. |
| Refresh token | Does not expire | Nothing. |
| Certificate | 1825 days as generated in Revolut's guide | The connection stops. Renewing it is a repeat of the original setup. |
Write the certificate date down
When the certificate expires, the feed stops. The expiry belongs in whatever you use to track statutory dates.
What a feed is worth once it runs
Reading transactions is the first half.
The value is in what happens after the read. Transactions matched against the invoices they settle, so the money that landed sits beside the money that was billed. Categories that follow the chart of accounts your bookkeeper already uses. And receipts matched to the lines they belong to.
Done properly, the only lines a person ever looks at are the ones no rule could place. Keeping that list short is the whole point.
One detail worth getting right: store money as whole cents
Amounts should be stored as whole numbers in the smallest unit, so 18.34 euro is stored as 1834 cent. They become a decimal only once, when they are shown on a screen. The reason is that the usual way computers store decimals (binary floating point) cannot hold most decimal fractions exactly. In JavaScript, 1.005 multiplied by 100 gives 100.49999999999999. The obvious way of converting a decimal amount to cents then rounds it down and loses a cent.
A bank statement is correct to the cent, so a cent lost on a transaction shows up as a difference in the reconciliation.
Other banks, and where we have got to
Nothing above is specific to Revolut except the front door. Any bank that exposes a business or open banking API can be connected, and the matching, the categorisation and the reconciliation behind it are the same work whichever bank it is. Revolut is the one written so far.
Where it stands: the integration is written and the design is settled, and no client is running it yet. Revolut puts the API on Grow and above, and the businesses we work with today are on Basic, so there has been nothing to connect it to.
That means the first build is done at cost and to a date agreed in writing.
If you are on Grow or above
You are the account this was written for.
Sources
Free, and no account needed
Check whether an integration needs an assessment
A bank feed moves personal data between systems. The free check says whether that needs a written assessment before it goes live.
Run the free checkA bank feed, built once and kept working
If your Revolut plan includes the API, or your bank offers one, tell us what your bookkeeper does by hand every month. We will price the version where they do not have to.
Talk to us about a bank feedWho wrote this
Oscar Cobbe · Founder, FourWinds Digital
Writes and maintains the legal explainers on this site, and does the compliance work behind them. Every date and article number here is checked against the legislation itself before it is published, and each article shows the date it was last checked.
More about how we work →Read next
- AutomationAutomating something that touches personal data: what has to be written down
- GDPRDo you need a DPIA? Ireland has its own list, and it is specific
- GDPRYou have had a data breach. What the first 72 hours require
Written on 26 August 2026; it describes the law as FourWinds read it on that date. This is general information about how the rules work, not legal advice on your situation. Where you need a solicitor, we say so. How we check the law.