← Back to all apps

MoneySuperMarket

Financeby MoneySuperMarket
Launched May 26, 2026 on ChatGPT

MoneySuperMarket in ChatGPT helps you compare and save on your household bills and finances through a simple, natural conversation. Get a quick estimate for your car insurance in seconds, or sign in securely to your MoneySuperMarket account to compare a wide range of products including Car Insurance, Home Insurance, Credit Cards, Loans, Pet Insurance and Van Insurance. You can also find broadband deals and use our speed checker tool to make sure you get the right broadband speed. Plus, browse current accounts, savings products, and get answers to your financial questions using MoneySuperMarket’s trusted expertise.

13ChatGPT Tools
MoneySuperMarketDeveloper
FinanceCategory

Available Tools

Compare current accounts

get_bank_accounts
Full Description

Use this when the user wants to compare or find current accounts (bank accounts), including standard accounts, packaged accounts, student accounts, high-interest accounts, credit-building accounts, overdraft accounts, switch-incentive accounts, or under-18s accounts. Returns live current account products from MoneySuperMarket with filtering and sorting options. Do not use for savings accounts — use get_savings_accounts instead. Do not use for general banking advice — use search_moneysupermarket_knowledge instead. Never fabricate or assume parameter values. If a required parameter is missing, ask the user. If the user provided relevant information earlier in the conversation, confirm those values with the user before proceeding.

Current Accounts

  • Reference

Overview

This document defines relevant information so that the AI model can work with the Money Broker API for Current Accounts. Below is a reference of fields used to filter and interpret current account products.

Field Mappings for requests and responses

Available category.code mappings:

| Category Code | Label | Description | |---------------|-------|-------------| | all_tiers | All accounts | All current account types | | cur_benefits | Packaged accounts | Current accounts with added benefits | | cur_interest | High interest accounts | Current accounts that offer high interest rates | | cur_managed | Credit Building | Current accounts with credit building features | | cur_standard | Current accounts | Standard current accounts | | cur_student | Student accounts | Current accounts designed for students | | cur_switchincentive | Switch incentive | Current accounts offering incentives for switching | | cur_under_18s | Under 18s accounts | Current accounts for individuals under 18 years old | | cur_overdraft | Overdraft | Current accounts with overdraft facilities |

Usage notes:

  • Categories are dynamically assigned to products by the backend based on account properties
  • The AI model must use a category.code filter in all requests, to avoid getting duplicate products in results

Sorting Options

Accounts should be sorted to provide the user with the best fit to their interests. Below are available sorting options and user goals they correspond to, these can be mixed and matched as appropriate:

| Sorting Options | User Goal | | productAttributes.switchIncentivePerceivedValue | Users looking for accounts with switch incentives | | productAttributes.interestRates.grossAER | Users seeking accounts with interest rates | | productAttributes.overdraft.hasOverdraftFacility | Users interested in overdraft facilities | | productAttributes.overdraft.interestFreeOverdraftLimit | Users interested in overdraft facilities | | productAttributes.overdraft.annualCost | Users interested in overdraft facilities | | productAttributes.customerRatingScore | Users interested in the account's customer service | | productAttributes.digitalBankRating | Users interested in the account's digital access facilities |

Default Sorting

Sorting should always use the list bellow in the order presented. Depending on user goals, additional sorting options can be added to the start of the list or moved to the start if the option already exists in the list.

  • productAttributes.switchIncentivePerceivedValue (descending)
  • productAttributes.customerRatingScore (descending)
  • productAttributes.overdraft.hasOverdraftFacility (descending)
  • productAttributes.overdraft.interestFreeOverdraftLimit (descending)
  • productAttributes.overdraft.annualCost (ascending)
  • productAttributes.interestRates.grossAER (descending)
  • monthlyFee (ascending)
  • productAttributes.noCreditCheck (ascending)
  • productAttributes.guaranteedAcceptance (descending)
  • brand.name (ascending)
  • name (ascending)

Usage Summary

When presenting results the AI model should always:

  • round down total interest earned
  • restrict the number of results to a maximum of 5 accounts
Parameters (1 required, 1 optional)
Required
payloadobject
Optional
settingsobject
Default: {'facets': False}

