# Category Summary

> Category Summary is a paid API for AI agents from api.syntalic.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-09-13).

Returns high-level statistics for a product category including product/brand/retailer counts, pricing aggregates (avg/min/max/median), average rating, promo rate, in-stock rate, and top brands.

## Facts

- Endpoint: GET https://api.syntalic.com/v1/analyst/category-summary
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402, shopping
- Canonical page: https://www.zero.xyz/c/category-summary-d78bb9f2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_JNm4Ic-P2GAM8leLIbVvc

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability category-summary-d78bb9f2
```

Example prompt: Give me a category summary for electronics in the US — I want to see average, min, max, and median pricing, how many products and brands are listed, the average rating, promo rate, and in-stock rate, and which brands are on top.

## When to prefer this

Use this endpoint when you need a broad statistical overview of a product category — pricing benchmarks, brand/product counts, availability, and promo rates — rather than individual product details or time-series trends. It is ideal for market sizing, category health checks, or as a first-pass lookup before drilling into competitive landscape or brand tracker endpoints. Prefer this over Price Dispersion when you need multiple metrics at once rather than deep statistical spread analysis.

## Known failure modes

- Unrecognized category name that fails all four resolver tiers (id, exact name, trigram, embedding kNN) returns an error or empty result
- Invalid or unsupported country code (only 'us' and 'ca' are accepted) returns a validation error
- category_id not found in database returns a not-found error
- Missing both category and category_id with no department provided may return ambiguous or empty results
- Rate limiting or payment failure via x402 returns a 402 Payment Required response

## How this service works

High-level category statistics - product/brand/retailer counts, pricing (avg/min/max/median), avg rating, promo rate, in-stock rate, and top brands.

## Output

A structured object containing aggregate statistics for the resolved category: total product count, brand count, retailer count, pricing stats (average, min, max, median), average customer rating, promotional rate (fraction of products on promo), in-stock rate, and a list of top brands by presence.

## Example request

```json
{
 "country": "us",
 "category": "electronics"
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "country": {
   "enum": [
    "us",
    "ca"
   ],
   "type": "string",
   "default": "us",
   "example": "us",
   "description": "Country (us or ca)"
  },
  "category": {
   "type": "string",
   "example": "electronics",
   "minLength": 1,
   "description": "Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call."
  },
  "department": {
   "type": "string",
   "example": "Electronics",
   "minLength": 1,
   "description": "Coarse depth-1 BrowseNodes department label (e.g., 'Electronics', 'Grocery', 'Toys & Games'). Exact-match, case-sensitive Title Case. Optional alongside `category`; either parameter alone or both together are accepted. Use this for stable cross-agent queries where the leaf-level category is too noisy."
  },
  "category_id": {
   "type": "integer",
   "example": 1,
   "minimum": 1,
   "description": "Deterministic category id. When set, bypasses the fuzzy resolver cascade and uses tier 1 (id lookup) directly. Agents that learned a canonical id from a prior call's `resolved.category_id` should pin it here for round-trip stability."
  }
 },
 "additionalProperties": false
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object"
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/category-summary-d78bb9f2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.syntalic.com](https://www.zero.xyz/host/api.syntalic.com/llms.txt)
