Scoperly Connect API
Build integrations with the Scoperly B2B marketplace. Sync your product catalog, manage orders, and receive real-time webhooks — all through a single REST API.
Base URL
https://api.scoperly.com/connect/v1The machine-readable contract lives at /connect/v1/openapi.yaml — OpenAPI 3.1, no credential needed to fetch it. Generate a client from it rather than transcribing these pages by hand; a build check keeps it in step with the running API.
All API requests are made to this base URL. Country-specific deployments use their own subdomain (e.g. api.am.scoperly.com).
Versioning
The Connect API follows semantic versioning. v1 endpoints are stable and will be maintained with backward compatibility. Breaking changes will be released as v2 with a minimum 6-month migration period.
Authentication
The Connect API uses API keys for authentication. Each key is scoped to a specific supplier tenant. You can use the key directly as a Bearer token for simple requests, or exchange it for a short-lived JWT for session-based integrations.
Pass your API key as a Bearer token in the Authorization header. Best for server-to-server calls.
Exchange your key for a short-lived JWT via POST /auth/token. Best for long-running sessions or when you need fine-grained expiry control.
# Direct API key usage
curl https://api.scoperly.com/connect/v1/supplier/catalog/products \
-H "Authorization: Bearer sck_live_abc123def456..."
# Or exchange for JWT
curl -X POST https://api.scoperly.com/connect/v1/auth/token \
-H "Authorization: Bearer sck_live_abc123def456..." \
-H "Content-Type: application/json"
# Response:
# {
# "access_token": "eyJ...xxxxx",
# "token_type": "Bearer",
# "expires_in": 1800,
# "refresh_token": "crt_..."
# }See the full Authentication guide for details on key management, scopes, and rotation.
Rate Limits
Rate limits are applied per API key. Check X-RateLimit-Remaining and X-RateLimit-Reset headers for current status. These headers are included in every response.
Error Format
All errors follow RFC 9457 Problem Detail format. The type field is a machine-readable error code you can switch on in your integration.
{
"type": "STOCK_INSUFFICIENT",
"title": "Not enough stock",
"status": 422,
"detail": "Product SKU-123 has only 5 units available (requested 10).",
"instance": "/connect/v1/supplier/catalog/products/SKU-123/stock"
}See the full Error Reference for all error types.
Need help? Email api-support@scoperly.com or visit our developer community.
Explore the API
Catalog API
Create, update, and search products. Manage stock and run batch operations.
Order API
List and manage incoming orders. Accept, reject, and dispatch.
Webhooks
Receive real-time notifications for orders, stock changes, and more.
Error Reference
All error types, status codes, and troubleshooting tips.