Find best broadband deal

get_broadband_deal
Full Description

Use this when the user is interested in getting, purchasing, or comparing broadband deals. Returns live broadband deals from major UK providers via MoneySuperMarket, with filtering by provider, price, speed, and contract length. Always collect the house name/number and postcode before calling — do not use placeholder values. Do not use for general broadband advice or speed recommendations — use search_moneysupermarket_knowledge or get_recommended_broadband_speed_for_household instead. Never fabricate or assume parameter values. If a required parameter is missing, ask the user. If the user provided relevant information earlier in the conversation, confirm those values with the user before proceeding.

Parameters (2 required, 7 optional)
Required
houseNameOrNumberstring

The search query string to identify address house name or house number. This information must always be provided by the user, it cannot be made up and a placeholder value must never be used

postcodestring

The search query string to identify post code of the address. This information must always be provided by the user, it cannot be made up and a placeholder value must never be used

Optional
contractLengthsarray

Allowed contract lengths in months (e.g., [12, 24]).

excludeProvidersarray

Provider names to exclude (e.g., ["TalkTalk"]).

includeProvidersarray

Provider names to include (e.g., ["Sky", "BT", "Virgin Media"]).

maxPricenumber

Maximum monthly price in GBP.

maxSpeednumber

Maximum speed in Mbps.

Default: 150
minPricenumber

Minimum monthly price in GBP.

minSpeednumber

Minimum speed in Mbps.

Default: 100

Get Quick Estimate For Car Insurance

get_car_insurance_quick_estimate
Full Description

Use this as a fallback when get_car_insurance_requote is unavailable or has failed. Returns an estimated car insurance price range based on vehicle registration, postcode, driver age, no-claims history, home ownership, and licence type. UK vehicles only. Do not use as the first choice for car insurance — always try get_car_insurance_requote first. Do not use for van insurance or general insurance advice. Never fabricate or assume parameter values. If a required parameter is missing, ask the user. If the user provided relevant information earlier in the conversation, confirm those values with the user before proceeding.

Parameters (6 required)
Required
driverAgeinteger

REQUIRED: Age of the main driver in years (must be at least 18). NEVER infer or assume this value - you MUST ask the user to enter driverAge. Do not attempt to guess based on context.

homeOwnerboolean

REQUIRED: Whether the driver owns their home. Homeowners typically receive lower insurance quotes. Do not attempt to guess based on context.

noClaimsDurationinteger

Number of years with no insurance claims. Use 0 for new drivers or those with recent claims.

postcodestring

REQUIRED: UK postcode where the vehicle is kept. NEVER infer or assume this value - you MUST ask the user to enter postcode. Do not attempt to guess based on context.

provisionalLicenceboolean

REQUIRED: Whether the driver holds a provisional (learner) licence rather than a full UK driving licence. Do not attempt to guess based on context.

registrationstring

REQUIRED: UK vehicle registration number. NEVER infer or assume this value - you MUST ask the user to enter registration number. Do not attempt to guess based on context.

Get Motor Insurance Quote

get_car_insurance_requote
Full Description

Use this as the first choice when the user wants car or van insurance quotes. Retrieves fresh motor insurance quotes from multiple UK providers via MoneySuperMarket. Default to vehicleType='car' unless the user explicitly mentions van insurance. If the tool fails with vehicleType='car', retry with vehicleType='van'. If this tool fails, fall back to get_car_insurance_quick_estimate. Do not use for general insurance advice — use search_moneysupermarket_knowledge instead. Never fabricate or assume parameter values. If a required parameter is missing, ask the user. If the user provided relevant information earlier in the conversation, confirm those values with the user before proceeding.

Parameters (2 required, 1 optional)
Required
carRegistrationstring

REQUIRED: Registration number of the car to get the latest enquiry for

policyStartDatestring

Desired start date for the new motor insurance policy (YYYY-MM-DD)

Optional
vehicleTypestring

Is the vehicle a car or a van. Defaults to "car". Only use "van" if the user explicitly mentions van insurance or if a previous call with "car" failed.

Options:carvan
Default: car

Get Credit Card Results

get_credit_card_requote
Full Description

