---
title: "Search the HTS by product words or a code prefix"
method: POST
path: "/api/search"
tags: ["Dutyfinch"]
---

# Search the HTS by product words or a code prefix

`POST /api/search`

## Request

- Base URL: `https://dutyfinch.cybermaxtools.com`
- URL: `https://dutyfinch.cybermaxtools.com/api/search`
- Auth: one of:
  - none
  - API key in header `x-api-key`
  - HTTP bearer

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.

## 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
- `429`: Free tier used up (50/day per IP) or rate/plan limit reached; the body has an upgrade link.
- `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)
