> ## Documentation Index
> Fetch the complete documentation index at: https://docs.emporiaresearch.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a preview

> Get a quote for an audience.

Returns a quote and an `id`. Use the `id` to [create a project](https://docs.emporiaresearch.com/demand-api/create-project.md) within 24 hours, after which the quote expires.

Values within one filter are OR'd; different filters are AND'd.

## Body

**audience** `string` *required*

An audience ID from [Get taxonomy](https://docs.emporiaresearch.com/demand-api/get-taxonomy.md).

**studyType** `string` *required*

`QUANT` or `AI_MODERATED_INTERVIEW`.

**loiMinutes** `integer` *required*

Length of interview in minutes.

**incidenceRate** `integer` (default: 100)

Expected percentage of respondents who qualify, from 1 to 100.

**targetNSize** `integer` *required*

Completes wanted.

**filters** `object`

Narrows the audience. Values come from [Get taxonomy](https://docs.emporiaresearch.com/demand-api/get-taxonomy.md).

**properties**

**countries** `string[]`

ISO 3166-1 alpha-2 country codes.

**employeeRanges** `string[]`

Company size buckets.

**industries** `string[]`

Industry buckets.

**seniorities** `string[]`

Seniority levels. Ignored when the audience has `fixedSeniority: true`.

## Response

**id** `string` *required*

Preview ID.

**expiresAt** `string` *required*

UTC timestamp, 24 hours after the preview was created.

**audience, studyType, loiMinutes, incidenceRate, targetNSize, filters** `mixed`

Echo of the request with defaults applied. For audiences with `fixedSeniority: true`, `filters.seniorities` shows the audience's seniorities, not what you sent.

**nSize** `integer` *required*

Completes we expect to deliver.

**cpi** `object | null` *required*

Price per complete. `null` when `nSize` is 0.

**properties**

**amount** `number` *required*

Price per complete.

**currency** `string` *required*

ISO 4217 currency code.

**exampleProfiles** `object[]` *required*

Three to five anonymized profiles matching the filters. Empty when `nSize` is 0.

**properties**

**jobTitle** `string`

Job title.

**industry** `string`

Industry ID.

**employeeRange** `string`

Employee range ID.

**country** `string`

ISO 3166-1 alpha-2 country code.

**seniority** `string`

Seniority ID.

## Errors

General errors are listed in the [Overview](https://docs.emporiaresearch.com/demand-api/overview.md#errors).

| Status | Code | When |
| - | - | - |
| 400 | `INVALID_AUDIENCE` | `audience` is missing or isn't in the taxonomy. |
| 400 | `INVALID_STUDY_TYPE` | `studyType` is missing or isn't `QUANT` or `AI_MODERATED_INTERVIEW`. |
| 400 | `INVALID_LOI` | `loiMinutes` is missing or isn't a positive integer. |
| 400 | `INVALID_INCIDENCE_RATE` | `incidenceRate` is outside 1–100. |
| 400 | `INVALID_TARGET_N_SIZE` | `targetNSize` is missing or isn't a positive integer. |
| 400 | `INVALID_FILTER_VALUE` | A filter value isn't in the taxonomy. |

```json Body theme={null}
{
  "audience": "CYBERSECURITY_PROFESSIONALS",
  "studyType": "QUANT",
  "loiMinutes": 15,
  "incidenceRate": 30,
  "targetNSize": 200,
  "filters": {
    "countries": ["US", "CA"],
    "employeeRanges": ["FIFTY_ONE_TO_FIVE_HUNDRED", "FIVE_HUNDRED_ONE_TO_ONE_THOUSAND"],
    "industries": ["HEALTHCARE"],
    "seniorities": ["VP", "DIRECTOR"]
  }
}
```

```json 200 theme={null}
{
  "id": "4f1a9c2e7b3d4a8e9c6b2d5f8a1e3c7b",
  "expiresAt": "2026-10-28T16:12:44.207531Z",
  "audience": "CYBERSECURITY_PROFESSIONALS",
  "studyType": "QUANT",
  "loiMinutes": 15,
  "incidenceRate": 30,
  "targetNSize": 200,
  "filters": {
    "countries": ["CA", "US"],
    "employeeRanges": ["FIFTY_ONE_TO_FIVE_HUNDRED", "FIVE_HUNDRED_ONE_TO_ONE_THOUSAND"],
    "industries": ["HEALTHCARE"],
    "seniorities": ["DIRECTOR", "VP"]
  },
  "nSize": 340,
  "cpi": {
    "amount": 85.00,
    "currency": "USD"
  },
  "exampleProfiles": [
    {
      "jobTitle": "Director of Security Operations",
      "industry": "HEALTHCARE",
      "employeeRange": "FIFTY_ONE_TO_FIVE_HUNDRED",
      "country": "US",
      "seniority": "DIRECTOR"
    },
    {
      "jobTitle": "VP, Information Security",
      "industry": "HEALTHCARE",
      "employeeRange": "FIVE_HUNDRED_ONE_TO_ONE_THOUSAND",
      "country": "CA",
      "seniority": "VP"
    }
  ]
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.