Use this when the user wants to compare or find credit cards. Returns personalised credit card results from MoneySuperMarket. The user MUST explicitly choose one of the card types below — do not infer or assume the card type from context. Do not use for general credit card advice — use search_moneysupermarket_knowledge instead.

Available card types:

  • "Transferring an existing balance" balance transfer cards, sorted by longest 0% balance transfer period
  • "Interest free spending" 0% purchase cards, sorted by longest interest-free period
  • "Transferring a balance and interest free spending" cards that offer both
  • "Improving my credit rating" cards for building or rebuilding credit
  • "Earning rewards on my spending" cashback and rewards cards
  • "Spending abroad" travel cards with low or no foreign exchange fees

The optional sortBy parameter lets the user choose what matters most. The available options depend on the chosen card type:

For "Transferring an existing balance":

  • "Your chance of approval" (default)
  • "Interest free period"
  • "Fees"

For "Interest free spending":

  • "Your chance of approval" (default)
  • "Longest purchase offer"

For "Transferring a balance and interest free spending":

  • "Your chance of approval" (default)
  • "Longest balance transfer offer"
  • "Balance transfer fee"
  • "Longest purchase offer"

For "Improving my credit rating":

  • "Your chance of approval" (default)
  • "Balance transfer rate"
  • "Purchase rate"
  • "Brand A-Z"

For "Earning rewards on my spending":

  • "Your chance of approval" (default)
  • "Lowest APR"
  • "Brand A-Z"

For "Spending abroad":

  • "Your chance of approval" (default)
  • "Lowest foreign purchase fee"
  • "Brand A-Z"

Only pass creditLimit if the user explicitly states a desired minimum credit limit (in £); omit it or set to 0 for no preference.

Never fabricate or assume parameter values. If a required parameter is missing, ask the user. If the user provided relevant information earlier in the conversation, confirm those values with the user before proceeding.

Parameters (1 required, 3 optional)
Required
cardTypestring

REQUIRED: The exact card type the user explicitly specified. NEVER infer or assume this value - you MUST ask the user to choose one of the 6 card types if they have not explicitly stated it. Do not attempt to guess based on context.

Options:Transferring an existing balanceInterest free spendingTransferring a balance and interest free spendingImproving my credit ratingEarning rewards on my spendingSpending abroad
Optional
creditLimitinteger

Desired minimum credit limit in £. Use 0 (default) if the user has no preference.

Default: 0
enquiryIdstring

Enquiry ID from a previous call to this tool in the current conversation. Pass it back on follow-up sort/filter requests to reuse the same enquiry and avoid an unnecessary credit check. Do not display this value to the user — it is only for the model to recall the same enquiry.

sortBystring

How to sort results. Must match one of the available sort options for the chosen card type (e.g., "Your chance of approval", "Lowest foreign purchase fee", "Brand A-Z"). If not provided, the default sort for the chosen card type is used. Available options vary by card type - see the tool description for the complete list.

Get Quick Estimate For Home Insurance

get_home_insurance_quick_estimate
Full Description

Returns an estimated home insurance price based on cover type, postcode, property market value, and contents replacement cost. UK properties only. Never fabricate or assume parameter values. If a required parameter is missing, ask the user. If the user provided relevant information earlier in the conversation, confirm those values with the user before proceeding.

Parameters (2 required, 2 optional)
Required
coverTypestring

REQUIRED: Type of home insurance cover. Use "building" for buildings only, "contents" for contents only, or "building_contents" for combined cover. Ask the user if unsure.

Options:buildingcontentsbuilding_contents
postcodestring

REQUIRED: UK postcode where the property is located. NEVER infer or assume this value - you MUST ask the user.

Optional
propertyMarketValuenumber/string

Required when coverType is "building" or "building_contents": estimated market value of the property. NEVER infer or assume this value - you MUST ask the user.

totalContentsReplacementCostnumber/string

Required when coverType is "contents" or "building_contents": estimated total replacement cost of home contents. NEVER infer or assume this value - you MUST ask the user.

Get Home Insurance ReQuote

get_home_insurance_requote
Full Description

