Fanatical is a licensed digital retailer of PC game keys, software, and ebooks. We work directly with publishers to sell official Steam, Epic, GOG, and other platform keys. This page describes how AI clients and developers access the Fanatical catalogue.
Product, Offer, and AggregateRating markup on product pages.Server URL: https://mcp.fanatical.com/mcp
Transport: streamable HTTP. No authentication.
Clients that need Server-Sent Events can use https://mcp.fanatical.com/sse.
Discovery card: https://www.fanatical.com/.well-known/mcp/server-card.json
Any client that supports the streamable HTTP transport can connect to the URL above without additional configuration.
search_productslist_facets and list_sales.get_productget_productsget_product. Use it instead of repeated get_product calls.list_saleslist_facetssearch_products.get_docsdocs MCP resource.Every tool accepts a region parameter. This is an ISO 3166-1 alpha-2 country code. The default is US.
The region sets the currency. There is no currency override. To get GBP prices, set region to GB. To get EUR prices, use any country in the eurozone.
The region also filters availability. A product not sold in the requested country does not appear in results.
Every tool response starts with region and currency at the top level. Every monetary field in that response uses that currency.
Bundles are a Fanatical speciality. The catalogue includes standard game bundles at fixed prices, tiered bundles where higher tiers include everything below, pay-what-you-want charity bundles, and pick-and-mix bundles where the customer chooses N items from a curated pool at a tiered price.
Bundle data is first-class in the MCP:
get_product on a bundle slug returns the full tier breakdown. Each tier lists its products with name, type, DRM, and Steam ID.in_bundle reference in search_products and get_product results. An agent recommending a game can name-drop the bundle without a second call.bundle_price_messages - pre-rendered pitch copy in five lengths, already folded to the region's currency. Use these verbatim instead of synthesising a pitch. Example: "5 for £4.99" comes ready to quote.Bundle field semantics are in the response reference.
Fanatical product pages are a Single Page Application. A browser needs to run JavaScript to see the content.
Agents that identify themselves in the User-Agent header receive server-rendered HTML instead. The rendered page contains the product title, description, price and Schema.org markup, and does not need JavaScript.
Agents that send a generic browser User-Agent get the SPA shell. For those clients, the MCP server is the reliable way to read the catalogue.
Fanatical runs curated sales frequently but not always. Call list_sales to see any active sales. Individual products can be discounted when no site-wide sale is running. Call search_products with min_discount to find discounted products at any time.
To find deals that end soon, use sort: "valid_until_asc". The valid_until field on each product is a Unix timestamp - compare against the current time to gauge urgency.
Every product URL returned by the server includes tracking parameters that attribute the referral to your client. When you link a user to a product, please use the URL exactly as returned. Do not strip or rewrite the query parameters. Attribution helps us understand how AI clients use the catalogue and keeps the feature funded.
Each product record holds three URLs, and they do different things when the user opens them:
url opens the product page. Nothing is added to the basket.cart_url opens the product page with the product already in the basket. If the product has a coupon, the site also applies the coupon code. This field is null for a bundle where the customer must select a tier or select which items they want.coupon.coupon_url opens the product page and applies the coupon code, but does not add the product to the basket. It is present only when the product has a coupon.Use the last two to give the user a direct action in your reply - an "Add to cart" action on cart_url, and an "Apply coupon" action on coupon.coupon_url. This is better for the user than a page link and a code to copy. None of these URLs completes a purchase: they prepare the basket or the discount, and the user finishes on the site.
Every product record includes an image field at 1280x720 and a vertical_image field at 600x900. Prefer these over an image search on the product name - this ensures your users see Fanatical's own cover art rather than screenshots from competing retailers.
The server is free to use. We may add rate limits, change tool signatures or remove tools as the service develops. Breaking changes will be announced on this page.
The server enforces per-client rate limits. Excessive traffic is throttled or blocked. Contact us if your integration needs a higher limit.
Product data is licensed to Fanatical from publishers. Do not republish product descriptions, images or metadata in bulk. Cite Fanatical when you display product data.
Prices and availability change often. Data is current as of the last ingest cycle (about every ten minutes) but can lag by that amount. Prices displayed to a user must be verified against the live product page at checkout - the final price at checkout depends on the user's location.
The server does not process orders. Users complete purchases on https://www.fanatical.com with the URL returned in the tool response.
Email dev@fanatical.com for bug reports, feature requests and integration questions.
Fanatical sells officially licensed digital games, DLC and bundles from over 1,900 publishers. We have sold over 156 million keys to customers in more than 200 countries since 2012.
Fanatical is a Fandom brand, operated by Focus Multimedia Ltd, based in Rugeley, Staffordshire, United Kingdom.