---
title: "List investigations"
method: GET
path: "/v1/investigations"
tags: ["Investigations"]
---

# List investigations

`GET /v1/investigations`

## Request

- Base URL: `https://crowdintel.xyz/api`
- URL: `https://crowdintel.xyz/api/v1/investigations`
- Auth: HTTP bearer

**Min tier: `free`.** Curated coordinated-wallet investigations, ordered by p-value ascending then recency. Cursor-paginated.

## Query parameters

- `cursor` string
- `limit` integer
- `category` string
- `type` string

## Response `200`

Investigations page.

- object
  - `data` InvestigationSummary[]
    - `id` integer
    - `slug` string, nullable
    - `title` string, nullable
    - `type` string, nullable
    - `category` string, nullable
    - `p_value` number, nullable
    - `win_rate` number, nullable
    - `total_pnl` number, nullable
    - `wallet_count` integer, nullable
    - `created_at` string, date-time, nullable
  - `next_cursor` string, nullable

## 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)
