Developers
Abandonware runs on Shopify, so the catalog and cart are reachable over plain HTTP, GraphQL and MCP. This page covers what's available, how to authenticate when you need to, and a quickstart. Everything below works on https://abandonware.online.
API reference
- OpenAPI 3.1 spec: /openapi.json. It covers every endpoint on this page, with request and response schemas and the OAuth scopes.
-
Storefront GraphQL:
POST /api/2026-10/graphql.json(schema reference). - Customer Account API: discovered from /.well-known/customer-account-api and /.well-known/openid-configuration.
Quickstart
No key is needed for any of these.
1. Search the catalog
curl "https://abandonware.online/search/suggest.json?q=clippy&resources[type]=product"
2. Get a product and its variant ids (prices are in cents, USD)
curl "https://abandonware.online/products/PRODUCT-HANDLE.js"
3. Add a variant to a cart and read it back (the cart lives in the cart cookie, so keep a cookie jar)
curl -c jar -b jar -X POST "https://abandonware.online/cart/add.js" \
-H "Content-Type: application/json" \
-d '{"items":[{"id":VARIANT_ID,"quantity":1}]}'
curl -b jar "https://abandonware.online/cart.js"
4. Hand off to checkout. Send the shopper to https://abandonware.online/checkout with the same cart. A person completes shipping and payment; no endpoint here places an order.
Or use GraphQL without a token:
curl -X POST "https://abandonware.online/api/2026-10/graphql.json" \
-H "Content-Type: application/json" \
-d '{"query":"{ products(first: 5) { nodes { handle title } } }"}'
For AI agents
-
MCP, catalog and cart:
POST /api/ucp/mcpimplements the Universal Commerce Protocol (search_catalog,lookup_catalog,get_product, plus cart tools). Each request has to carry your agent's UCP profile URL. See Shopify's Storefront Catalog MCP docs. -
MCP, policies and FAQs:
POST /api/mcpexposessearch_shop_policies_and_faqsfor shipping and returns questions. -
WebMCP (in the browser): pages on this site register
search_products,get_product,get_cart,add_to_cartandupdate_cart_linewithdocument.modelContext, so a browser agent can shop for the person using it. The tools return the checkout URL but never pay.
Authentication and scopes
| What | Auth | Scopes |
|---|---|---|
| Catalog, search, cart endpoints, MCP | None | None. Everything here is public. |
| Storefront GraphQL | None, or an optional X-Shopify-Storefront-Access-Token for higher limits |
Storefront access scopes on the token, such as unauthenticated_read_product_listings
|
| Customer Account API (a shopper's own orders, profile and addresses) | OAuth 2.0 authorization code with PKCE, granted by the shopper |
openid, email, customer-account-api:full
|
API keys and OAuth clients: there's no self-serve key signup. Storefront tokens and Customer Account API clients are issued by the store. Email support@abandonware.online with what you're building and the redirect URIs you need. Request only the scopes you use.
Testing
There's no separate sandbox store. Catalog and search calls are read-only. Carts are per session and expire on their own, and nothing is charged unless a person finishes checkout. Experimenting against the live store is fine as long as you don't place real orders.
Limits and etiquette
- Shopify rate-limits storefront traffic. On
429, wait forRetry-Afterbefore retrying. - Identify your client with a descriptive
User-Agent. - Crawling rules are in /robots.txt, and the full list of URLs is in /sitemap.xml.
Contact
Questions, bugs or access requests: support@abandonware.online or the contact form.