# Coverage

URL: /products/data/coverage · Id: `page:products/data/coverage`

> Coverage names the population and date range a Dataset answers for, published as a map and checked per key for free before any lookup is billed.

Coverage is the population and date range a [Dataset](/business/nouns/dataset) answers for, never "complete". It is declared in the product file, published as a map, and checked for each key before a lookup is billed.

## Declared once
`coverage` in the product file lists what the Dataset answers for, one sentence each. Ratebook covers every US taxing jurisdiction, from 2024 on. An address outside the US is out of coverage, and the reference says so before a buyer finds out by a miss.

## Published as a map
The coverage map breaks the declaration down by the dimension buyers ask about. Ratebook's lists each state with its jurisdiction count and its last refresh. It sits beside the price on the pricing page, in the [Portal](/business/nouns/portal) and in the agent card.

| State | Jurisdictions | Last refresh |
| --- | --- | --- |
| Washington | 412 | Daily |
| Colorado | 791 | Daily |
| Oregon | No sales tax: every lookup returns zero, in coverage | Daily |

A state with no sales tax is in coverage. A zero rate is an answer; a key outside coverage is not.

## Checked before it is billed
Any lookup runs first as a `HEAD` request, which charges nothing. The answer says whether the key is in coverage and what the lookup costs.

```bash
curl -I "https://api.ratebook.dev/rates/lookup?address=500%20Pine%20St%2C%20Seattle%2C%20WA" \
  -H "Authorization: Bearer $RATEBOOK_KEY"
```

A buyer's agent checks every key in its batch this way before it commits, then calls only the covered ones. A key outside coverage that is called anyway returns `refused` and costs nothing.

## Widening it
A miss inside the declared coverage is a gap, and the match rate by region shows where. Widening coverage is a change to the product file and usually a new [Source](/business/nouns/source): [sources and refresh](/products/data/sources-and-refresh) covers adding one.