JSON Bank Feed API


I’m the lead developer on the accountancy integrations project at Starling Bank. We recently launched our Xero integration, so we’ll be starting on our FreeAgent integration imminently.

Having read through your API docs, I notice that currently the only way to push bank transactions to FA is via CSV statement upload. Is there any reason there isn’t a JSON api for this?

We’re keen to launch our integration with you relatively quickly, so I appreciate this is a big ask, but is there any scope for you to build a JSON endpoint for your statement upload API? While there are no technical barriers to us using the CSV endpoint, we’d prefer to use a consistent protocol since the rest of your API is JSON (as are all of ours).

I look forward to your response.

Hi Josh,

Thanks for reaching out!

FreeAgent allows customers to upload bank statements that they have downloaded from their own online banking portal. We support statements of different formats and that is essentially the same functionality that our API is supporting here.

It is possible to create an explanation and an underlying transaction at the same time using the bank_transaction_explanations endpoint, but this does sound slightly different to what you are trying to achieve here.

Creating and uploading a CSV file is probably the simplest thing to do in this case.

I hope that helps!

Kind regards,

Hi @T.J_Sheehy,

Thanks for your quick response! As you point out, we’re not actually concerned about explanations at this point, we want to push the actual bank transactions. Is there any possibility of building an alternative to the CSV endpoint? We’ll be pushing transactions in real time, rather than a monthly batch update, so it’d be great to push to a standard json API.

I’d love to have a call to discuss this further if possible?


Hi Josh,

You can now POST to this endpoint in JSON, by giving the statement parameter as an array of transaction objects.

This will you allow to create one or more (unexplained) transactions without uploading a CSV file.

I hope this will provide the functionality you were looking for.

Link to the announcement: Improvements to uploading statements

Link to the updated docs: https://dev.freeagent.com/docs/bank_transactions#upload-a-bank-statement