Use this when the user wants to find or compare home insurance. Retrieves fresh home insurance quotes from multiple UK providers via MoneySuperMarket. Do not use for general insurance advice — use search_moneysupermarket_knowledge instead. Never fabricate or assume parameter values. If a required parameter is missing, ask the user. If the user provided relevant information earlier in the conversation, confirm those values with the user before proceeding.

Parameters (2 required)
Required
policyStartDatestring

Desired start date for the new home insurance policy (YYYY-MM-DD)

postcodestring

REQUIRED: UK postcode where the vehicle is kept. NEVER infer or assume this value - you MUST ask the user to enter postcode. Do not attempt to guess based on context.

Get Loan Results

get_loans_requote
Full Description

Use this when the user wants to find or compare personal loans. Returns personalised loan results from MoneySuperMarket. Do not use for general loan advice — use search_moneysupermarket_knowledge instead.

The user must specify:

  • loanAmount: how much they want to borrow (in £, between 500 and 25000)
  • loanTermInMonths: repayment period in months (12 to 300, in 6-month increments — e.g. 12, 18, 24 … 300)
  • loanPurpose: what the loan is for

Available loan purposes:

  • "Home improvement" home renovation or improvement
  • "Debt consolidation" consolidating existing debts
  • "Car" buying a car
  • "Wedding" funding a wedding
  • "Holiday" funding a holiday
  • "Other" any other purpose

Re-sorting or re-filtering: if this tool has already been called in this conversation and returned an enquiryId, pass that enquiryId back on follow-up calls (e.g. "show me results for a higher amount", "change term to 36 months"). This avoids an unnecessary credit check — the same enquiry is reused with updated parameters.

Never fabricate or assume parameter values. If a required parameter is missing, ask the user. If the user provided relevant information earlier in the conversation, confirm those values with the user before proceeding.

Parameters (3 required, 2 optional)
Required
loanAmountinteger

Loan amount in £ (between 500 and 25,000).

loanPurposestring

The purpose of the loan.

Options:Home improvementDebt consolidationCarWeddingHolidayOther
loanTermInMonthsinteger

Loan repayment term in months (12 to 300, in 6-month increments — e.g. 12, 18, 24 … 300).

Optional
enquiryIdstring

Enquiry ID from a previous call to this tool in the current conversation. Pass it back on follow-up requests to reuse the same enquiry and avoid an unnecessary credit check. Do not display this value to the user — it is only for the model to recall the same enquiry.

sortBystring

How to sort loan results. Defaults to "Most likely to approve you" if not specified. Use "Lowest interest rate" when the user wants the cheapest deals, or "Lowest interest rate you're likely to get" to balance low rates with approval likelihood.

Options:Most likely to approve youLowest interest rateLowest interest rate you're likely to get

Get Pet Insurance ReQuote

get_pet_insurance_requote
Full Description

Use this when the user wants to find or compare pet insurance. Retrieves fresh pet insurance quotes from multiple UK providers via MoneySuperMarket. Do not use for general insurance advice — use search_moneysupermarket_knowledge instead. Never fabricate or assume parameter values. If a required parameter is missing, ask the user. If the user provided relevant information earlier in the conversation, confirm those values with the user before proceeding.

Parameters (2 required)
Required
petNamestring

The name of the pet associated with the policy. Used to retrieve the latest pet insurance enquiry.

policyStartDatestring

Desired start date for the new pet insurance policy (YYYY-MM-DD)

Get Quick Energy Results

get_quick_energy_results
Full Description

Use this when the user wants to compare energy deals or find cheaper gas and electricity tariffs. Returns live energy comparison results from MoneySuperMarket based on the user's postcode and house name or number. Always collect the postcode and house name/number from the user before calling — do not use placeholder values. Never fabricate or assume parameter values. If a required parameter is missing, ask the user.

Parameters (2 required)
Required
houseNameNumberstring

The search query string to identify address house name or house number. This information must always be provided by the user, it cannot be made up and a placeholder value must never be used

postcodestring

The search query string to identify post code of the address. This information must always be provided by the user, it cannot be made up and a placeholder value must never be used

Calculate Recommended Broadband Speed

get_recommended_broadband_speed_for_household
Full Description

