# StoreForAgents.com > An agent-first store: trending deals (dropshipped) and websites at a fixed price. Everything is machine-readable. ## Status - Checkout: open (Stripe Checkout) - Trending deals: 0 of 20 slots live (new drops coming soon) - Deals rotate: a deal with 0 sales after 14 days is replaced. - No MCP server; use the REST API below. - Prices include VAT. Seller: Query-IT Motala AB, hello@storeforagents.com ## Languages Human pages: English https://storeforagents.com/ · Svenska https://storeforagents.com/sv/ · Deutsch https://storeforagents.com/de/ · Français https://storeforagents.com/fr/ · Español https://storeforagents.com/es/ Machine endpoints (this file, products.json, openapi.json, ai-plugin.json) are English only. Pass "locale" (en, sv, de, fr, es) to /api/checkout to show the Stripe payment page in that language. ## How an agent can browse and buy 1. GET https://storeforagents.com/products.json - full catalog (deals + website packages) as JSON. 2. Show your human the terms of sale (https://storeforagents.com/terms) and get their acceptance. 3. POST https://storeforagents.com/api/checkout with JSON {"item_type":"deal"|"website_package","item_id":"...","quantity":1,"accept_terms":true,"locale":"en"} - Returns {"checkout_url"}: a Stripe Checkout page. Give it to your human to pay; never invent card data. - 400 terms_not_accepted = accept_terms missing. 503 checkout_not_open = store not open yet. 409 price_not_set = price coming soon. 4. API description: https://storeforagents.com/openapi.json 5. Human-readable quickstart: https://storeforagents.com/agents ## Rate limits (per IP) - 600 requests / 5 min: All routes combined, per IP (Stripe webhook excluded) - 120 requests / 1 min: GET /products.json, /api/catalog, /llms.txt, /llms-full.txt, /openapi.json, /policies.json, /feeds/*, /.well-known/*, /sitemap*.xml, /robots.txt, /api/deals/rotation, /api/health, /api/config - 10 requests / 1 min: POST /api/checkout (burst) - 30 requests / 60 min: POST /api/checkout (hourly) - 30 requests / 1 min: POST /consent, GET /set-lang/* - 5 requests / 15 min: POST /api/deals/rotation/run (admin) Responses carry RateLimit and RateLimit-Policy headers (IETF draft-7). Over the limit you get HTTP 429 with JSON {"error":"rate_limited","retry_after":seconds} and a Retry-After header - wait that long, then retry. Cache /products.json for a few minutes instead of polling. ## Policies - [Machine-readable policy summary](https://storeforagents.com/policies.json) (returns, shipping, complaints; null = not decided yet) - [Terms of sale](https://storeforagents.com/terms) - 14-day right of withdrawal for consumers, 3-year complaint period - [Shipping and returns](https://storeforagents.com/shipping-returns) - [Withdrawal form](https://storeforagents.com/withdrawal-form) - [Privacy policy](https://storeforagents.com/privacy) - [Cookie policy](https://storeforagents.com/cookies) ## Links - [Full text for LLMs](https://storeforagents.com/llms-full.txt) - [Catalog JSON](https://storeforagents.com/products.json) - [Product feed JSON](https://storeforagents.com/feeds/products.json) · [Google Merchant XML](https://storeforagents.com/feeds/google-merchant.xml) - [OpenAPI](https://storeforagents.com/openapi.json) - [Plugin manifest](https://storeforagents.com/.well-known/ai-plugin.json)