Eric Javits API, MCP and Agent Documentation
Eric Javits provides public product data and agent discovery through its Shopify storefront. The read-only catalog endpoints below need no API key or sign-up. UCP and MCP integrations have their own agent-profile requirements, and commerce actions require buyer authorization.
Eric Javits MCP, UCP and agent discovery
- /agents.md: the canonical agent instructions (when to use this store, endpoints, content rules).
- /llms.txt: a short llms.txt index for language models; /llms-full.txt mirrors agents.md.
- /.well-known/ucp: the Universal Commerce Protocol (UCP) discovery profile with capabilities, service endpoints and payment handlers.
-
POST /api/ucp/mcp: the MCP endpoint for UCP shopping tools (search_catalog,lookup_catalog,get_product, carts, checkouts,get_order). Requests need a UCP agent profile; see Shopify's agent documentation. - /sitemap.xml and /robots.txt.
Eric Javits Public Catalog API
Download the OpenAPI 3.1 specification for three existing Shopify storefront endpoints, all used without an API key or sign-up: two Online Store Ajax endpoints and Shopify's Storefront GraphQL API. The documented requests only read public product data. They do not place orders, change carts, reserve inventory, or grant access to customers, payments or administrative data. No OAuth scopes apply to these anonymous reads.
-
GET /products/{handle}.js: product details, variants, availability and current prices. -
GET /search/suggest.json?q=hat&resources[type]=product&resources[limit]=2: product suggestions. Supplyresources[type]=productfor the response described by the specification. -
POST /api/2026-10/graphql.json: Shopify's Storefront GraphQL API without an access token, for products, collections and search. A query may cost up to 1,000; the response reports the cost.
curl -sS -i 'https://ericjavits.com/products/squishee-bucket-hat.js'
curl -sS -i 'https://ericjavits.com/search/suggest.json?q=hat&resources%5Btype%5D=product&resources%5Blimit%5D=2'
curl -sS -i 'https://ericjavits.com/api/2026-10/graphql.json' -H 'Content-Type: application/json' -d '{"query":"{ products(first: 2) { nodes { handle title } } }"}'
Prices, locales and availability
Product .js prices are Shopify Ajax integer money values: in a USD context, 31500 means $315.00. Predictive search prices are decimal strings such as "315.00". Responses do not include a currency code; retain the buyer's existing storefront currency context, and do not assume USD. In a Shopify theme, build locale-aware URLs from window.Shopify.routes.root. Storefront GraphQL prices are MoneyV2 objects: a decimal amount string such as "332.5" and a currencyCode; use @inContext(country: CA) in the query for another market's prices. Prices and availability may change before checkout; no stock is reserved by a read request.
Versions and deprecation
The GraphQL path names the Storefront API version (2026-10). Shopify releases a new version every quarter and supports each for at least 12 months. Every GraphQL response carries X-Shopify-API-Version, the version that answered; a retired version falls forward to the oldest supported one. Deprecations are announced in Shopify's developer changelog. The two Ajax endpoints are unversioned. The specification's own version changes whenever an operation is added, changed or removed (now 1.1.0).
Errors and retrying
Check the HTTP status, content type and body before parsing. Successful product responses contain JSON but may use Content-Type: text/javascript. An unknown product currently returns HTTP 404 with an empty body. Invalid predictive-search parameters return HTTP 422 with status, message and description; the description explains which parameter needs attention. Unsupported buyer locales can return 417. For GraphQL, faults in the query (syntax, unknown fields, a missing query) return HTTP 200 with an errors array, and a body that is not JSON returns 415. On 429, respect Retry-After when present and retry with backoff. Platform and edge failures may return HTML or an empty body.
curl -sS -i 'https://ericjavits.com/search/suggest.json?resources%5Btype%5D=product'
# Expected: HTTP 422; JSON explains that q is missing.
Access and testing
These are Shopify-hosted Online Store Ajax endpoints, intended for same-origin theme use. Browser cross-origin access is not promised. The examples above read live public data without modifying commerce state; there is no separate Eric Javits API sandbox. Respect Shopify access controls and request throttling. For Shopify protocol and commerce capabilities, consult the store's UCP discovery profile and Shopify's agent documentation.
Endpoint references: Shopify Product API and Shopify Predictive Search API and Shopify Storefront API.
Structured data
Product pages carry Product and Offer JSON-LD with price, currency and availability.
Rules for agents
- Identify requests as agent-initiated (Web Bot Auth for server-to-server traffic), back off on
429and respectRetry-After. - Quote product facts only from the product page or the product JSON; do not infer materials, fit or sun-protection ratings.
- Orders and payments need the buyer's authorization. Returns go through the returns portal linked from the shipping page.