BMO Financial Group website screenshot

BMO Financial Group

BMO Financial Group (Bank of Montreal) is one of Canada's Big Six banks and a Schedule I domestic chartered bank, founded in Montreal in 1817 as Canada's oldest bank. It is a diversified North American financial-services provider serving personal, commercial, wealth, and capital-markets clients across Canada and the United States (where it operates as the separately chartered BMO Bank N.A.). BMO runs a first-party, bilingual (EN/FR) commercial developer portal at developer.bmo.com for Online Banking for Business customers, publishing OAuth 2.0-secured Account Information, Account Validation, Image Retrieval, Payment (domestic and international / embedded finance), Authorize, and Encryption APIs on an IBM API Connect platform with a free sandbox and pre-production environment. Documentation and OpenAPI/API Explorer specs sit behind an approved organization account, so the surface is partner-gated rather than openly downloadable. Canada has no operational open-banking mandate yet — the federal Consumer-Driven Banking framework (Budget 2024 / Fall Economic Statement 2024, overseen by the FCAC) is legislated but not live — so consumer data access today remains voluntary and largely aggregator-based (Flinks, Plaid), while BMO's own public program is a commercial treasury/ payments API offering.

BMO Financial Group is listed with 6 APIs on the APIs.io network. Tagged areas include Financial Services, Banking, Canada, Big Six, and Commercial Banking.

BMO Financial Group’s developer surface includes authentication, sandbox, API reference, getting-started guide, documentation, signup flow, support, and 12 more developer resources.

30.1/100 thin ▬ flat Agent 11/100 agent aware saas Full breakdown ↓
scored 2026-11-06 · rubric v0.27.0 · Show this score on your site →
6 APIs
Financial ServicesBankingCanadaBig SixCommercial BankingPaymentsTreasuryOpen BankingConsumer-Driven Banking

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-11-06 · rubric v0.27.0
Regulatory Posture applies to this provider. Its tags matched the Banking & Open Finance regime, so Regulatory Posture carries 15 points of the composite. If this regime is wrong for your business, say so on your provider repo — the applicability map is public and we will correct it.
Create-or-Update Ergonomics could not be measured. We hold no machine-readable contract for this provider to read, so there is nothing to measure a write surface against. Excluded rather than scored zero: never-measured and measured-empty are different facts. Publishing an OpenAPI is what makes this facet — and several others — scorable at all.
The six quality facets above are damped to 85 points between them, because the conditional facet above carries the other 15. That is why each facet's contribution is shown against a damped maximum: raising a quality facet moves the composite by 85% of its nominal weight, not 100%. The full arithmetic is at apis.io/rating/.
Show this score on your site. Kin Score badge preview for BMO Financial Group It updates itself when the score changes. Paste this where you link to your API docs:
<a href="https://apis.io/providers/bank-of-montreal/"><img src="https://apis.io/badge/bank-of-montreal/card.svg" alt="BMO Financial Group on APIs.io — Kin Score by API Evangelist"></a>
Other styles, a README pill and a shields.io endpoint are on the badge page.
Raise your score.
Agent readiness — checks not met, largest first (exact, from this profile):
  • Machine-Readable Contract +18 pts — api_specs includes an OpenAPI document
  • MCP Server +12 pts — deployment.mode + probe verdict on the mcp/ manifest, not the pointer; an unprobed slug falls back to authorship
  • Agentic Access Contract +10 pts — agentic_access artifact present (x-agentic-access), graded by author
  • Idempotency +9 pts — OpenAPI mutating operations declare an idempotency key — a header, a request-body property, or a named de-duplication token whose own description says so (verified); else common[].type matches /idempoten/i (documented)
  • Stable Error Semantics +8 pts — OpenAPI $refs a shared error schema across 4xx/5xx responses (verified), else common[].type includes ErrorCatalog / ErrorCodes / DeclineCodes
  • A2A Agent Card +8 pts — a2a/-a2a.yml manifest, graded on conformance.grade against A2A 1.0.0
11 more unmet checks in the Agent Readiness table above.
Kin Score — facets with the most composite points still available (weight × headroom):
Each check links to what satisfies it. Publish the artifact, or tell us where it already lives, and the score moves on the next scoring run.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from the provider profile at artifacts.apis.io/bank-of-montreal/apis.yml: open an issue on github.com/api-evangelist/bank-of-montreal to ask a question or point us at an artifact you publish. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

Markets this provider is in provisional

The Kin Score Market layer reads a provider inside its market: its position, and how deep its integrations go. Depth is only comparable within a position. Provisional and unweighted: not part of the Kin Score or agent readiness.

MarketPositionDepthRegistered MCP serverDeclares compatibility
Consumer Lending Licensing (UK, US, Canada credit licence registers) regulated 56.4 - -
Hong Kong SFC and HKMA Licensed Firms regulated 56.4 - -
Canada RPAA Payment Service Providers (Bank of Canada registry + Payments Canada) regulated 56.4 - -

Registered MCP server and declares compatibility are report only — not weighted. Undeclared means we found nothing we can read, so there is no number: we never infer integrations.

APIs 6

Individual APIs this provider publishes, each with its own machine-readable definition.

