# Dataset API

URL: /products/templates/dataset-api · Id: `productTemplate:dataset-api`

> A Dataset API sells keyed lookups and queries over a Dataset to developers and Agents, metered per call.

A Dataset API sells keyed lookups and queries over a [Dataset](/business/nouns/dataset) to developers and [Agents](/business/nouns/agent), metered per call. Every record names its [Source](/business/nouns/source) and when it was last refreshed.

## The business
| Line | Default |
| --- | --- |
| Earns | `usage` |
| Typical Prices | $0.002 per lookup; $49 a month for 50,000 calls |
| First revenue on | A [Demand Budget](/business/nouns/demand-budget) of $0 |
| Supply | `digital`: Agents do the work |
| Motions | [b2d](/business/motions/b2d), [b2a](/business/motions/b2a), [b2a2d](/business/motions/b2a2d) |
| One metric per state | Idea: [Problem interviews](/agents/founding#problem-interviews); Building: [Committed ICP members](/agents/founding#committed-icp-members); Live: [Active calling keys](/agents/product#active-calling-keys); Repeatable: [Month-3 retention](/agents/customer#month-3-retention); Scale: [Net revenue retention](/agents/customer#net-revenue-retention) |
| Seed Plays | [Agent registries](/workflows/plays/agent-registries), [Directory listings](/workflows/plays/directory-listings), [Community answers](/workflows/plays/community-answers) |
| Compounding Plays | [Programmatic SEO](/workflows/plays/programmatic-seo), [Answer engine optimization](/workflows/plays/aeo), [Developer relations](/workflows/plays/developer-relations) |

| Offer | Price | Features | Limits | At its bound | On sale |
| --- | --- | --- | --- | --- | --- |
| Pay as you go (`pay-as-you-go`) | $0.002 per lookup, billed monthly | [Collection.query](/business/nouns/collection/query) | None. | None. | Always |
| Monthly (`monthly`) | $49 a month | [Collection.export](/business/nouns/collection/export) | [Collection.query](/business/nouns/collection/query): 50,000 a calendar month | `overage` | Always |

An Entitlement bounded by a Limit has `kind` `limit`; one without has `kind` `feature`. The `kind` is computed, never set.

| `atBound` | A call past the Limit |
| --- | --- |
| `overage` | Allowed: each unit past the Limit is billed through the Meter. |

[Offer.publish](/business/nouns/offer/publish) puts each Offer on every buy surface: `checkout`, `paymentLink`, `pricingTable`, `portalEntry`, `mcpBuyTool`, `http402`.

## Adds
| Kind | Item | From |
| --- | --- | --- |
| System | [Datasets](/systems/datasets) | This template |

## Wakes
- [Product definition](/workflows/processes/product-definition)
- [Release](/workflows/processes/release)

## Staffing
- [Integration Engineer](/agents/engineering/integration-engineer)

## Floor
None.

## Controls
- [Vulnerability management](/systems/trust-and-governance/controls/vulnerability-management)
- [Deploy reconciliation](/systems/trust-and-governance/controls/deploy-reconciliation)
- [Change approval](/systems/trust-and-governance/controls/change-approval)
- [Environment separation](/systems/trust-and-governance/controls/environment-separation)
- [Processing definitions](/systems/trust-and-governance/controls/processing-definitions)
- [Input validation](/systems/trust-and-governance/controls/input-validation)
- [Purpose limitation](/systems/trust-and-governance/controls/purpose-limitation)

## Builders
- [SoftwareBuilder](/code/builders/software)
- [SalesBuilder](/code/builders/sales)

## Next
- [Headless SaaS](/products/templates/headless-saas)
- [Directory](/products/templates/directory)
- [Autonomous data API](/start/templates/autonomous-data-api)

## Example
A [Startup](/business/nouns/startup) sells business-registration records. One call takes a company name and state and returns its status, officers, and filing date, at $0.002 a lookup.