API Reference
Storefront API (Public)
Products, Search & Categories

Products, Search & Categories

Visibility

  • GET /productsPublic
  • GET /products/{slug}Public
  • GET /searchPublic
  • GET /product-categoriesPublic

Authentication

x-api-key: sk_eco_...

GET /products

Returns paginated product cards.

Query Parameters

ParamTypeDescription
limitnumberPage size
offsetnumberPagination offset
sort_bystringSorting field
sort_orderasc | descSort direction
min_pricenumberMinimum price filter
max_pricenumberMaximum price filter
categorystringCategory filter

Response Model

ProductListResponse with data[] and pagination.

GET /products/{slug}

Returns full product details including options, variants, collections, media, inventory, and SEO metadata.

Response Highlights

FieldTypeDescription
optionsProductOptionResponse[]Variant dimensions and available values
variantsProductVariantResponse[]Variant-level pricing, stock, option map
price_range{ min_price, max_price, currency }Computed price range
collectionsProductCollectionBrief[]Related collection references
imagesProductImageResponse[]Ordered media list

GET /search

Searches products by query text.

Query Parameters

ParamTypeRequiredDescription
qstringYesSearch query
limitnumberNoResult limit
offsetnumberNoPagination offset

Response

SearchResponse with data[], query, and pagination.

GET /product-categories

Returns active category labels used in storefront filtering/navigation.

cURL Examples

curl -X GET "https://api.ecommaps.com/api/v1/storefront/products?limit=12&offset=0" \
  -H "x-api-key: sk_eco_YOUR_KEY"
 
curl -X GET "https://api.ecommaps.com/api/v1/storefront/products/product-slug" \
  -H "x-api-key: sk_eco_YOUR_KEY"
 
curl -X GET "https://api.ecommaps.com/api/v1/storefront/search?q=shirt" \
  -H "x-api-key: sk_eco_YOUR_KEY"

SDK Example

const list = await ecommapsClient.products.list({ limit: 12, offset: 0 });
const detail = await ecommapsClient.products.retrieve("product-slug");
const search = await ecommapsClient.products.search("shirt", { limit: 10 });

Error Matrix

StatusScenario
400Invalid filters or malformed query
401Missing/invalid API key
404Product slug not found
500Datastore/query failure