Northern Fitness API and Developer Docs

Northern Fitness is a Canadian online retailer of home and commercial gym equipment. This page is for developers and AI agents that work with our store programmatically: search the catalog, read product, price and stock data, build carts, and complete agent checkouts with the shopper's approval. Everything here is free to use. Catalog, search and cart endpoints need no API key and no sign-up.

Quick start

Example requests:

curl "https://www.northernfitness.ca/search/suggest.json?q=adjustable+bench&resources[type]=product"
curl "https://www.northernfitness.ca/products/orion-ruck-plates.js"
curl -X POST "https://www.northernfitness.ca/api/ucp/mcp" -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Authentication

Catalog, search and cart endpoints are public. Signed-in customer data (profile, addresses, order history) uses OAuth 2.0 through Shopify customer accounts: authorization code flow with PKCE (S256).

Scope What it allows
openid Sign the customer in and return an ID token.
email Read the customer's email address.
customer-account-api:full Read and update the customer's profile, addresses and orders through the Customer Account API.
customer-account-mcp-api:full Use the Customer Account MCP server on the customer's behalf.
dev.ucp.shopping.checkout:manage Create and manage UCP checkouts on the customer's behalf.
dev.ucp.shopping.catalog.search:read Search the catalog through UCP as the customer.

Request only the scopes your task needs.

Endpoints

Method Path What it does
GET /products.json?limit=250&page=1 List products, up to 250 per page.
GET /products/{handle}.js One product with variants, prices in cents (CAD) and availability.
GET /collections/{handle}/products.json Products in a collection, for example dumbbells or a brand.
GET /search/suggest.json?q= Search products and collections by name, brand or category.
GET /recommendations/products.json?product_id= Related or complementary products.
GET /cart.js The current cart.
POST /cart/add.js Add variants to the cart.
POST /cart/change.js Change the quantity of one cart line.
POST /cart/update.js Update several quantities or the cart note.
POST /cart/clear.js Empty the cart.
GET /.well-known/ucp Universal Commerce Protocol discovery profile.
POST /api/ucp/mcp Agent shopping MCP server: catalog search, carts and checkout.
POST https://shopify.com/26470285361/account/customer/api/2026-10/graphql Customer Account API (OAuth). The current version is listed at /.well-known/customer-account-api.
POST https://shopify.com/26470285361/account/customer/api/mcp Customer Account MCP server (OAuth).

Full request and response schemas, with an operation ID for every endpoint, are in the OpenAPI description.

MCP server for AI agents

The Northern Fitness MCP server at https://www.northernfitness.ca/api/ucp/mcp speaks the Model Context Protocol over Streamable HTTP (JSON-RPC 2.0). Call tools/list to discover tools. Tools include search_catalog, lookup_catalog, get_product, create_cart, update_cart, get_cart, create_checkout, update_checkout, complete_checkout, get_order, search_locations and ask_business.

Errors

Catalog and cart endpoints return JSON errors with the HTTP status, a short message and a description of how to fix the request:

HTTP 422
{"status":422,"message":"Cart Error","description":"Cannot find variant"}

Search returns 422 when q is missing. Recommendations return 404 with a JSON body when the product ID does not exist. Unknown product handles return 404. The MCP server returns JSON-RPC error objects, for example {"code":-32601,"message":"Method not found"}.

Rate limits

When you send too many requests you get HTTP 429. Wait for the number of seconds in the Retry-After header before retrying. Identify agent traffic with Web Bot Auth.

Rules for agents

  • Complete a checkout only with the shopper's explicit approval.
  • Prices are in Canadian dollars and orders ship within Canada.
  • Use the endpoints and MCP tools above instead of scripting checkout pages.

Support

Questions about the API: support@northernfitness.ca.