Our current version is v1 of our funding search API.
Welcome to the Capalona API. Our API allows our partners to submit new funding searches to help fund SMEs in the UK.
Our API provides access to the following features:
- GDPR-compliant duplicate checker
- Create a new funding search (with lender results)
- Upload bank statements (PDFs)
- Upload Open Banking data
To access the API, you must have an active Capalona partner account, and your proposed integration must be approved by our team. If you are not currently working with us, you can register here for a Capalona partner account, and our team will contact you.
Our API is self-service, but if you need any support, please get in touch with our technical team at api@capalona.co.uk.
Use the below navigation to jump to the relevant API section.
Please ensure that all requests are made over HTTPS and originate directly from the partner's backend server.
Capalona will supply you with your Authorization and cid tokens.
Please remember to include the following headers with each request, unless otherwise specified:
Accept: application/json Content-Type: application/json Authorization: Bearer YOUR AUTHORIZATION TOKEN
The following partner values must be included within every payload request:
"partner": {
"cid": "your cid"
}
You can also include a unique identifier with each application (e.g., CRM ID) and pass this into partner_reference.
If you provide a partner_reference value, it must be unique for each funding search. Using the same value for multiple funding searches will result in rejection by our API.
"partner": { "partner_reference": "your optional unique identifier", "cid": "your cid" }
Our GDPR-compliant duplicate check allows you to verify whether the customer has initiated an application with Capalona in the past 30 days.
To ensure privacy, we don't store or trigger any actions with data sent during this request.
POST
https://partner.capalona.co.uk/api/v1/duplicate_checker/
{ "partner": { "cid": "your cid" }, "criteria": { "business_name": "Sorodo Limited", "email": "email@email.com", "mobile": "07777777777" } }
Name | Type | Value | Required |
---|---|---|---|
partner |
string |
Provided by Capalona |
Yes |
criteria |
string |
Optional |
|
criteria |
string |
A valid email address | Optional |
criteria |
string |
UK or Ireland mobile number | Optional |
{ "status": "Ok", "duplicate_outcome": "Duplicate" }
We will return one of the following values in duplicate_outcome:
New Customer - Based on the data provided, we haven't seen this customer.
Duplicate - Based on the data provided, We have seen this customer in the last 30 days. You can still submit a funding search, but some lenders may reject due to the duplicate rules.
{ "status": "Validation", "errors": [ { "name": "compliance.ip_address is missing" }, { "name": "Invalid business.business_type value" } ] }
{ "status": "Unauthorized", "errors": [ { "name": "Authorization token is missing" }, { "name": "Invalid cid value" } ] }
Please contact support if you receive 500 errors
{
"status": "Error",
"errors": null
}
Our API is flexible. If you provide all of the required and optional values, the user will be redirected to their results page in real-time. If you don’t provide all of the optional values, the user will be redirected to complete these fields on redirect.
POST
https://partner.capalona.co.uk/api/v1/funding_search/
{ "partner": { "partner_reference": "your optional unique identifier", "cid": "your cid" }, "settings": { "is_test": true, "return_results": false }, "compliance": { "terms_privacy_policy_consent": false, "ip_address": "192.0.0.1", "source_url": "www.yourwebsite.co.uk/referring-page/", "user_agent": "Mozilla/5.0 (Linux; Android 10; K)" }, "loan": { "amount": 10000, "how_long_for": "Up to 2 years", "how_soon": "As soon as possible", "purpose": "Cash flow / Working Capital" }, "business": { "business_type": "Limited Company (LTD)", "companies_house_number": "08011841", "business_name": "Sorodo Limited", "trading_date": "2020-04-25", "sector": "IT Services", "monthly_gross_turnover": 85000, "monthly_card_turnover": 20000, "card_payment_provider": "Barclaycard", "online_store": "eBay Store", "monthly_invoice_turnover": 0, "invoice_amount_owed": 0, "bank_name": "Starling Bank", "accountancy_package": "Xero", "business_address": { "address_1": "26", "address_2": "Park Way", "city": "Mold", "postcode": "CH7 777" } }, "customer": { "title": "Mr", "first_name": "John", "last_name": "Smith", "email": "email@email.com", "mobile": "07777777777", "residential_status": "Private Tenant", "shareholding_percentage": 80, "provide_personal_guarantee": true, "dob": "1980-04-25", "home_address": { "address_1": "26", "address_2": "Park Way", "city": "Mold", "postcode": "CH7 777", "move_in_date": "2020-04-25" } } }
If you pass a valid companies_house_number or LTD/LLP business_name value, we will automatically populate the following information from Companies House:
business.trading_date
business.sector
business.business_address
Name | Type | Value | Required |
---|---|---|---|
partner |
string |
Provided by Capalona |
Yes |
settings |
bool |
Use 'true' for testing before going live |
Yes |
settings |
bool |
Return indicative results based on the provided data |
Yes |
compliance |
boolean |
1) Whether the customer has accepted Capalona's Terms & Conditions and Privacy Policy.
|
Yes |
compliance |
string |
The IP address of the customer |
Yes |
compliance |
string |
User Agent of the customers browser |
Optional |
compliance |
string |
The URL of the customer facing form |
Yes |
loan |
number |
Must be at least 1000 |
Yes |
loan |
string |
One of the following values: |
Yes |
loan |
string |
One of the following values: |
Optional |
loan |
string |
One of the following values: |
Yes |
business |
string |
One of the following values: |
Yes |
business |
string |
Companies House company number (LTD / LLP) |
Optional |
business |
string |
Yes |
|
business |
date |
YYYY-MM-DD | Optional |
business |
string |
One of the following values: |
Optional |
business |
number |
Optional |
|
business |
string |
One of the following values: |
Optional |
business |
string |
One of the following values: |
Optional |
business |
number |
Optional |
|
business |
string |
One of the following values: |
Optional |
business |
string |
One of the following values: |
Optional |
business |
number |
Optional |
|
business |
number |
Optional |
|
business.business_address |
string |
Address line 1 |
Optional |
business.business_address |
string |
Address line 2 | Optional |
business.business_address |
string |
Town / City | Optional |
business.business_address |
string |
Postcode | Optional |
customer |
string |
One of the following values: |
Optional |
customer |
string |
Optional |
|
customer |
string |
Optional |
|
customer |
string |
Optional |
|
customer |
string |
UK or Ireland mobile number | Optional |
customer |
string |
One of the following values: |
Optional |
customer |
number |
Customers company shareholding percentage | Optional |
customer |
boolean |
If the customer is willing to provide a personal guarantee | Optional |
customer |
date |
Customer date of birth (must be at least 18) | Optional |
customer.home_address |
string |
Address line 1 |
Optional |
customer.home_address |
string |
Address line 2 |
Optional |
customer.home_address |
string |
Town / City |
Optional |
customer.home_address |
string |
Postcode |
Optional |
customer.home_address |
date |
Customer moved into home date | Optional |
{ "status": "Ok", "partner_reference": "your returned optional unique identifier", "application_id": "uid of the application", "continue_url": "redirect customer here to continue application", "upload_bank_statement_url": "Optional - see 'Upload Bank Statements'", "upload_openbanking_transactions_url": "Optional - see 'Upload Open Banking Data'", "results": [ { "type": "indicative", "continue_url": "continue URL if customer wants to proceed", "lender": { "name": "the lenders name", "logo": "the lenders logo", "product": { "name": "lender specific product name (if provided)", "type": "Product type - ['Merchant Cash Advance', 'Unsecured Business Loan', 'Secured Business Loan', 'Selective Invoice Finance', 'Invoice Finance', 'Asset Finance']", "description": "product description" }, "qualify_for": { "text": "you could qualify for text", "value": 15000 }, "rate": { "text": "example rate text", "value": 4.95, "type": "%" }, "repayable": { "month": { "text": "example monthly cost text", "value": 100 }, "full_term": { "text": "example total cost text", "value": 12000 } }, "details": { "good_to_know": [ { "value": "good to know statement 1 (max 3 returned values)" }, { "value": "good to know statement 2 (max 3 returned values)" }, { "value": "good to know statement 3 (max 3 returned values)" } ], "watch_out_for": [ { "value": "watch out for statement 1 (max 3 returned values)" }, { "value": "watch out for statement 1 (max 3 returned values)" } ] }, "at_a_glance": { "amount": { "value": "The minimum and maximum loan amounts this product can offer" }, "term": { "value": "The minimum and maximum terms this product can be taken over" }, "rates": { "value": "The rates of this lender product" }, "speed": { "value": "The typical time it takes from the initial application to approval" }, "arrangement_fee": { "value": "If this product has an arrangement fee" }, "repayment_fee": { "value": "If this product has an early repayment fee" }, "personal_guarantee": { "value": "If a personal guarantee is required" }, "security": { "value": "If security is required" }, "exit_fee": { "value": "If this product has an exit fee" } }, "review": { "source": "Review source - ['Trustpilot', 'ReviewsIO']", "reviews": 749, "rating": 4.9, "stars": 5, "last_updated": "2025-02-10T09:00:51.36" } } } ] }
{ "status": "Validation", "errors": [ { "name": "compliance.ip_address is missing" }, { "name": "Invalid business.business_type value" } ] }
{ "status": "Unauthorized", "errors": [ { "name": "Authorization token is missing" }, { "name": "Invalid cid value" } ] }
Please contact support if you receive 500 errors
{
"status": "Error",
"errors": null
}
When you submit a funding search, if the field 'upload_bank_statement_url' is not null, you can optionally upload customer PDF bank statements.
You must call the below for each individual PDF statement you are uploading.
POST
Returned 'upload_bank_statement_url' URL value from 'Create Funding Search' API call
{ "partner": { "cid": "your cid" }, "statement": { "name": "august-statement.pdf", "content_type": "application/pdf", "content": "Base64 value" } }
Name | Type | Value | Required |
---|---|---|---|
partner |
string |
Provided by Capalona |
Yes |
statement |
string |
Document file name | Yes |
statement |
string |
Must be application/pdf only | Yes |
statement |
string |
Base64 value of the file content | Yes |
{ "status": "Ok", "partner_reference": "your returned optional unique identifier", }
{ "status": "Validation", "errors": [ { "name": "Invalid business.business_type value" } ] }
{ "status": "Unauthorized", "errors": [ { "name": "Authorization token is missing" }, { "name": "Invalid cid value" } ] }
Please contact support if you receive 500 errors
{
"status": "Error",
"errors": null
}
When you submit a funding search, if the field 'upload_bank_statement_url' is not null, you can optionally upload Open Banking transactions.
You must call the below for each individual customer bank account you are uploading.
POST
Returned 'upload_openbanking_transactions_url' URL value from 'Create Funding Search' API call
{ "partner": { "cid": "your cid" }, "account": { "account_name": "John Smith", "sort_code": "401115", "account_number": "11125478", "currency": "GBP", "starting_balance": "-450.25", "end_balance": "650.22", "current_balance": "650.22", "transactions": { "transaction_date": "2024-10-25 14:23:39", "description": "Merchant Payment", "amount": "450.00" }, { "transaction_date": "2024-10-25 10:50:00", "description": "Rent", "amount": "-100.00" }, { "transaction_date": "2024-10-24 18:48:47", "description": "Stationary", "amount": "-40.00" }, { "transaction_date": "2024-10-24 08:08:00", "description": "Invoice 242", "amount": "250.00" } } }
Name | Type | Value | Required |
---|---|---|---|
partner |
string |
Provided by Capalona |
Yes |
account |
string |
Yes |
|
account |
string |
Bank sort code | Yes |
account |
string |
Bank account number | Yes |
account |
string |
GBP | Yes |
account |
number |
Yes |
|
account |
number |
Yes |
|
account |
number |
Yes |
|
account.transactions |
datetime |
Yes |
|
account.transactions |
string |
Yes |
|
account.transactions |
number |
Yes |
{ "status": "Ok", "partner_reference": "your returned optional unique identifier", }
{ "status": "Validation", "errors": [ { "name": "account.sort_code is missing" }, { "name": "account.starting_balance is missing" } ] }
{ "status": "Unauthorized", "errors": [ { "name": "Authorization token is missing" }, { "name": "Invalid cid value" } ] }
Please contact support if you receive 500 errors
{
"status": "Error",
"errors": null
}