BMO Account Information API

Real-time access to BMO Online Banking for Business account data — current balances; day-end, month-end and year-end balances; and transaction histories that can replace BAI fil...

BMO Account Validation API

Validates third-party accounts before a transaction is created, reducing failed or misdirected payments. Selected fields shared via the Account Validation API must be protected ...

BMO Image Retrieval API

Retrieves images of deposited cheques and other items associated with BMO Online Banking for Business accounts, so clients can pull supporting item images without signing in to ...

BMO Payment API

Sends and collects domestic and international payments directly from a client's application, with account validation before payment creation and real-time payment-status updates...

BMO Authorize API

Authenticates and authorizes applications to access BMO APIs using the industry-standard OAuth 2.0 framework, issuing the access tokens required to call the Account Information,...

BMO Encryption API

Protects data by encrypting all requests to and responses from BMO APIs. Encryption is required for all Payment APIs as well as for fields shared via the Account Validation API.

Security Posture 3

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Bank Of Montreal Authentication

oauth2/openIdConnect · 3 schemes

SECURITY

Bank Of Montreal Domain Security

TLSv1.3 · DMARC

SECURITY

Bank Of Montreal Vulnerability Disclosure

Hackerone · contact published

SECURITY

Resources

Get Started 4

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 2

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 1

Pagination, idempotency, versioning, errors, and events

Access & Security 4

Authentication, authorization, and security posture

Operate 1

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 3

The organization behind the API

Source (apis.yml)

apis.yml Raw ↑
aid: bank-of-montreal
url: https://raw.githubusercontent.com/api-evangelist/bank-of-montreal/refs/heads/main/apis.yml
name: BMO Financial Group
kind: company
description: BMO Financial Group (Bank of Montreal) is one of Canada's Big Six banks and a Schedule I domestic chartered bank,
  founded in Montreal in 1817 as Canada's oldest bank. It is a diversified North American financial-services provider serving
  personal, commercial, wealth, and capital-markets clients across Canada and the United States (where it operates as the
  separately chartered BMO Bank N.A.). BMO runs a first-party, bilingual (EN/FR) commercial developer portal at developer.bmo.com
  for Online Banking for Business customers, publishing OAuth 2.0-secured Account Information, Account Validation, Image Retrieval,
  Payment (domestic and international / embedded finance), Authorize, and Encryption APIs on an IBM API Connect platform with
  a free sandbox and pre-production environment. Documentation and OpenAPI/API Explorer specs sit behind an approved organization
  account, so the surface is partner-gated rather than openly downloadable. Canada has no operational open-banking mandate
  yet — the federal Consumer-Driven Banking framework (Budget 2024 / Fall Economic Statement 2024, overseen by the FCAC) is
  legislated but not live — so consumer data access today remains voluntary and largely aggregator-based (Flinks, Plaid),
  while BMO's own public program is a commercial treasury/ payments API offering.
deliveryModel:
  model: saas
  open_source: false
  commercial: true
  callable_host: false
  label: Hosted service · you call their endpoint
  confidence: medium
  source:
  - pricing
  generated: '2026-08-28'
  method: derived
accessModel:
  pricing: unknown
  onboarding: unknown
  trial: false
  try_now: false
  public: false
  label: Unknown
  confidence: low
  source:
  - authentication
  - security
  - sandbox
  generated: '2026-11-06'
  method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
tags:
- Financial Services
- Banking
- Canada
- Big Six
- Commercial Banking
- Payments
- Treasury
- Open Banking
- Consumer-Driven Banking
tags_raw:
- Financial Services
- Banking
- Canada
- Big Six
- Commercial Banking
- Payments
- Treasury
- Open Banking
- Consumer-Driven Banking
- Financial-Services
created: '2026-07-23'
modified: '2026-07-23'
specificationVersion: '0.23'
apis:
- aid: bank-of-montreal:bmo-account-information-api
  name: BMO Account Information API
  description: Real-time access to BMO Online Banking for Business account data — current balances; day-end, month-end and
    year-end balances; and transaction histories that can replace BAI files and other settlement reports — surfaced directly
    inside accounting and treasury-management systems.
  humanURL: https://developer.bmo.com/api/commercial/product
  baseURL: https://api.bmo.com
  tags:
  - Account Information
  - Balances
  - Transaction
  tags_raw:
  - Account Information
  - Balances
  - Transactions
  properties:
  - type: Documentation
    url: https://developer.bmo.com/api/commercial/faq
  - type: APIReference
    url: https://developer.bmo.com/api/commercial/product
- aid: bank-of-montreal:bmo-account-validation-api
  name: BMO Account Validation API
  description: Validates third-party accounts before a transaction is created, reducing failed or misdirected payments. Selected
    fields shared via the Account Validation API must be protected using the Encryption API.
  humanURL: https://developer.bmo.com/api/commercial/product
  baseURL: https://api.bmo.com
  tags:
  - Account Validation
  - Payments
  - Verification
  properties:
  - type: Documentation
    url: https://developer.bmo.com/api/commercial/faq
  - type: APIReference
    url: https://developer.bmo.com/api/commercial/product
