# Screen the whole Tempest universe (Radar)

`GET https://api.skylit.ai/v1/vol/screener`

API: Heatseeker.

Rows can include `earnings_overlap_9d` and `earnings_overlap_30d`, with
`none`, `partial`, `full`, or null as documented on `/v1/vol/term`.
These are optional calendar-day exposure labels, not forecast signals.
Tempest Radar: one row per covered symbol with its headline readings
(SVX term and percentiles, IV rank, ratio to VIX, term slope, skew,
tilt, expected move, running sigma and odds, next event and VRP,
options volume, sector, `quality`). Thin chains are not ranked.
Filter with `min_<field>` / `max_<field>` on any sortable field, and
`curve`, `sector`, `quality` (exact match). Unknown parameters are a
`400`. Rows missing the sort field sort last. **Cost:** 5 credits per
call (up to 500 rows).

## Authentication

Send your Skylit API key as a bearer token: `Authorization: Bearer <key>`. No other header is accepted.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `sort` | query | string | no | Field to sort by (default `svx30`): svx30, svx1d, svx30_pct_1y, svx1d_pct_1y, svx9_pct_1y, svx3m_pct_1y, iv_rank, iv_pct, ratio_vix, term_slope, rr25_30, skew_pct_1y, tilt_21, tilt_z, tilt_pct_1y, em_1d_pct, running_sigma, sigma_odds_pct, expected_vrp, event_move_pct, days_to_event, opt_vol, spot, spot_vol_corr, cheap_from_low_pct, day_pace, day_reprice. `day_pace` is today's move against the priced one-day move for the time elapsed, in sigma; `day_reprice` is the one-day range options price now over what they priced at the prior close for the rest of the day (above 1: implied vol bid). Both are null outside regular hours. (default `svx30`) |
| `order` | query | string | no |  (one of `asc`, `desc`; default `desc`) |
| `limit` | query | integer | no |  (default `50`; min 1; max 500) |
| `offset` | query | integer | no |  (default `0`; min 0) |
| `min_iv_rank` | query | number | no | Example bound; every sortable field accepts `min_` and `max_`. |
| `curve` | query | string | no | Curve state, e.g. `contango` or `backwardation`. |

## Example request

```bash
curl "https://api.skylit.ai/v1/vol/screener" \
  -H "Authorization: Bearer $SKYLIT_API_KEY"
```

## Responses

### 200

OK.

Shape (placeholder values):

```json
{
  "data": {
    "rows": [
      {}
    ],
    "total": 0,
    "offset": 0,
    "limit": 0,
    "sort": "string"
  },
  "meta": {
    "module": "string",
    "asOf": "string",
    "sessionDate": "string",
    "marketState": "pre_open",
    "frozen": false,
    "publishedAt": "string",
    "cached": false,
    "attribution": {
      "text": "Powered by Skylit",
      "url": "string",
      "required": false,
      "license": "personal",
      "shareable": false,
      "shareClass": "derived",
      "terms": "string"
    }
  }
}
```

### 400

Request validation failed.

### 401

Missing API key (`unauthorized`), sent by the gateway.

### 402

Out of credits (`insufficient_credits`).

### 403

As `Forbidden`, or `not_entitled`: Tempest data is not enabled for this
account (it is in preview). Refunded.

### 404

Unknown symbol, no data available, or none of the requested
`expirations` exist for the symbol (`code: expiration_not_found`).

### 429

Per-minute rate limit exceeded.

Headers: `Retry-After`.

### 503

Tempest data is loading (`warming_up`, with `Retry-After`) or not configured (`unavailable`). Refunded.

### 504

The request did not finish in time (`gateway_timeout`). Refunded;
retry, or narrow the request.
