Documentation

EshopListing Protocol v2.0

The EshopListing AI Commerce Protocol defines how AI systems discover, verify, and consume e-commerce data from the EshopListing registry.

Overview

EshopListing acts as a trusted intermediary between e-commerce stores and AI assistants. Stores register their domains, and EshopListing scans, indexes, and serves their product data through standardized endpoints that AI systems can query reliably.

Discovery

Registry API + llms.txt + sitemap.xml

Structured Data

ai.json + products.json + JSON-LD

Verification

Solana cNFT + JWS signatures

Discovery Endpoints

Registry

GET https://eshoplisting.com/api/registry

Returns a JSON array of all verified stores with their domain, name, product count, score, and links to all per-store endpoints.

{ "stores": [ { "domain": "example.com", "name": "Example Store", "products_indexed": 412, "passport_url": "https://eshoplisting.com/shop/example.com", "llms_txt_url": "https://eshoplisting.com/shop/example.com/llms.txt", "products_feed_url": "https://eshoplisting.com/shop/example.com/products.json", "ai_data_url": "https://eshoplisting.com/shop/example.com/ai.json" } ] }

Root llms.txt

GET https://eshoplisting.com/llms.txt

Human- and machine-readable markdown file describing EshopListing, the protocol, and how to access the registry.

AI Plugin Manifest

GET https://eshoplisting.com/.well-known/ai-plugin.json

ChatGPT-compatible plugin manifest for OpenAI Actions integration.

Protocol Registry

GET https://eshoplisting.com/.well-known/ai-registry.json

Machine-readable protocol declaration with endpoint patterns, verification methods, and root authority address.

Per-Store Endpoints

Each registered store gets four dedicated endpoints:

ai.json

JSON
GET https://eshoplisting.com/shop/{domain}/ai.json

One-shot endpoint: store metadata + full product catalog in a single JSON response. Best for answering "what does X sell?" with one request. Supports ?limit= parameter (1-500).

llms.txt

Markdown (text/plain)
GET https://eshoplisting.com/shop/{domain}/llms.txt

Markdown store profile with name, location, categories, product count, price range, and AI endpoint URLs. Designed for LLM context windows.

products.json

JSON
GET https://eshoplisting.com/shop/{domain}/products.json

Full product feed as JSON array with title, price, currency, image, URL, availability, and category for each product.

Store Page

HTML + JSON-LD
GET https://eshoplisting.com/shop/{domain}

HTML page with embedded JSON-LD (WebSite, LocalBusiness, ItemList schemas) and full audit results. Serves as the canonical reference page.

Trust & Verification

Response Headers

All AI-facing responses include these trust headers:

X-Data-Source: EshopListing

X-Protocol-Version: 2.0

X-Served-By: EshopListing/2.0

Access-Control-Allow-Origin: *

Solana cNFT Verification

Stores on Business and Infrastructure plans receive a compressed NFT (cNFT) on the Solana blockchain. This serves as cryptographic proof that the store has been verified by EshopListing. The mint address is included in the store's ai.json and llms.txt responses.

JWS Signatures

llms.txt content can be cryptographically signed using HS256 (HMAC-SHA256) to verify data integrity. The signature is embedded in the response when available.

MCP Server Integration

EshopListing provides a Model Context Protocol (MCP) server with three tools for Claude, Copilot, and other MCP-compatible clients:

verify_store

Check if a domain is registered and get its AI visibility score.

get_verified_products

Retrieve enriched product catalog for a verified store.

search_stores

Search the registry by keyword, category, or location.

MCP endpoint: POST https://eshoplisting.com/api/mcp

Quick Reference

Protocol version: 2.0

Data format: JSON (application/json) + Markdown (text/plain)

Authentication: Public read access, API keys for programmatic use

Rate limits: 100 requests/minute per API key

Caching: 1 hour for store data, 30 minutes for registry