Use this when the user asks what broadband speed they need or wants help figuring out the right speed for their household. Calculates a recommended download speed range (Mbps) based on number of occupants, streaming/gaming usage, and remote work needs. After returning broadband deals from get_broadband_deal, ask the user if they would like to check what speed is right for their household. Do not use for finding or comparing broadband deals — use get_broadband_deal instead. Never fabricate or assume parameter values. If a required parameter is missing, ask the user. If the user provided relevant information earlier in the conversation, confirm those values with the user before proceeding.

Parameters (3 required)
Required
hasGamingOrStreamingboolean

Does anyone in the household game or stream at home?

hasWorkFromHomeboolean

Does anyone in the household work from home?

householdSizenumber

Number of people in the household

Compare savings accounts

get_savings_accounts
Full Description

Use this when the user wants to compare or find savings accounts, including Cash ISAs, fixed-rate bonds, easy access accounts, notice accounts, regular savers, Junior ISAs, or Lifetime ISAs. Returns live savings account products from MoneySuperMarket with filtering by account type, interest rate, term length, and opening method. Do not use for current accounts — use get_bank_accounts instead. Do not use for general savings advice — use search_moneysupermarket_knowledge instead. Never fabricate or assume parameter values. If a required parameter is missing, ask the user. If the user provided relevant information earlier in the conversation, confirm those values with the user before proceeding.

Savings Accounts

  • Reference

Overview

This document defines relevant information so that the AI model can work with the Money Broker API for Savings Accounts. Below there's a list of available numeric IDs for filtering savings account products, the AI model must use numeric values not enum names.

Field ID Mappings for requests and responses

accountTypeId

Savings account types:

| ID | Enum Name | Description | |----|-----------|-------------| | 1 | CASH_ISA | Standard tax-free Cash ISA | | 3 | EASY_ACCESS | Instant access savings accounts with no withdrawal restrictions | | 5 | NOTICE_ACCOUNT | Savings accounts requiring advance notice for withdrawals | | 7 | CHILD_TRUST_FUND | Government savings scheme for children (legacy) | | 8 | FIXED_RATE_BOND | Fixed interest rate bond products with term commitment | | 9 | FIXED_TERM_BOND | Fixed term bond products with locked-in rates | | 11 | FIXED_RATE_CASH_ISA | Tax-free ISA with fixed interest rate | | 12 | REGULAR_SAVER | Regular monthly savings accounts | | 13 | NOTICE_CASH_ISA | Tax-free ISA requiring withdrawal notice | | 14 | ISA_REGULAR_SAVER | Regular saver with ISA tax benefits | | 15 | CHILDREN_EASY_ACCESS | Easy access savings for children | | 16 | CHILDREN_NOTICE_ACCOUNT | Notice account for children | | 17 | CHILDREN_REGULAR_SAVER | Regular saver for children | | 18 | CHILDREN_FIXED_RATE | Fixed rate savings for children | | 19 | OFFSHORE_EASY_ACCESS | Offshore easy access accounts | | 20 | OFFSHORE_NOTICE_ACCOUNT | Offshore notice accounts | | 21 | OFFSHORE_REGULAR_SAVER | Offshore regular saver accounts | | 22 | OFFSHORE_FIXED_RATE | Offshore fixed rate products | | 23 | FIXED_TERM_CASH_ISA | Tax-free ISA with fixed term commitment | | 24 | CHILDREN_FIXED_TERM_ACCOUNT | Fixed term savings for children | | 25 | CASH_JUNIOR_ISA | Tax-free savings for children under 18 | | 26 | REGULAR_SAVER_JUNIOR_ISA | Junior ISA with regular contributions | | 27 | ALTERNATIVE_JUNIOR_ISA | Alternative Junior ISA products | | 28 | HELP_TO_BUY_ISA | Government Help to Buy ISA scheme | | 29 | LIFETIME_ISA | Tax-free ISA for first-time buyers and retirement |

