ClousDocs

Quickstart

Get a Clous API key and make your first call to the live Form ADV advisers endpoint in under five minutes — with curl, Python, and TypeScript examples.

Quickstart

Make your first authenticated call to the live Form ADV advisers endpoint in under five minutes.

Get an API key

Sign up at app.clous.ai to create an account. The free sandbox gives you 100 credits for evaluation. Your key looks like:

clous_live_xxxxxxxxxxxxxxxxxxxxxxxx

Pass it on every request as a Bearer token. See Authentication for details.

Make your first request

List the largest investment advisers headquartered in New York with at least $1B in regulatory assets under management:

curl
curl -s "https://api.clous.ai/v1/advisers?state=NY&aum_min=1000000000" \
  -H "Authorization: Bearer clous_live_..."

Look up a single adviser by CRD

CRD 105958 is The Vanguard Group:

curl
curl -s "https://api.clous.ai/v1/advisers/105958" \
  -H "Authorization: Bearer clous_live_..."

The same call in three languages

curl -s "https://api.clous.ai/v1/advisers?state=NY&aum_min=1000000000&limit=5" \
  -H "Authorization: Bearer clous_live_..."
import requests

resp = requests.get(
    "https://api.clous.ai/v1/advisers",
    headers={"Authorization": "Bearer clous_live_..."},
    params={"state": "NY", "aum_min": 1_000_000_000, "limit": 5},
    timeout=30,
)
resp.raise_for_status()
body = resp.json()

for adviser in body["data"]:
    print(adviser["crd"], adviser["business_name"], adviser["regulatory_aum_total"])

# cursor pagination
if body["page"]["has_more"]:
    next_cursor = body["page"]["next_cursor"]
    print("more results at cursor:", next_cursor)
const res = await fetch(
  "https://api.clous.ai/v1/advisers?state=NY&aum_min=1000000000&limit=5",
  {
    headers: { Authorization: "Bearer clous_live_..." },
  },
);

if (!res.ok) throw new Error(`Clous API error: ${res.status}`);

const body = await res.json();

for (const adviser of body.data) {
  console.log(adviser.crd, adviser.business_name, adviser.regulatory_aum_total);
}

if (body.page.has_more) {
  console.log("next cursor:", body.page.next_cursor);
}

What you get back

A response uses the standard envelope. A trimmed example for the list call:

{
  "data": [
    {
      "crd": "105958",
      "business_name": "THE VANGUARD GROUP, INC.",
      "regulatory_aum_total": 8500000000000,
      "address": {
        "street1": "100 Vanguard Blvd",
        "city": "Malvern",
        "state": "PA",
        "postal_code": "19355",
        "country": "United States"
      },
      "has_private_funds": false,
      "source_url": "https://reports.adviserinfo.sec.gov/reports/ADV/105958/PDF/105958.pdf"
    }
  ],
  "page": { "limit": 5, "next_cursor": "eyJvIjo1fQ", "has_more": true },
  "as_of": "2026-06-11T00:00:00Z",
  "source": "SEC EDGAR — Form ADV",
  "query_echo": { "state": "NY", "aum_min": 1000000000, "limit": 5 },
  "warnings": []
}

Exact field values are illustrative. See the Advisers API Reference for the full parameter and field list, generated from the live OpenAPI spec.

Next steps

On this page