# TradeCatalog developer docs

> Connect your systems and AI apps to TradeCatalog with the REST API, the MCP server and LLM-ready docs.

TradeCatalog keeps a trade supplier’s catalog, customer prices, orders and price changes in one place. These docs cover the ways software can work with that data.

For catalog families, measured products, size tables and reviewed imports, see [Set up your trade catalog](/docs/guides/trade-catalogues).

## Three ways in

### REST API

For your own systems: ERP, stock control, accounts, a nightly script. Owners make an API key in **Settings → API**. The key works on one workspace with staff rights.

- Read products with any customer’s prices, customers, orders, price changes and the activity log.
- Create and update products and customers in batches of 100.
- Move orders on (acknowledged, dispatched, completed, canceled).

Start with the [quickstart](/docs/quickstart), then read the [REST API overview](/docs/api).

### MCP server for AI apps

For people using Claude, ChatGPT, Cursor or any MCP client. Each person signs in with their own TradeCatalog login and approves read access, optionally with write access and reviewed changes. The AI app then sees exactly what that person sees in the app: staff see their workspaces, buyers see their own prices.

See [Connect an AI app](/docs/mcp) and the [MCP tools](/docs/mcp/tools).

### Docs for LLMs

Every page here is also plain markdown. Add `.md` to any docs URL, or fetch [/llms-full.txt](/llms-full.txt) for all of them in one file. Every page has **Copy page** and **Open in Claude** buttons. See [AI and LLM resources](/docs/guides/llms).

## Which one should I use?

| You want to…                                              | Use                               |
| --------------------------------------------------------- | --------------------------------- |
| Sync products and customers from your ERP every night     | [REST API](/docs/guides/erp-sync) |
| Pull new orders into your accounts or dispatch system     | [REST API](/docs/api/orders)      |
| Ask “what does Oakfield Joinery pay for HX-8510?” in chat | [MCP](/docs/mcp)                  |
| Let a buyer check their own prices from their AI app      | [MCP](/docs/mcp)                  |
| Generate a typed client for your code                     | [OpenAPI](/docs/api/openapi)      |

## What isn’t here yet

- **Webhooks.** Poll [`GET /orders?status=new`](/docs/api/orders) every few minutes instead.
- **Publishing price changes by API.** Changed list prices go into a draft that you review and publish in the app. See [Price changes](/docs/api/price-changes).
- **Deleting products or customers by API.** Make a product inactive or remove it in the app.
- **Keys for buyers.** Buyers use [MCP](/docs/mcp) or download their price list as CSV from their trade portal.

Need help with a connection? See [Contact support](/docs/support).

Something missing that you need? Email support from your workspace (Support in the menu) and tell us what you’re building.
