# Deal Finder

> Deal Finder is a paid API for AI agents from api.syntalic.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Discovers actively-promoted discounted products in a given category above a minimum discount threshold, ranked by discount depth with price, list price, and retailer.

## Facts

- Endpoint: GET https://api.syntalic.com/v1/shopper/deal-finder
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402, shopping
- Canonical page: https://www.zero.xyz/c/deal-finder-e24c72a3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_yHd6ep4Xk-q01vvnFSlz_

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 deal-finder-e24c72a3
```

Example prompt: Find me the top 10 actively-promoted deals in electronics from Amazon in the US, with at least 20% off — ranked by biggest discount.

## When to prefer this

Use this endpoint when you need a curated list of currently active promotional deals within a broad product category, especially when you want to filter by retailer, minimum discount depth, or country. Prefer this over Best Price when you want category-wide deal discovery rather than price comparison for a specific known product. Prefer this over Promo Intelligence when you need actual product listings rather than aggregate promo statistics.

## Known failure modes

- Category not resolvable — if the provided category string is too vague or misspelled and cannot be mapped to a canonical category_id, the endpoint may return an empty deals array or an error
- No deals found — if no products in the category meet the minimum discount threshold, an empty deals array is returned
- Invalid retailer enum — if an unsupported retailer string is passed, a validation error is returned
- Limit exceeded — if limit exceeds 50, a validation error is returned
- Unsupported country — only 'us' and 'ca' are accepted; other values return a validation error
- Payment failure — if the x402 micropayment of $0.01 USDC is not processed, the request is rejected

## How this service works

Discover actively-promoted discounted products in a category above a minimum discount threshold. Returns deals ranked by discount depth with price, list price, and retailer.

## Output

Returns a list of deal objects ranked by discount depth, each containing product details, current price, original list price, discount percentage, and retailer name, along with the resolved canonical category name.

## Example request

```json
{
 "limit": 10,
 "country": "us",
 "category": "electronics",
 "retailer": "amazon",
 "min_discount_pct": 20
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "category"
 ],
 "properties": {
  "limit": {
   "type": "integer",
   "default": 20,
   "example": 20,
   "maximum": 50,
   "description": "Max results to return (default 20, max 50)"
  },
  "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."
  },
  "retailer": {
   "enum": [
    "amazon",
    "walmart",
    "costco",
    "homedepot",
    "nordstrom",
    "ikea"
   ],
   "type": "string",
   "example": "amazon",
   "description": "Filter to a specific retailer"
  },
  "min_discount_pct": {
   "type": "integer",
   "default": 10,
   "example": 10,
   "description": "Minimum discount percentage (default 10)"
  }
 },
 "additionalProperties": false
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "deals": {
   "type": "array",
   "items": {
    "type": "object"
   }
  },
  "category": {
   "type": "string"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/deal-finder-e24c72a3/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)