- aid: bank-of-montreal:bmo-image-retrieval-api
  name: BMO Image Retrieval API
  description: Retrieves images of deposited cheques and other items associated with BMO Online Banking for Business accounts,
    so clients can pull supporting item images without signing in to online banking.
  humanURL: https://developer.bmo.com/api/commercial/product
  baseURL: https://api.bmo.com
  tags:
  - Image Retrieval
  - Cheque Images
  - Reporting
  properties:
  - type: Documentation
    url: https://developer.bmo.com/api/commercial/faq
  - type: APIReference
    url: https://developer.bmo.com/api/commercial/product
- aid: bank-of-montreal:bmo-payment-api
  name: BMO Payment API
  description: Sends and collects domestic and international payments directly from a client's application, with account validation
    before payment creation and real-time payment-status updates delivered by API, email, or text. Launched as part of BMO's
    North American embedded-finance payments program (Dec 2025) for ERP, treasury, and customer-facing platforms.
  humanURL: https://developer.bmo.com/api/commercial/product
  baseURL: https://api.bmo.com
  tags:
  - Payments
  - Domestic Payments
  - International Payments
  - Embedded Finance
  properties:
  - type: Documentation
    url: https://developer.bmo.com/api/commercial/faq
  - type: APIReference
    url: https://developer.bmo.com/api/commercial/product
- aid: bank-of-montreal:bmo-authorize-api
  name: BMO Authorize API
  description: Authenticates and authorizes applications to access BMO APIs using the industry-standard OAuth 2.0 framework,
    issuing the access tokens required to call the Account Information, Account Validation, Image Retrieval, and Payment APIs
    across sandbox, pre-production, and production environments.
  humanURL: https://developer.bmo.com/api/commercial/product
  baseURL: https://api.bmo.com
  tags:
  - Authentication
  - OAuth
  - Authorization
  tags_raw:
  - Authentication
  - OAuth 2.0
  - Authorization
  properties:
  - type: Documentation
    url: https://developer.bmo.com/api/commercial/faq
  - type: APIReference
    url: https://developer.bmo.com/api/commercial/product
- aid: bank-of-montreal:bmo-encryption-api
  name: BMO Encryption API
  description: Protects data by encrypting all requests to and responses from BMO APIs. Encryption is required for all Payment
    APIs as well as for fields shared via the Account Validation API.
  humanURL: https://developer.bmo.com/api/commercial/product
  baseURL: https://api.bmo.com
  tags:
  - Encryption
  - Security
  - Payments
  properties:
  - type: Documentation
    url: https://developer.bmo.com/api/commercial/faq
  - type: APIReference
    url: https://developer.bmo.com/api/commercial/product
common:
- type: DomainSecurity
  url: security/bank-of-montreal-domain-security.yml
- type: WellKnown
  url: well-known/bank-of-montreal-well-known.yml
- type: Authentication
  url: authentication/bank-of-montreal-authentication.yml
- type: Conformance
  url: conformance/bank-of-montreal-conformance.yml
- type: VulnerabilityDisclosure
  url: security/bank-of-montreal-vulnerability-disclosure.yml
- type: Security
  url: https://hackerone.com/bmo
- type: Sandbox
  url: sandbox/bank-of-montreal-sandbox.yml
- type: LLMsTxt
  url: llms/bank-of-montreal-llms.txt
- type: APIReference
  url: https://developer.bmo.com/api/commercial/catalogue
- type: GettingStarted
  url: https://developer.bmo.com/api/commercial/getting-started
- type: Website
  url: https://www.bmo.com/
- type: DeveloperPortal
  url: https://developer.bmo.com/api/commercial/
- type: Documentation
  url: https://developer.bmo.com/api/commercial/getting-started
- type: SignUp
  url: https://developer.bmo.com/api/commercial/contact-us
- type: Support
  url: https://developer.bmo.com/api/commercial/help
- type: TermsOfService
  url: https://developer.bmo.com/api/commercial/terms-of-use
- type: PrivacyPolicy
  url: https://developer.bmo.com/api/commercial/privacy
- type: Blog
  url: https://newsroom.bmo.com/
- type: LinkedIn
  url: https://www.linkedin.com/company/bmo/
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com

BMO Financial Group API — frequently asked questions

Does BMO Financial Group have an API?

Yes. APIs.io lists 6 APIs from BMO Financial Group, including BMO Account Information API, BMO Account Validation API and BMO Image Retrieval API, and 3 more.

How do I authenticate with the BMO Financial Group API?

BMO Financial Group documents its authentication (oauth2/openIdConnect · 3 schemes). The details are profiled on APIs.io as Bank Of Montreal Authentication.

Is the BMO Financial Group API ready for AI agents?

BMO Financial Group has a Kin Score of 30.1 out of 100 (thin) and an Agent Readiness score of 10.8 (agent-aware), scored by API Evangelist on 2026-11-06.

Work with this as data

Every provider here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • 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.
All 92 tools →

Call it yourself

curl for this page
This provider
curl "https://apis.io/api/v1/providers/bank-of-montreal"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/bank-of-montreal/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/bank-of-montreal/evidence"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

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.