# Mean-reversion scanner

> Today's mean-reversion scan: stocks stretched far from their statistical equilibrium, each with how far (its z-score), how fast such moves have tended to revert, and the odds.

Source: https://wiseview.ai/docs/api/screener-mean-reversion

`GET https://api.wiseview.ai/v1/screener/mean-reversion`

Today's mean-reversion scan: stocks stretched far from their statistical equilibrium, each with how far (its z-score), how fast such moves have tended to revert, and the odds. Signals of statistical stretch on daily data, not trade recommendations.

Each call counts against your allowance.

## Parameters

| Name | In | Type | What it does |
| --- | --- | --- | --- |
| `direction` | query | one of the values | stretched_long: stretched below equilibrium; stretched_short: above it. One of `all`, `stretched_long`, `stretched_short`. Leave it out for `all`. |
| `max_half_life_days` | query | whole number, 1–365 | Only moves that tend to halve within this many days. Leave it out for `30`. |
| `limit` | query | whole number, 1–50 | How many stocks. Leave it out for `20`. |

## Answer

`data`, abridged — real answers carry more fields:

```json
{
  "date": "2026-10-21",
  "filters": {
    "direction": "all",
    "minZScore": 1.5,
    "maxHalfLifeDays": 30,
    "limit": 20
  },
  "totalCandidates": 64,
  "matchedCandidates": 1,
  "entries": [
    {
      "symbol": "EXMP",
      "company": "Example Corp",
      "direction": "stretched_long",
      "zScore": -2.4,
      "currentPrice": 41.2,
      "equilibriumPrice": 46.9,
      "halfLifeDays": 9,
      "revertProbability": 0.71
    }
  ]
}
```

The answer quotes text written outside WiseView and carries a `notice` saying so.

## Samples

```bash
curl "https://api.wiseview.ai/v1/screener/mean-reversion" \
  -H "Authorization: Bearer $WISEVIEW_API_KEY"
```

```python
import os
import requests

response = requests.get(
    "https://api.wiseview.ai/v1/screener/mean-reversion",
    headers={"Authorization": f"Bearer {os.environ['WISEVIEW_API_KEY']}"},
)
response.raise_for_status()
print(response.json())
```

```javascript
const response = await fetch("https://api.wiseview.ai/v1/screener/mean-reversion", {
  headers: { "Authorization": `Bearer ${process.env.WISEVIEW_API_KEY}` },
});
if (!response.ok) throw new Error(`WiseView answered ${response.status}`);
console.log(await response.json());
```
