---
title: "Cost preview for the Swath Report: filtered cached-property count and fresh-fetch estimate, no rows returned (1 credit)"
method: GET
path: "/v1/swaths/{id}/properties/quote"
---

# Cost preview for the Swath Report: filtered cached-property count and fresh-fetch estimate, no rows returned (1 credit)

`GET /v1/swaths/{id}/properties/quote`

## Request

- Base URL: `https://swathapi.com`
- URL: `https://swathapi.com/v1/swaths/{id}/properties/quote`
- Auth: HTTP bearer

Runs the report's filtered COUNT over cached parcels (1 credit, no property rows). Returns total_cached, whether fresh vendor fetches are possible, and a clearly-labeled fresh_estimate (null when no basis). Billing of the real report always uses actual counts.

## Path parameters

- `id` string, required

## Query parameters

- `roof_age_min` number
- `roof_material` string
- `owner_occupied` boolean
- `year_built_before` number
- `year_built_after` number
- `value_min` number
- `value_max` number
- `min_exposure_score` number

## Response `200`

Cost preview

- ReportQuote: Cost preview for a Swath Report — counts only, no property rows
  - `storm_id` string
  - `swath_id` string
  - `total_cached` integer: Cached properties matching the filters (1 credit each when returned)
  - `fresh_possible` boolean: Whether a paid-plan report could trigger live vendor fetches (uncovered tiles exist)
  - `fresh_estimate` integer, nullable: ESTIMATE of fresh-fetchable records (uncovered tiles × observed parcels-per-tile average); null when no basis. Billing uses actuals only.
  - `quote` object
    - `cached_credits` integer: total_cached × 1 credit
    - `fresh_surcharge_per_record` integer: Credits added per fresh-fetched record (25 at current rates)
    - `minimum` integer: Per-request billing floor (10 credits)
    - `note` string

## Other responses

- `400`: A filter parameter is not a number
- `401`: Missing, invalid, or revoked API key. Fix: pass Authorization: Bearer sk_... (get a key at /v1/signup).
- `402`: Monthly credit limit reached (code credits_exhausted). Fix: upgrade via POST /v1/billing/checkout or wait for the monthly reset.
- `404`: No such swath
- `429`: Per-minute rate limit for the plan exceeded (code rate_limited). Retry after a short wait.

---

[API](https://skmtc.dev/swathapi/apis/swath-api.md) · [All operations](https://skmtc.dev/swathapi/apis/swath-api/llms.txt) · [OpenAPI document](https://skmtc.dev/swathapi/apis/swath-api/revisions/7dbea40372ef?raw)
