UCP status report
grainger.com
grainger.com responded, but its profile did not pass schema validation.
HTTP 200
Release none
Checked 17 Oct, 09:01 UTC
To fix first
Problem
Serve profile as application/json
The profile URL did not return parseable JSON. How to fix →
Also worth fixing
To fix
Publish Organization schema (JSON-LD) on the homepage
No Organization-typed JSON-LD detected on your homepage. How to fix →
To fix
Publish a /llms.txt brand brief
No /llms.txt file detected at the root of your domain. How to fix →
To fix
Publish a sitemap.xml
No sitemap.xml detected at the root of your domain. How to fix →
To fix
Add Open Graph meta tags to the homepage
OG tags missing or incomplete on your homepage. How to fix →
To fix
Add a mobile viewport meta tag
No viewport meta tag detected on your homepage. How to fix →
Passed
4 OK
HTTPS, AI bot access, Public keys published, No validation warnings
Show all 4
- HTTPS: Profile URL uses https://
- AI bot access: robots.txt allows /.well-known/ucp
- Public keys published: Keys published at the top level
- No validation warnings: No outstanding validation issues
Check trace
How grainger.com answered our check
The five ways an agent can reach this store, what each one met, and every request we made.
1 of 5 open
4 requests · 407 ms at the store · public requests only
4 requests · 407 ms at the store · public requests only
-
Finding the profileOpen
-
Acting for the buyerNot offered
-
In the buyer's browserNot offered
-
Calling its servicesNone
-
Sending the buyer to the websiteNot declared
UCP Checkerpublic requests
- 2 requestsFinding the profile/.well-known/ucp · 200
- read from profileActing for the buyernot declared
- read from profileIn the buyer's browsernot declared
- not calledCalling its servicesnone declared
- read from profileSending to the websitenot declared
- 2 requestsOutside UCPhomepage · /llms.txt
Open
01 · Finding the profile2 requests
Served at /.well-known/ucp with 200 OK, 17.8 KB. robots.txt allows /.well-known/ucp.
Not offered
02 · Acting for the buyerread from profile
The profile doesn't declare identity linking, so an agent can't act for a signed-in buyer.
Not offered
03 · In the buyer's browserread from profile
No Embedded service is declared.
None
04 · Calling its servicesnot called
No services are declared.
Not declared
05 · Sending the buyer to the websiteread from profile
No permalink declared. Whether error replies carry a continue_url shows only in an agent run.
- 01 PROFILEGET /.well-known/ucp → 200, 17.8 KB of JSON407 ms
- 01 PROFILEGET /robots.txt → allows /.well-known/ucp–
- 01 PROFILEProfile did not pass schema validation: Response is not a valid JSON objectlocal
- OUTSIDE UCPGET / → 200, no Organization schema found–
- OUTSIDE UCPGET /llms.txt → 200, not found–
UCP profile as served 3.9 KB · 66 lines
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Whoops, we couldn't find that.</title>
<style>
html { background-color: #6B6B6B; color: #474747; text-align: center; font-family: Arial, sans-serif; }
body { background-color: #fafafa; width: 900px; height: 600px; margin: 10% auto; border: 1px solid #000; box-shadow: 3px 3px 40px rgba(0,0,0,0.4); }
.header-text {
margin-top: 140px;
font-size: 24px;
}
.main-text {
font-size: 14px;
margin: 24px 122px 43px 122px;
}
.center-bar {
position: relative;
left: 90px;
width: 724px;
height: 144px;
background-color:#E4E5E6;
*margin-left: -165px;
-moz-border-radius: 2px;
border-radius: 2px;
}
.section-div {
position: relative;
float: left;
width: 240px;
height: 144px;
}
.oops-icon-container {
float: left;
height: 102px;
margin: 42px 14px 52px 16px;
}
.oops-text-container {
float: left;
width: 132px;
margin-top: 42px
}
.oops-text-header {
display: block;
text-align: left;
font-size: 14px;
font-weight: bold;
}
.oops-text-content {
display: block;
text-align: left;
font-size: 14px;
margin-top: 5px;
}
.vertical-line {
background-color: #A7A9AC;
float: left;
margin-top: 12px;
width: 1px;
height: 120px;
}
#previouspage-image, #previouspage-text, #homepage-image, #homepage-text:hover {
cursor: pointer;
}
.telephone-icon {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA7CAMAAAAZzLmCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjYzJhYzczNC0zNTk5LTQzZmMtYmE2Ny01ZWJlYTNiM2E3NmUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RDAxM0Y1OTg0OTBGMTFFNTg1MUFEMzY2QkY5MDVGQTciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RDAxM0Y1OTc0OTBGMTFFNTg1MUFEMzY2QkY5MDVGQTciIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpjYzJhYzczNC0zNTk5LTQzZmMtYmE2Ny01ZWJlYTNiM2E3NmUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Y2MyYWM3MzQtMzU5OS00M2ZjLWJhNjctNWViZWEzYjNhNzZlIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+CZUUCQAAAwBQTFRFrCo2jDhAe3t8Ri4x7e7utyk3ZGRktbW1ejY8yiMyPT09yh8uaSwyUjM2PCstQi0uMTEyGhoaXTU5WTQ4oi45fx4nojI9djpAgjY9UCsuhjY+bSUsuCIvrq6vwCY1iigxYTU5xsbHKioqXjE2paanxh4uw8PDqD1HfTpADAwMgoKCubq6JCQkuyIwdTc9Wi0ydRsluR4rciEqXl9fVykuTjM2LCIjVVVWqKioly02tR8s0CEymjE6SjAzysrKFBMTZTY6VjM3nS85rSIvRTEzpCcy0NDQwR8txMTEZTk9mZqaMSQlVjU5mys1WzI3tSUzZTE2S0tLXTg8zs7O2SEzvyIwijU9bjc8UVFRqyQwcHBxAAAAcjk/aTc8ZyYs1NTVkTE6SjI0sbKyUTU5NzEyri06RkZGeCApWVlZvb6+3+DgNCkq4uLj29zc2trb2NjY1dbW0dLSpys3siw6dXZ2QUJCfRMfi4uLczc8vL29ampqaTY7uiQyIBwdexUhuik3hjM7jDY+wiAvUkFD1tbX09TVlZWWzc7PiB8pljU+sSUytiMwizE5AwMEkTM8YSkudzY8PCUnGBYXmjM+lzI7syAt5OXmTjQ3nDI8TDEzgDg+NicoeRgjzB8vHhgYwcHBgBMfvR4s8PHx4+Tl4eLjvB4sjo+PSjQ24uPkn5+fz8/Qq6ysxMXG3t/gCAcHnJ2ek5SU3N3eqTA8s7S0y8zNo6Ok4OHhW1xcjjM81dXWycrL2tvchYaG3t/fsUBLZmdn2drbbWtrnJydeDA2x8fHlpeY1tfYWT9Cajo/19jYfB0mNzg4OzAxJycnz9DQm5ucm5ydnp+gb29wt7e4t7i5bx4mgDQ8wMDAvx0sky84azE3UTAz4OHiDw4PKB8g0tPUizM8WlNU6uvrZjc7V1dYkTdBHx8flzM9bTU7U1RUV1NUvR0r2dnayMjJsSg0c3NzQygrTDM1fS82zMzMWENFWkxO3d7fwMHCkJGRy8vLv7/Aa2xsb29vSyot3N3ddR0nQstHqgAABllJREFUeNqMlwtcU1UcxydDHI9twHgJmgMbOhAFdCiwBUOwEAVcF5EOGEjhoyxFRVRQxHyUThEVBTzswkARERVFUTR7kJVkL8sywx6YRhpqb+1h55x773bHQ/h9Pmzj3PPd/r///55z/ldQ0k0nmmx89GDMuWMlj5bA8t96mwjAymd5y0BB40fLMFExrcxDV4E+KG1ODwisa0OTG8ShlU...
Is grainger.com your store?
Claim it with one DNS record.
Why is grainger.com's profile invalid?
We found a UCP profile, but it failed schema validation against the official spec. The findings on this page list what failed — usually missing required fields, wrong data types, or version mismatches. Agents reject profiles that don't validate, so this needs fixing before grainger.com is agent-ready.
How can grainger.com fix this?
Run the profile through our UCP Validator — it shows line-by-line schema deviations and how to fix each one. Most invalid profiles are quick fixes: a missing field, a typo, or an outdated spec version.
Does this mean grainger.com is broken for shoppers?
No — the regular website still works fine for human customers. Only AI agents that strictly validate the profile will refuse to use the UCP integration. The store just isn't agent-ready until the validation issues are resolved.
How was this UCP report for grainger.com generated?
Our crawler fetches
grainger.com/.well-known/ucp directly, parses the profile against the official UCP JSON schema, checks robots.txt for its rules for AI crawlers, and runs payment-handler validation. No manual review, no opinions — just what the profile actually says. The check ran 2 days ago.How do I get a newer result for grainger.com?
This page shows the stored result of our last check and when it was observed. To run a new check, use Check again on this page.
Why does this status matter?
Universal Commerce Protocol is an open standard that lets a UCP agent find out what a store sells, build a cart and check out through a published contract instead of reading web pages. A valid UCP profile is how a store declares that support.
