---
title: "Search the HTS by product words or a code prefix (pay per call in USDC via x402, no key)"
method: POST
path: "/x402/api/search"
tags: ["Dutyfinch"]
---

# Search the HTS by product words or a code prefix (pay per call in USDC via x402, no key)

`POST /x402/api/search`

## Request

- Base URL: `https://dutyfinch.cybermaxtools.com`
- URL: `https://dutyfinch.cybermaxtools.com/x402/api/search`
- Auth: none required

Keyword search over every HTS line (its own text and the headings above it). Each result has the code, description, general rate, a one-line Section 301 summary and the reduction-list flag. Send a number to list the lines under that code prefix.

Pay per call with x402: $0.012 per call in USDC on Base. No key, no account: an unpaid call returns 402 with the payment requirements; retry with the X-PAYMENT (x402 v1) or PAYMENT-SIGNATURE (v2) header.

## Request body

- object
  - `q` string, required
  - `limit` integer

## Response `200`

Results (same field names as the bulk version's dataset records) plus the free-tier limits.

- object

## Other responses

- `400`: Invalid input
- `401`: Invalid or revoked API key
- `402`: Payment Required: x402 payment requirements (body: x402Version 1 accepts[]; header PAYMENT-REQUIRED: x402 v2).
- `504`: Took too long; ask for fewer items

---

[API](https://skmtc.dev/cybermaxtools/apis/dutyfinch-api.md) · [All operations](https://skmtc.dev/cybermaxtools/apis/dutyfinch-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cybermaxtools/apis/dutyfinch-api/revisions/e333c51ba697?raw)