Common groupings:

  • All standard bonds: "[8, 9]"
  • All ISAs: "[1, 11, 13, 14, 23]"
  • All Junior ISAs: "[25, 26, 27]"
  • Fixed rate products: "[8, 11, 18, 22]"
  • Fixed term products: "[9, 23, 24]"
  • Easy access products: "[3, 15, 19]"
  • Notice accounts: "[5, 13, 16, 20]"
  • Regular savers: "[12, 14, 17, 21, 26]"
  • Children's accounts: "[7, 15, 16, 17, 18, 24, 25, 26, 27]"
  • Offshore accounts: "[19, 20, 21, 22]"
  • Government schemes: "[28, 29]"
accountOpeningAgeTypeIds

Age eligibility criteria:

| ID | Enum Name | Age Range | Description | |----|-----------|-----------|-------------| | 1 | UNDER_SIXTEEN | Under 16 years | Children and minors | | 2 | SIXTEEN_TO_TWENTY_TWO | 16-22 years | Young adults and students | | 3 | TWENTY_THREE_TO_FORTY_NINE | 23-49 years | Working-age adults | | 4 | FIFTY_AND_OVER | 50+ years | Senior savers |

Usage notes:

  • Multiple age ranges can be combined with "filterType: 'ANY'"
  • Use "filterType: 'ALL'" only if product must match all age criteria (rare)
accountOpeningTypeIds

Account opening channels:

| ID | Enum Name | Description | |----|-----------|-------------| | 1 | BRANCH | Open account in physical branch | | 2 | ONLINE | Open account via website | | 3 | POST | Open account by postal application | | 4 | PHONE | Open account via telephone | | 8 | MOBILE_APP | Open account via mobile application |

Usage notes:

  • Use "filterType: 'ANY'" to find accounts available through at least one channel
  • Combine multiple IDs to find accounts available via multiple channels
accountGroupTypeId

Product category groupings:

| ID | Enum Name | Description | |----|-----------|-------------| | 1 | CASH_ISA_ACCOUNTS | All Cash ISA products | | 2 | EASY_ACCESS_ACCOUNTS | Instant access accounts | | 3 | NOTICE_ACCOUNTS | Accounts requiring withdrawal notice | | 4 | REGULAR_SAVING_ACCOUNTS | Regular monthly savers | | 5 | FIXED_RATE_BONDS | Fixed interest rate bonds | | 6 | FIXED_TERM_BONDS | Fixed term bond products | | 7 | OFFSHORE_ACCOUNTS | Offshore savings products | | 8 | CHILD_TRUST_FUNDS | Child Trust Fund accounts | | 9 | HELP_TO_BUY_ISA | Help to Buy ISA products | | 10 | CASH_JUNIOR_ISA | Junior ISA products | | 11 | LIFETIME_ISA | Lifetime ISA products |

accountAccessTypeIds

Account access channels:

| ID | Enum Name | Description | |----|-----------|-------------| | 1 | BRANCH | Manage account in branch | | 2 | ONLINE | Manage account via website | | 3 | POST | Manage account by post | | 4 | PHONE | Manage account via telephone | | 8 | MOBILE_APP | Manage account via mobile app | | 9 | ATM | Manage account via cash machine |

Usage notes:

  • Use "filterType: 'ANY'" to find accounts manageable through at least one channel
  • Modern accounts typically support: "[2, 4, 8]" (Online, Phone, Mobile App)
rateTypeId

Interest rate types:

| ID | Enum Name | Description | |----|-----------|-------------| | 1 | VARIABLE | Interest rate can change over time | | 2 | FIXED | Interest rate guaranteed for term | | 3 | FIXED_THEN_VARIABLE | Fixed rate initially, then variable |

Usage notes:

  • Fixed (2): Best for rate certainty
  • Variable (1): May benefit from rate rises
  • Fixed Then Variable (3): Initial guarantee with future flexibility
interestPaidTypeId

Interest payment frequency:

| ID | Enum Name | Description | Best For | |----|-----------|-------------|----------| | 1 | HALF_YEARLY | Interest paid twice per year | Semi-annual income | | 2 | ANNIVERSARY | Interest paid on account anniversary | Annual budgeters | | 3 | MONTHLY | Interest credited every month | Regular income seekers | | 4 | ON_CLOSURE | Interest paid when account closes | Flexible savers | | 5 | ON_MATURITY | Interest paid at end of term | Long-term savers | | 6 | ON_MATURITY_COMPOUNDED_ANNUALLY | Interest compounded and paid at maturity | Maximum growth | | 7 | ON_REQUEST | Interest paid on demand | Flexible income | | 8 | QUARTERLY | Interest paid four times per year | Quarterly income | | 9 | YEARLY | Interest paid once per year | Annual budgeters | | 10 | IN_ADVANCE | Interest paid upfront | Immediate income | | 11 | DAILY | Interest calculated and credited daily | Maximum compounding |

