---
title: "Market order flow"
method: GET
path: "/v1/markets/{slug}/flow"
tags: ["Markets"]
---

# Market order flow

`GET /v1/markets/{slug}/flow`

## Request

- Base URL: `https://crowdintel.xyz/api`
- URL: `https://crowdintel.xyz/api/v1/markets/{slug}/flow`
- Auth: HTTP bearer

**Min tier: `free`.** Recent order flow — time-bucketed YES/NO buy/sell volume, net flow, unique wallets, and average price. Timestamp-bounded read (never an unfiltered trades scan).

## Path parameters

- `slug` string, required

## Query parameters

- `minutes` integer
- `whales_only` boolean

## Response `200`

Order flow.

- MarketFlow
  - `slug` string
  - `window_minutes` integer
  - `whales_only` boolean
  - `total_volume` number, nullable
  - `net_yes` number, nullable
  - `net_no` number, nullable
  - `buckets` object[]

## Other responses

- `400`: Malformed parameters or a rejected guardrail (e.g. unfiltered trades query, cluster blowup, window > 90 days).
- `401`: Missing, invalid, or revoked API key. Returned before the rate limiter runs, so it carries no `X-RateLimit-*` headers.
- `403`: Key valid but its tier is below this endpoint's minimum. Returned before the rate limiter runs, so it carries no `X-RateLimit-*` headers.
- `429`: Hourly or monthly rate limit exceeded.

---

[API](https://skmtc.dev/crowdintel/apis/crowdintel-api.md) · [All operations](https://skmtc.dev/crowdintel/apis/crowdintel-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crowdintel/apis/crowdintel-api/revisions/7059cfe9320d?raw)
