Leeds Building Society SME API
Endpoint for getting Unsecured SME Loan data
Endpoint for getting Unsecured SME Loan data
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/leeds-building-society-sme-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: v1.3
title: Open Data SME API
description: Latest Swagger specification for OpenData
servers:
- url: https://developer.openbanking.org.uk/reference-implementation/open-banking/v1.3
tags:
- name: SME
description: Endpoint for getting Unsecured SME Loan data
paths:
/unsecured-sme-loans:
get:
tags:
- SME
description: Gets a list of all `Unsercured SME Lending` objects.
parameters:
- name: If-Modified-Since
description: Used for conditional request, to retrieve data only if modified since a given date
in: header
required: false
schema:
type: string
- name: If-None-Match
description: Used for conditional request, to retrieve data only if the given Etag value does not match
in: header
required: false
schema:
type: string
responses:
'200':
description: Successful response with a list of `Unsecured SME Lending` data
headers:
Strict-Transport-Security:
description: HTTPS strict transport security header
schema:
type: string
default: max-age=31536000
Etag:
description: A unique ID identifying whether this resource has changed
schema:
type: string
Cache-Control:
description: Describes how long this response can be cached
schema:
type: string
default: max-age=28800
X-Frame-Options:
description: Prevent this request from being loaded in any iframes
schema:
type: string
default: DENY
X-Content-Type-Options:
description: Ensures each page has a content type and prevents browsers from doing MIME type sniffing
schema:
type: string
default: nosniff
content:
application/prs.openbanking.opendata.v1.3+json:
schema:
type: object
properties:
meta:
title: Meta data
type: object
properties:
LastUpdated:
type: string
format: date-time
TotalResults:
type: integer
Agreement:
type: string
enum:
- Use of the APIs and any related data will be subject to the terms of the Open Licence and subject to terms and conditions
License:
description: Open Banking License
type: string
format: uri
enum:
- https://www.openbanking.org.uk/open-licence
TermsOfUse:
description: Open Banking Terms of Use
type: string
format: uri
enum:
- https://www.openbanking.org.uk/terms
required:
- LastUpdated
- TotalResults
- Agreement
- License
- TermsOfUse
additionalProperties: false
data:
type: array
items:
description: SME Loan
type: object
properties:
Organisation:
description: Organisation
type: object
properties:
ParentOrganisation:
description: Parent organisation
type: object
properties:
LEI:
description: The LEI ID of the organisation
type: string
pattern: ^[A-Z0-9]{18,18}[0-9]{2,2}$
BIC:
description: The BIC from the organisation
type: string
pattern: '[A-Z]{6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3})?'
OrganisationName:
description: Organisation Name
type: object
properties:
LegalName:
description: Legal Name of the organisation
type: string
minLength: 1
maxLength: 35
required:
- LegalName
additionalProperties: false
required:
- OrganisationName
additionalProperties: false
Brand:
description: Brand
type: object
properties:
TrademarkIPOCode:
description: 'The Intellectual Property Office (IPO) is the official body responsible for intellectual property (IP) rights including patents, designs, trademarks and copyright. (Code: UK or EU only)'
type: string
enum:
- UK
- EU
TrademarkID:
description: 'The trademark number that has been registered with the Intellectual Property Office. Note: The 2 letter IPO prefix should be omitted'
type: string
minLength: 1
maxLength: 35
required:
- TrademarkIPOCode
- TrademarkID
additionalProperties: false
required:
- ParentOrganisation
- Brand
additionalProperties: false
ProductName:
description: The short product or marketing name assigned by the parent organisation
type: string
ProductIdentifier:
description: Identifier within the parent organisation for the product. Must be unique in the organisation
type: string
ArrearsTreatment:
description: Arrears treatment
type: string
ProductTypeName:
description: Descriptive code for the product category
type: string
enum:
- FlexibleBusinessLoan
- SmallBusinessLoan
- SmeUnsecuredLoan
ProductURL:
type: array
items:
type: string
format: uri
minItems: 1
ProductSegment:
type: array
items:
description: Marketing or industry segment that the product is applicable for. Gives the sector or segment that the Loan is designed for
type: string
enum:
- AgricultureSector
- AllSegmentsCorporate
- Corporate
- FixedGroup
- FlexibleBusinessLoan
- GovernmentScheme
- NewCustomersOnly
- SmallLoan
- SpecialisedSector
- SwitchersOnly
minItems: 1
ProductDescription:
description: Description of the product provided by the parent Organisation
type: string
TsandCs:
description: URL provided by the parent organisation which redirects to the T&Cs
type: array
items:
type: string
minItems: 1
CustomerAccessChannels:
description: Ways to interact with the bank
type: array
items:
description: ''
type: string
enum:
- Branch
- MobileBankingApp
- Online
- Phone
- Post
- PostOffice
- Text
minItems: 1
Currency:
description: Currency of the Account. Default to GBP at present
type: array
items:
description: Active or Historic Currency Code
type: string
pattern: '[A-Z]{3}'
minItems: 1
MinimumLoanTerm:
description: Minimum term (Days)
type: integer
MaximumLoanTerm:
description: Maximum loan term (Days)
type: integer
MinimumLoanAmount:
description: Minimum loan amount
type: string
pattern: ^-?\d{1,10}\.\d{1,2}$
MaximumLoanAmount:
description: Maximum loan amount
type: string
pattern: ^-?\d{1,10}\.\d{1,2}$
PaymentHoliday:
description: Indicates whether a repayment holiday is allowed
type: boolean
LoanItem:
type: array
items:
description: Loan Item
type: object
properties:
ProductState:
description: Describes if the offering is promotional or a description of a future state.
type: string
enum:
- FutureMultipleTerms
- Promotional
- Regular
StartPromotionOrFutureTerms:
description: Describes the start date
type: string
pattern: ^[0-9]{4}-(0[1-9]|(1[0|1|2]))-((0[1-9])|((1|2)[0-9])|(30|31))$
StopPromotionOrFutureTerms:
description: Describes the end date
type: string
pattern: ^[0-9]{4}-(0[1-9]|(1[0|1|2]))-((0[1-9])|((1|2)[0-9])|(30|31))$
LengthPromotionalInDays:
description: Describes the length if only a duration is given instead of a date in days
type: integer
DateOfChange:
description: Date of the change if it refers to future terms
type: string
pattern: ^[0-9]{4}-(0[1-9]|(1[0|1|2]))-((0[1-9])|((1|2)[0-9])|(30|31))$
LoanPricing:
type: array
items:
description: Loan Pricing
type: object
properties:
SizeIncrement:
description: Identifier for tier only where it has been supplied under Part 8 (article 32 or the CMA order), value reflects upper tier value
type: string
enum:
- £5000
- £10000
- £15000
- £20000
- £25000
- Other
- TierMaximum
- TierMinimum
LoanLengthIncrement:
description: Loan Length Increments
type: string
enum:
- 1 year
- 2 years
- 3 years
- 4 years
- 5 years
RepaymentFrequency:
type: array
items:
description: Repayment Frequency Code
type: string
enum:
- Daily
- Flexible
- Fortnightly
- HalfYearly
- Monthly
- Quarterly
- Weekly
- Yearly
minItems: 1
uniqueItems: true
LoanSizeBandLower:
description: Monetary amount without currency
type: string
pattern: ^-?\d{1,10}\.\d{1,2}$
LoanSizeBandUpper:
description: Monetary amount without currency
type: string
pattern: ^-?\d{1,10}\.\d{1,2}$
LoanLengthIncrementLower:
type: integer
LoanLengthIncrementUpper:
type: integer
IndicativeRate:
type: string
RateComparisonType:
description: Rate Comparison Type
type: string
enum:
- APR
- AER
- Gross
- Net
- RepApr
Negotiable:
type: boolean
required:
- SizeIncrement
- LoanLengthIncrement
- RepaymentFrequency
- LoanSizeBandLower
- LoanSizeBandUpper
- LoanLengthIncrementLower
- LoanLengthIncrementUpper
- IndicativeRate
- Negotiable
additionalProperties: false
CCARegulatedEntity:
type: boolean
IsALowInterestRepaymentStartPossible:
type: boolean
IsThisAnInterestOnlyLoan:
type: boolean
WillTheLoanBePaidInTrancheDrawdowns:
type: boolean
required:
- ProductState
- CCARegulatedEntity
- IsALowInterestRepaymentStartPossible
- IsThisAnInterestOnlyLoan
- WillTheLoanBePaidInTrancheDrawdowns
additionalProperties: false
Eligibility:
description: Eligibility
type: object
properties:
AgeRestricted:
description: Indicates a customer's age is part of eligibility criteria
type: boolean
MinimumAge:
description: Minimum age, in years, required to hold an account
type: integer
MaximumAge:
description: Maximum age, in years, allowed to hold the account
type: integer
MaximumAgeToOpen:
description: Maximum age, in years, to open an account
type: integer
OtherFinancialHoldingRequired:
description: Indicates that it is necessary to hold another product with the bank in order to be eligible for this product or feature
type: boolean
Description:
description: One paragraph detailing the eligibility
type: string
IncomeTurnoverRelated:
description: Indicates if eligibility linked to income
type: boolean
SingleJointIncome:
description: Minimum Income Source. For certain products a minimum income is required. This can be mandated as to the single income or to a joint income. This field describes this
type: string
enum:
- Joint
- SoleIncome
- SoleOrJoint
- Turnover
MinimumIncomeTurnoverAmount:
description: Minimum income / Turnover required to hold the product
type: string
pattern: ^-?\d{1,10}\.\d{1,2}$
MinimumIncomeTurnoverCurrency:
description: Minimum income / Turnover Currency
type: string
pattern: '[A-Z]{3}'
IncomeCondition:
description: Stipulates any particular definition of income that applies to the income eligibility and/or method by which income must paid into the account (eg Salary DD)
type: string
MinIncomeTurnoverPaidIntoAccount:
description: Minimum Income Amount required to paid into the account
type: integer
MinimumIncomeFrequency:
description: The frequency that the minimum mentioned before is deposited in the account. Yearly is very important for premium accounts
type: string
enum:
- AcademicTerm
- HalfYearly
- Monthly
- Quarterly
- Weekly
- Yearly
AnnualBusinessTurnover:
description: Annual Business Turnover
type: string
pattern: ^-?\d{1,10}\.\d{1,2}$
AnnualBusinessTurnoverCurrency:
description: Annual Business Turnover Currency
type: string
pattern: '[A-Z]{3}'
ResidencyRestricted:
description: Indicates a customer's residency forms part of the eligibility criteria
type: boolean
ResidencyRestrictedRegion:
description: Indicates a customer must be current resident of a geographic area/country
type: string
enum:
- UK
- EEA
- EU
- EFTA
- GB - ENG
- GB - NIR
- GB - SCT
- GB - WLS
- IRL
MaxNumberOfAccounts:
description: Maximum number of the same prodcut the customer may hold
type: string
ThirdSectorOrganisations:
description: Is the product available to operate as a Clubs or Societies account?
type: boolean
MinimumDeposit:
description: A minimum deposit required to hold this account
type: boolean
OpeningDepositMinimum:
description: Minimum Amount to be held on account
type: string
pattern: ^-?\d{1,10}\.\d{1,2}$
OpeningDepositMinimumCurrency:
description: The currency of the Minimum Amount to be depositing at opening
type: string
pattern: '[A-Z]{3}'
MinimumOperatingBalanceExists:
description: Is there a Minimum Operating Balance?
type: boolean
MinimumOperatingBalance:
description: Minimum Operating Balance
type: string
pattern: ^-?\d{1,10}\.\d{1,2}$
MinimumOperatingBalanceCurrency:
description: Minimum Operating Balance currency
type: string
pattern: '[A-Z]{3}'
MaximumOpeningAmount:
description: A maximum amount to be deposited at opening
type: boolean
OpeningDepositMaximumAmount:
description: Maximum Amount to be depositing at opening
type: string
pattern: ^-?\d{1,10}\.\d{1,2}$
OpeningDepositMaximumCurrency:
description: The currency of the Minimum Amount to be depositing at opening
type: string
pattern: '[A-Z]{3}'
EligibilityName:
description: Free text description, denotes non standard eligibilities not included in the code list
type: string
EligibilityType:
description: Eligibility type
type: string
enum:
- AnyBusinessCustomer
- BusinessOnly
- CreditCard
- CreditScoring
- EmailAddress
- ExistingCustomers
- IdAndV
- Mortgage
- NoArrearsOnLoan
- NoCustomerInArrears
- NoOverOverdraftThirtyDays
- NoSoleUkAccountOrBankrupt
- NTB
- NTBBusiness
- SoleStudentAccount
- SoleUkAccount
- StudentsOnly
- TwoMonthsOfCourseStart
- UCASFulltimeTwoYears
EligibilityNotes:
description: Optional additional notes to supplement the eligibility conditions. Only used for very specific conditions
type: string
PreviousBankruptcy:
description: Describes if a previous bankruptcy / insolvency disqualfies for this account Details in ELI-280
type: boolean
MarketingEligibility:
type: array
items:
description: Specific eligibility for marketing
type: string
enum:
- ExistingCustomers
- NewCustomersOnly
- SwitchersOnly
- StartUp
uniqueItems: true
required:
- AgeRestricted
- OtherFinancialHoldingRequired
- Description
- IncomeTurnoverRelated
- ResidencyRestricted
- ThirdSectorOrganisations
- PreviousBankruptcy
additionalProperties: false
FeesAndCharges:
type: array
items:
description: Fees And Charges
type: object
properties:
ProductState:
description: Describes if the offering is promotional or a description of a future state.
type: string
enum:
- FutureMultipleTerms
- Promotional
- Regular
Fees:
description: Fees
type: object
properties:
StartPromotionOrFutureTerms:
description: Describes the start date
type: string
pattern: ^[0-9]{4}-(0[1-9]|(1[0|1|2]))-((0[1-9])|((1|2)[0-9])|(30|31))$
StopPromotionOrFutureTerms:
description: Describes the end date
type: string
pattern: ^[0-9]{4}-(0[1-9]|(1[0|1|2]))-((0[1-9])|((1|2)[0-9])|(30|31))$
LengthPromotionalInDays:
description: Describes the length if only a duration is given instead of a date
type: integer
DateOfChange:
description: Date of the change if it refers to future terms
type: string
pattern: ^[0-9]{4}-(0[1-9]|(1[0|1|2]))-((0[1-9])|((1|2)[0-9])|(30|31))$
FeeLowerTier:
description: Lower occurrence / range boundary e.g.. For returned cheques this could be 0, which means the first returned cheque fits into this range
type: integer
FeeHigherTier:
description: Higher occurrence / range boundary e.g. For returned cheques this could be 10, which means the first 10 returned cheque fits into this range
type: integer
FeeDetails:
type: array
items:
description: Fee Details
type: object
properties:
FeeSubType:
description: Fee Sub Type code
type: string
enum:
- FutureMultipleTerms
- Promotional
- Regular
FeeDetail:
description: Fee Detail
type: object
properties:
FeeType:
description: A description of the Fee type
type: string
enum:
- Other
- ATMDonation
- ATMDeposATMPaidIn
- ReportCertBalance
- ATMAbroadConVisaCredit
- ATMAbroadConVisaDebit
- ATMCardnetEnvIn
- ATMCashGroupATMCreditCard
- ATMCashNonGroupATMCredittcard
- ATMCashGroupATMDebitCard
- ATMCashNonGroupATMDebitcard
- ATMConGroupATM
- ATMAbroad
- ATMForeignCashDebCard
- ATMAbroadGoldVisaDebit
- ATMSpainCashCard
- ATMSpainDebitCard
- ATMSpainConversionDebitCard
- ATMSpainConversionCashCard
- ATMNonSterlingWithdrawal
- ATMAbroadVisaCredit
# --- truncated at 32 KB (80 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/leeds-building-society/refs/heads/main/openapi/leeds-building-society-sme-api-openapi.yml