Skip to main content
The Octogen Platform Catalog API v1 is a server-to-server REST API for Developer organizations. It lets you search products across active crawled catalogs, find products similar to a source product, look up a product by its page URL, request a product refresh, and maintain coverage URL lists that Octogen joins against its catalogs daily. Choose the REST API for API-key server workloads, or use the Developer MCP server for OAuth-based agent workflows.

Base URL and content type

All requests go to:
Every request body and response body uses application/json. Set Content-Type: application/json on requests that include a body.

Authentication

Send your Platform API key as a Bearer token on every request:
API keys are organization-scoped and currently usable only by Developer organizations. A key can search and browse every active crawled catalog, including catalogs activated later, and can never access merchant catalogs. Rotate or deactivate keys in Octogen Platform; deactivation takes effect on the next request.
Never expose your Platform API key in client-side code or public repositories. Treat it like a password.

OpenAPI specification

The machine-readable contract is published at every platform deploy:
The document includes server URLs, operation IDs such as searchProducts, moreLikeThisProducts, lookupProduct, refreshProducts, startVoyage, getVoyage, listVoyages, createUrlList, listUrlLists, getUrlList, deleteUrlList, addUrlListUrls, removeUrlListUrls, checkUrlListUrls, and listUrlListUrls, full request and response schemas, and example error bodies. Most ecosystems can generate a typed client from it - for example openapi-generator, openapi-typescript, or oapi-codegen.

Endpoints

The public reference currently documents these endpoints.

Error model

All error responses carry a top-level detail field. String detail (auth, authorization, and not-found errors):
Array detail (validation errors):

Error status codes

Retry transient network errors, 5xx responses, and 429 (after waiting Retry-After). The other 4xx codes listed above require a change in the caller.

Rate limits

Requests are rate limited per organization — one budget shared across all of your API keys and MCP sessions. The cap is a generous safety ceiling set well above normal traffic and is not published as a fixed number; read your current allowance from the X-RateLimit-Limit response header. Every response includes X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset. When you exceed the limit, the API returns 429 Too Many Requests with detail: "rate_limit_exceeded" and a Retry-After header. See the Rate Limits guide for the headers, backoff code, and the MCP equivalent.

REST and MCP: choosing a surface

Both surfaces run against the same grants table. A grant change on one path takes effect immediately on the other.
If you are building an agent-based workflow and already have OAuth in place, prefer the MCP server — the tool signatures map 1:1 to these REST endpoints.