FeedsService class (accessed via client.feeds) reads what a store publishes about itself at
stable public addresses: its catalog as JSON or XML, a summary and a full catalog in the llms.txt
format for AI assistants, and agent.json, which tells an AI assistant how to shop the store through
the API.
No API key is required for any of these methods. Each reads a public file under
/v1/feeds/{store}/…, where {store} is the store’s id or its short store code. A store either
publishes a file or answers 404.Catalog feeds
A store’s catalog feed exposes its products as a stable, public URL, so another store, a partner, or a script can pull them. The feed has the shape the ingestion endpoints accept, so a store-to-store sync is a direct pull-and-ingest with no field mapping. The merchant opts in from the admin under Catalog Sync → “Publish my catalog”, optionally protecting the feed with a token. Only storefront-safe fields are exposed — never cost or margin.getStoreCatalogFeedJson
Returns a store’s published catalog as JSON.
Parameters:
Response
FeedProduct fields (the ingestion input shape, plus media and published specifications):
getStoreCatalogFeedXml
The XML form of the same feed, with the same opt-in and token rules. Returns the catalog as an XML
string.
200 (the catalog), 404 (no public feed — not opted in, or a wrong
or missing token), 429 (rate limit exceeded).
Files for AI assistants
getStoreLlmsTxt
Returns a store’s summary for AI assistants as Markdown, in the llms.txt format: the store’s name,
description, website and product count, the categories and subcategories it sells with product counts,
and its featured products and collections, each linked to the storefront. A closing section for AI
agents links the full catalog, the Agent API’s tool list and store policies, and, where the store
publishes one, its agent.json. The file carries only what the storefront already shows and follows
catalog changes.
The file is published by default. A wholesale store publishes it once the merchant turns it on, and any
merchant can turn it off from Settings → Agentic Commerce. A store on a trial or with a lapsed
subscription returns 404. There is no token: the file is either public or not published.
Parameters:
/llms.txt at the root of a site, so a storefront typically forwards its own
/llms.txt and /llms-full.txt to these two addresses.
getStoreLlmsFullTxt
The complete form of the same file: every product the storefront lists, with its storefront link,
category, brand and description, and one line per variant giving its SKU, price, any previous price and
whether it is in stock. Same publishing rules as getStoreLlmsTxt.
200 (the Markdown file), 404 (the store does not publish one), 429
(rate limit exceeded).
getStoreAgentDescriptor
Returns agent.json, a small JSON document that tells an AI assistant how to shop the store: the API’s
base address, a publishable key to call it with, where the tool list and the OpenAPI specification are,
the store’s feeds, and that every checkout is confirmed by the shopper. An assistant that has found the
store needs nothing else to start calling the Agent API.
The key in api.publishable_key is a production publishable key dedicated to assistants, separate from
the keys the merchant uses elsewhere, so it can be switched off on its own. Like any publishable key it
reads and prepares; it never places an order or takes payment without the shopper.
The descriptor is published by default. A wholesale store’s stays off until the merchant turns it on,
and the merchant can turn it off from Settings → Agentic Commerce, which also deactivates its key.
A storefront serves it at /.well-known/agentic-commerce.json by forwarding that path to this address,
as it forwards /llms.txt.
Parameters:
Response
The response is cached for five minutes.
Descriptor response codes:
200 (the descriptor), 403 (the store is on a trial or its plan has
lapsed), 404 (the store does not publish a descriptor, or does not exist), 429 (rate limit
exceeded).
