UPS: 37 of 100 on Ora's agent-readiness scan

In short

UPS scores 37 of 100 on Ora's agent-readiness scan, grade D, read on 9 November 2026. 25 percent of the 132,085 domains Ora ranks score under 30, and the average score is 44. A robots.txt, an llms.txt and an MCP manifest, each answering in the wrong format.

The score

UPS is a parcel delivery and logistics company based in Atlanta.

  • 37of 100, grade D
    Ora's agent-readiness scan of ups.com, read 9 November 2026.
  • 11Discovery, of 13
    Whether assistants find the company: search presence, Wikipedia and Wikidata, catalogues.
  • 12Access, of 52
    Whether they can read it: the door, text without JavaScript, llms.txt, structured data.
  • 11Usability, of 48
    Whether they can act through it: an MCP server, an API with a specification, sign-in for agents.
  • 0Payments, of 0
    No check in this layer applied to the site.

25 percent of the 132,085 domains Ora ranks score under 30, and the average score is 44.

Ora's one-line summary: UPS offers OAuth 2.0 support, but lacks published OpenAPI specification.

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.

The door at ups.com
CheckResultWhat Ora saw
Not blocked by bot detectionPass, 2 of 2Site accessible to 4 agent user-agents (ChatGPT-User, OAI-SearchBot, Claude-User, PerplexityBot).
Agent crawler reachabilityPass, 2 of 2Reachable to every agent we tested - ChatGPT-User: reachable, OAI-SearchBot: reachable, Claude-User: reachable, PerplexityBot: reachable
robots.txt AI crawler policyDid not apply, 0 of 2Cannot verify robots.txt permission for search crawlers: HTML returned instead of robots.txt
robots.txt agent-user policyDid not apply, 0 of 2Cannot verify robots.txt permission for user-triggered agents: HTML returned instead of robots.txt
Content without JavaScripterror, 0 of 3Could not fetch homepage
Homepage not hidden from searchPass, 1 of 1No 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.

Reading ups.com
CheckResultWhat Ora saw
llms.txt existsPartial, 0 of 1A file is present at https://ups.com/.well-known/llms.txt, but it returns an HTML page rather than a plain-text llms.txt.
llms.txt formattingFail, 0 of 2No llms.txt found to evaluate quality
Markdown agent docsFail, 0 of 1Missing markdown content negotiation. Homepage returned application/blank when probed with Accept: text/markdown (expected text/markdown), and none of the well-known root paths (/llms.md, /auth.md, /agents.md).
Bot-UA markdown servingFail, 0 of 1No 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 dataerror, 0 of 4Could not fetch homepage
Organization schema completenesserror, 0 of 2Could not fetch homepage
Sitemap existsFail, 0 of 2No sitemap found
Metadata completenesserror, 0 of 2Could not fetch homepage
Page token budgetDid not apply, 0 of 1Nothing sampled to measure
Acting through ups.com
CheckResultWhat Ora saw
MCP server / manifestPartial, 2 of 6MCP endpoint found at /.well-known/mcp/manifest.json but response is not valid JSON
MCP well-known discoveryFail, 0 of 2No MCP server URL discovered
Public API with reachable endpointsFail, 0 of 7No publicly reachable API surface detected (REST and GraphQL both absent or auth-gated)
Public API/docs linked from homepageFail, 0 of 3No public API or documentation page linked from homepage
OpenAPI spec publishedFail, 0 of 7No OpenAPI/Swagger specification found
Developer portalFail, 0 of 6No developer portal found
OAuth 2.0 supportPass, 5 of 5OAuth endpoint found at https://ups.com/oauth/authorize
Scoped permissionsFail, 0 of 5No declared OAuth scopes, security schemes, or scoped-permission documentation found
Multi-language SDK packagesFail, 0 of 3No SDK packages found across language ecosystems
CLI tool availableFail, 0 of 3No CLI tool found
WebMCP supportFail, 0 of 5No WebMCP support detected - no document.modelContext / navigator.modelContext usage found
Finding UPS
CheckResultWhat Ora saw
Wikipedia / Wikidata entity presencePass, 4 of 4Wikipedia "UPS Airlines" and Wikidata Q155026 both verified - domain confirmed on both sources
Brand name discoverabilityPass, 3 of 3ups.com ranks #3 for "ups" (searched your brand name alone: we could not read a product term from your site)
Category share of voiceDid not apply, 0 of 6Category share of voice is in beta. It measures whether agents surface you for capability and use-case searches (not just your name).
Developer resource discoverabilityPass, 3 of 3Agent discovered 1 developer-resource type by name (developer portal) across 3 pages

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.

  1. Public API with reachable endpoints, worth about 6.5 points by Ora's estimate: No publicly reachable API surface detected (REST and GraphQL both absent or auth-gated).
  2. Scoped permissions, worth about 4.6 points by Ora's estimate: No declared OAuth scopes, security schemes, or scoped-permission documentation found.
  3. WebMCP support, worth about 4.6 points by Ora's estimate: No WebMCP support detected - no document.modelContext / navigator.modelContext usage found.

Our read

UPS opens the door to every agent and then hands it the wrong kind of file at every turn. All four agent user agents reach ups.com, but robots.txt returns HTML instead of rules, the home page could not be fetched, the llms.txt at /.well-known/llms.txt returns an HTML page and there is no sitemap, so the content, policy and structured-data rows are unverified or empty and the Access layer reads 12 of 52. The act layer has one working surface, an OAuth endpoint at ups.com/oauth/authorize, and one broken one, an MCP manifest at /.well-known/mcp/manifest.json that is not valid JSON; there is no reachable public API, no developer portal and no OpenAPI specification, so the Usability layer reads 11 of 48. The Discovery layer is 11 of 13, with Wikipedia matching UPS Airlines rather than the parcel company. A carrier whose tracking numbers are what people most often hand an assistant answers with HTML where text was asked for; three files served as what they claim to be would move this D.

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 ups.com; a scan of a public site takes a few minutes and needs no account.

Sources

  1. Ora report for ups.com (ora.ai/score/ups.com), read 9 Nov 2026. Vendor claim.

Last reviewed