# Samples

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

> What a buyer sees before paying for a Dataset: synthetic records on a test key, a free allowance of real lookups, and a free coverage check.

A buyer tries a [Dataset](/business/nouns/dataset) before it pays, and the free reads never give the Dataset away. Three free reads answer three questions a buyer has before it pays.

## Three free reads
| Read | Answers | Bound |
| --- | --- | --- |
| A `test` key | Is the shape what my code expects? | Synthetic records only, in the real shape |
| The free allowance | Are the real values right for my keys? | 1,000 lookups per key each month |
| The coverage check | Is this key covered, and what does it cost? | Free, any number of times |

A caller with no key may make 100 lookups per IP each day, so a developer sees a real answer before signing up.

## Why synthetic test records
A `test` key that read real records would be the cheapest way to copy the Dataset. Synthetic records keep every field, type and edge case, such as a zero rate or a district inside a city, without a single real value.

## Why the allowance is per key
A free allowance per key lets a buyer try its own keys, the ones it pays for later. List calls are paged and priced per row, so the allowance answers "is my data here", not "give me everything".

## From sample to sale
When the allowance runs out, the next lookup gets a 402 reply naming the [Offer](/business/nouns/offer) that covers it. A buyer's agent accepts that Offer inside its [Mandate](/business/nouns/mandate) and retries the call with the same idempotency key. [Selling to agents](/products/selling/selling-to-agents) covers the reply.