Bank of America: 48 of 100 on Ora's agent-readiness scan
In short
Bank of America scores 48 of 100 on Ora's agent-readiness scan, grade C, read on 9 November 2026. 43 percent of the 132,085 domains Ora ranks score under 40, and the average score is 44. A readable bank whose developer portal keeps a bot shield between itself and the agents.
The score
Bank of America is a bank based in Charlotte, North Carolina.
- 48of 100, grade COra's agent-readiness scan of bankofamerica.com, read 9 November 2026.
- 11Discovery, of 15Whether assistants find the company: search presence, Wikipedia and Wikidata, catalogues.
- 28Access, of 54Whether they can read it: the door, text without JavaScript, llms.txt, structured data.
- 20Usability, of 62Whether they can act through it: an MCP server, an API with a specification, sign-in for agents.
- 0Payments, of 0No check in this layer applied to the site.
43 percent of the 132,085 domains Ora ranks score under 40, and the average score is 44.
Ora's one-line summary: Bank of America offers strong developer resource discoverability, but lacks an OpenAPI specification for standardized agent integration.
What an assistant meets at the door
Before an assistant can read, compare or buy, it has to get in. These rows are the door: whether the bot shield lets the main agents through, what robots.txt tells the search, training and user-triggered agents, and whether the home page has text without running JavaScript.
| Check | Result | What Ora saw |
|---|---|---|
| Not blocked by bot detection | Pass, 2 of 2 | Site accessible to 4 agent user-agents (ChatGPT-User, OAI-SearchBot, Claude-User, PerplexityBot). |
| Agent crawler reachability | Pass, 2 of 2 | Reachable to every agent we tested - ChatGPT-User: reachable, OAI-SearchBot: reachable, Claude-User: reachable, PerplexityBot: reachable |
| robots.txt AI crawler policy | Pass, 2 of 2 | AI search crawlers: allowed in 3 of 3 checks (3 crawlers on 1 page). AI training crawlers: allowed in 2 of 2 checks (2 crawlers on 1 page), not scored. |
| robots.txt agent-user policy | Pass, 2 of 2 | No applicable crawl or usage restriction found for 3 user-triggered agents (chatgpt-user, claude-user, perplexity-user) on 1 public page: https://bankofamerica.com/. Declared policy only; |
| Content without JavaScript | Partial, 2 of 3 | 3768 chars with H1, but first content heading is H4, not H1; 1.4% content ratio is below the 5% target |
| Homepage not hidden from search | Pass, 1 of 1 | No noindex on the homepage: no robots, googlebot or bingbot meta tag and no X-Robots-Tag header hides it from search. |
What it can read, and what it can do
The reading layer is what an assistant takes away from the pages: a text file written for it, markdown on request, structured data about the company, a sitemap. The act layer is whether it can do anything through a published interface rather than by clicking through the site.
| Check | Result | What Ora saw |
|---|---|---|
| llms.txt exists | Partial, 0 of 1 | A file is present at https://developer.bankofamerica.com/.well-known/llms.txt, but it returns an HTML page rather than a plain-text llms.txt. |
| llms.txt formatting | Fail, 0 of 2 | No llms.txt found to evaluate quality |
| Markdown agent docs | Fail, 0 of 1 | Missing markdown content negotiation. Homepage returned text/html when probed with Accept: text/markdown (expected text/markdown), and none of the well-known root paths (/llms.md, /auth.md, /agents.md, /developers.md). |
| Bot-UA markdown serving | Fail, 0 of 1 | No probed bot User-Agent (ChatGPT-User, Claude-User, Perplexity-User) receives markdown when requesting HTML. Optional: detect AI-bot UAs server-side and serve them a markdown representation directly. |
| JSON-LD structured data | Partial, 2 of 4 | JSON-LD Organization found - missing description on this entity |
| Organization schema completeness | Partial, 1 of 2 | Organization schema found but missing: contactPoint, address |
| Sitemap exists | Pass, 2 of 2 | Valid sitemap found at https://www.bankofamerica.com/content/sitemap_index.xml with 27 entries |
| Metadata completeness | Pass, 2 of 2 | All metadata signals present: canonical URL, lang="en-US", og:image, og:type |
| Page token budget | Pass, 1 of 1 | All 1 measured page fit an agent context budget (largest ~1K tokens) |
| Check | Result | What Ora saw |
|---|---|---|
| MCP server / manifest | Did not apply, 0 of 6 | Can't verify: a bot shield answered our request to bankofamerica.com/mcp.json (HTTP 403); bankofamerica.com/.well-known/mcp (HTTP 403); |
| MCP well-known discovery | Fail, 0 of 2 | No MCP server URL discovered |
| Public API with reachable endpoints | Pass, 7 of 7 | API described in documentation at https://developer.bankofamerica.com but no machine-verifiable API surface confirmed. GraphQL endpoint at https://api.bankofamerica.com/graphql is reachable; |
| Public API/docs linked from homepage | Pass, 3 of 3 | Documentation site found at https://developer.bankofamerica.com |
| OpenAPI spec published | Fail, 0 of 7 | No OpenAPI/Swagger specification found |
| Developer portal | Pass, 6 of 6 | Developer documentation portal found at https://developer.bankofamerica.com |
| OAuth 2.0 support | Partial, 2 of 5 | OAuth mentioned on homepage but no standard endpoints found |
| Scoped permissions | Fail, 0 of 5 | No declared OAuth scopes, security schemes, or scoped-permission documentation found |
| Multi-language SDK packages | Fail, 0 of 3 | No SDK packages found across language ecosystems |
| CLI tool available | Fail, 0 of 3 | No CLI tool found |
| WebMCP support | Did not apply, 0 of 5 | Can't verify: a bot shield answered our request to bankofamerica.com/developers (HTTP 403); bankofamerica.com/api-reference (HTTP 403) instead of the site. That is not counted against the site. |
| Check | Result | What Ora saw |
|---|---|---|
| Wikipedia / Wikidata entity presence | Pass, 4 of 4 | Wikipedia "Bank of America" and Wikidata Q487907 both verified - domain confirmed on both sources |
| Brand name discoverability | Pass, 3 of 3 | bankofamerica.com ranks #1 for "Bank of America investment banking" |
| Category share of voice | Did not apply, 0 of 6 | Category share of voice is in beta. It measures whether agents surface you for capability and use-case searches (not just your name). |
| Developer resource discoverability | Partial, 1 of 3 | Name search surfaced no pages on bankofamerica.com, although developer resources exist on the site (developer portal) - weak search indexing or transient search noise |
The six payment checks did not apply on this read: Ora did not read the site as a shop.
Three fixes to hand to the web team
Ora estimates how many points each open check would return. These are the largest on this read, in Ora's words where it gave them, so a leader can hand the list over without translating it.
- OpenAPI spec published, worth about 4.3 points by Ora's estimate: No OpenAPI/Swagger specification found.
- Scoped permissions, worth about 3.6 points by Ora's estimate: No declared OAuth scopes, security schemes, or scoped-permission documentation found.
- Developer resource discoverability, worth about 3 points by Ora's estimate: Name search surfaced no pages on bankofamerica.com, although developer resources exist on the site (developer portal) - weak search indexing or transient search noise.
Our read
Bank of America lets the agents in and reads well. All four agent user agents reach the home page, robots.txt allows the search and training crawlers, the sitemap lists 27 entries, the Organization block lacks only its description, and the home page gives 3,768 characters with an H1, though its first content heading is an H4 and the text ratio is 1.4 percent against the 5 percent target. There is no llms.txt on the main domain; the one at developer.bankofamerica.com returns an HTML page. The act layer is a portal with a shield in front of it: developer.bankofamerica.com is real, but the API has no machine-verifiable surface, OAuth is mentioned without standard endpoints, and Ora's requests for an MCP manifest were answered with a 403 by the bot shield, so that row is unverified. The domain ranks first for its investment banking term. An OpenAPI specification is the fix with the most points, about 4.3: the portal is built and not yet described to a machine.
Test your own site
Run the same scan on your own domain at ora.ai. The score, the layers and the fixes on this page come from its public result for bankofamerica.com; a scan of a public site takes a few minutes and needs no account.
- Scan your domain on OraThe same checks, the same scoring, on your own site.
- The self-check, 18 questionsWhat to ask for, in business terms, before the scan.
- All the 360 checksThe other companies in this series, newest first.
Sources
- Ora report for bankofamerica.com (ora.ai/score/bankofamerica.com), read 9 Nov 2026. Vendor claim.
Last reviewed