Usage notes:

  • Most common: Monthly (3), Yearly (9), On Maturity (5)
  • For maximum growth: Daily (11) or On Maturity Compounded Annually (6)
termAndNoticeId

Product term lengths and notice periods:

| ID | Enum Name | Description | Applies To | |----|-----------|-------------|------------| | 1 | INSTANT_OR_NONE | No term or notice requirement | Easy access accounts | | 2 | THIRTY_DAYS | 30 days notice or term | Notice accounts, short bonds | | 3 | SIXTY_DAYS | 60 days notice or term | Notice accounts | | 4 | ONE_TWENTY_DAYS | 120 days notice or term | Long notice accounts | | 5 | ONE_YEAR | 1 year term | Fixed term bonds | | 6 | TWO_YEARS | 2 year term | Fixed term bonds | | 7 | THREE_YEARS | 3 year term | Fixed term bonds | | 8 | FOUR_YEARS | 4 year term | Fixed term bonds | | 9 | FIVE_YEARS_PLUS | 5+ year term | Long-term bonds |

Usage notes:

  • Easy access: Use "1" (INSTANT_OR_NONE)
  • Notice accounts: Use "[2, 3, 4]"
  • Bonds: Use "[5, 6, 7, 8, 9]" based on desired term length
category.code

Product category codes (dynamically assigned based on account type and term):

| Code | Description | Assignment Logic | |------|-------------|---------------------------------------------------| | "all_tiers" | All products | Default filter (assigned to all products) | | "all_products_and_all_tiers" | All products and tiers | Standard filter (assigned to all products) | | "savings-childrens-accounts" | Children's accounts | Any children's account type (IDs: 7, 15-18, 24-27) | | "seo easy access" | Easy access accounts | EASY_ACCESS account type (ID: 3) | | "seo notice accounts" | Notice accounts | NOTICE_ACCOUNT type (ID: 5) | | "seo help to buy isas" | Help to Buy ISAs | HELP_TO_BUY_ISA type (ID: 28) | | "seo cash isa" | Cash ISAs | CASH_ISA type (ID: 1) | | "seo fixed rate bonds 1 year" | 1-year fixed rate bonds | Fixed rate bond with 1-365 days term | | "seo fixed rate bonds 18 months" | 18-month fixed rate bonds | Fixed rate bond with 366-458 days term | | "seo fixed rate bonds 2 year" | 2-year fixed rate bonds | Fixed rate bond with 459-731 days term | | "seo fixed rate bonds 3 year" | 3-year fixed rate bonds | Fixed rate bond with 732-1095 days term | | "seo fixed rate bonds 4 year" | 4-year fixed rate bonds | Fixed rate bond with 1096-1461 days term | | "seo fixed rate bonds 5 year" | 5-year+ fixed rate bonds | Fixed rate bond with 1462+ days term | | "seo fixed rate isa 1 year" | 1-year fixed rate ISA | Fixed rate ISA with 1-365 days term | | "seo fixed rate isa 2 years" | 2-year fixed rate ISA | Fixed rate ISA with 366-731 days term | | "seo fixed rate isa 3 years" | 3-year+ fixed rate ISA | Fixed rate ISA with 732-1095 days term | | "seo fixed rate isa 4 years" | 4-year fixed rate ISA | Fixed rate ISA with 1096-1461 days term | | "seo fixed rate isa 5 years" | 5-year+ fixed rate ISA | Fixed rate ISA with 1462+ days term | | "seo regular saver" | Regular saver accounts | REGULAR_SAVER type (ID: 12) | | "seo offshore" | Offshore accounts | Any offshore account type (IDs: 19-22) |

Usage notes:

  • Categories are dynamically assigned to products by the backend based on account type and term length
  • The AI model must filter using the default category.code "all_tiers" in all requests, to avoid getting duplicate products in results
  • Use "accountTypeId" and "termAndNoticeId" filters should be used to filter products instead of specific categories
  • Non default category codes are useful for interpreting response data and understanding product classification
noticePeriod

How long someone must wait to access the funds in their savings account:

| Code | Description | |----------|-------------------------------------------------------| | "" | Notice period is not applicable | | "none" | Funds are available without notice | | "x days" | x days notice required, where x is the number of days |

displaySettings.showProceedButton

UI control for product application:

| Value | Meaning | |-------|---------| | "1" | Show "Proceed" button (standard for user-facing results) | | "0" | Hide "Proceed" button |

Usage notes:

  • Always request accounts that show the "proceed" button by default ("1")
accountFeeFrequencyTypeId

Fee payment frequency:

| ID | Enum Name | Description | |----|-----------|-------------| | 1 | YEARLY | Annual fee charged | | 2 | MONTHLY | Monthly fee charged | | 3 | QUARTERLY | Quarterly fee charged | | 10 | NONE | No fees charged |

Usage notes:

  • Fee Frequency Type Ids are useful for interpreting response data
filterCode

The code will be added to each account's click out URL. It's an internal field used for tracking purposes. The field has two components separated by an underscore ("_"): 1. The first part indicates the general type of the account based on the productAttributes.accountDetails.accountTypeId filter used. a. If the filter is used accepted values for the first part are: "FIXED_RATE", "EASY_ACCESS" and "ISA" b. If the filter is not used or contains values matching multiple accepted values then "ALL_TIERS" should be used instead. 2. The second part is optional and indicates the term length or notice period based on the productAttributes.accountDetails.termAndNoticeId filter. a. If the filter is used accepted values are: "1Y", "2Y", "3Y", "4Y", "5Y", or "NO_NOTICE". b. If the filter is not used or contains values matching multiple accepted values then this part should be omitted.

The list of acceptable options is:

| filterCode | Description | |------------|-------------| | FIXED_RATE_1Y | Fixed rate bond with 1 year term | | FIXED_RATE_2Y | Fixed rate bond with 2 year term | | FIXED_RATE_3Y | Fixed rate bond with 3 year term | | FIXED_RATE_4Y | Fixed rate bond with 4 year term | | FIXED_RATE_5Y | Fixed rate bond with 5 year or more term | | FIXED_RATE | Fixed rate bond without a termAndNoticeId filter or a mix of terms | | EASY_ACCESS | Easy access account regardless of the termAndNoticeId filter | | ISA_1Y | ISA with 1 year term | | ISA_2Y | ISA with 2 year term | | ISA_3Y | ISA with 3 year or more term | | ISA_4Y | ISA with 4 year term | | ISA_5Y | ISA with 5 year or more term | | ISA_NO_NOTICE | ISA with termAndNoticeId of 1

  • INSTANT_OR_NONE |

| ALL_TIERS | Default code for all other cases |

Usage Summary

When presenting results the AI model should always:

  • round down total interest earned
  • restrict the number of results to a maximum of 5 accounts
Parameters (1 required, 2 optional)
Required
payloadobject
Optional
filterCodestring

Tracking filter code for go to site links

Default: ALL_TIERS
settingsobject
Default: {'facets': False}

Search MoneySuperMarket Knowledge Base

search_moneysupermarket_knowledge
Full Description

Use this when the user asks general questions about financial products, personal finance, or money management — including loans, mortgages, credit cards, credit scores, insurance, energy, broadband, banking, savings, and MoneySuperMarket's SuperSaveClub. Returns verified excerpts from MoneySuperMarket's editorial knowledge base with source citations and article links. Do not use when the user wants to compare, search, or purchase a specific financial product — use the relevant comparison tool instead (e.g. get_broadband_deal, get_savings_accounts). Do not use for personalised financial advice. Never fabricate or assume parameter values. If a required parameter is missing, ask the user. If the user provided relevant information earlier in the conversation, confirm those values with the user before proceeding.

Parameters (1 required)
Required
textstring

The user question to search in the knowledge base