Adviser Fee Schedule (full Form ADV Part-2A: mgmt/perf rates + components + raw_excerpt)
adv_manager_feesFull Form ADV Part-2A brochure fee schedule for one adviser — header (firm-level rollup: headline mgmt + perf fees, hurdle / high-water-mark / negotiable / ceiling flags, defers_to_governing_docs, is_private_fund_adviser, source filing date) PLUS every component row (per-product / per-account-tier fee with its verbatim raw_excerpt and extractor confidence).
Coverage: 23,266 advisers with extracted fee records (one per adviser from their latest trailing-12-mo Part-2A); 2,236 are 13F-joinable via cik. 78% have a mgmt-fee; 13% have a perf-fee. 79% locator hit rate (21% misses are brochures not in S3 / Part-2B supplements / no locatable Item 5).
SEVEN LLM-facing gotchas — bake into any prompt that consumes this output:
Quote, don't paraphrase. Cite
raw_excerptverbatim. The structuredrate_pctis for screening, NOT for narrative quoting.rate_is_ceiling=truemeans 'up to X%', NOT 'charges X%' — say so explicitly.defers_to_governing_docs=truemeans real rate is in the LPA / PPM and the brochure won't disclose. Honest answer is 'not disclosed in the brochure' — do NOT report the structured rate as the actual rate in this case.tierspopulated means headline rate is the top-line; effective rate depends on account size. Reproduce tier breakpoints when account size matters.confidence+fee_source_filed_at— surface both. Fee schedules go stale; a 2022 brochure ≠ current rate.fee_data_available=false(no row in firm_fees for this CRD) is the explicit empty signal. NEVER treat absent fee data as 'no fees' or 'charges zero' — the brochure just hasn't been extracted yet.NULL ≠ no fee. Most important for perf fees: 91% of private-fund advisers with a fee record have
defers_to_governing_docs=truebecause carry lives in the LPA. Whenheadline_perf_fee_pct IS NULL, readdefers_to_governing_docsfirst. true → 'performance fee exists but the brochure defers the rate to fund documents.' Onlyfalse + NULLsupports 'no performance fee disclosed.' NEVER say 'charges no performance fee' from a NULL alone.
Honest tail caveat: ~4% of perf-fee firms read >30% (e.g. '50% of carried interest', '100% subject to clawback') — these are real brochure values with carry-split semantics that don't map cleanly to a 'performance fee %'. The headline is a max-rollup. Dollar-amount-as-percent extraction artifacts (e.g. $10,000 flat tier landing as 10000%) were fixed by adv on 2026-06-11 — rate_pct >100 now reroutes to rate_flat_usd per-tier (verified live: 0 firms with headline >100, 538 13F-joinable advisers match ≤1% mgmt). Still: always inspect raw_excerpt + confidence before quoting any rate as the actual fee. The fees block carries source_filing_id + source_brochure_id (the Form ADV filing and Part 2A brochure the header and components were extracted from; if_adv_brochure opens it).
Every adviser crd in the output has the adviser's SEC cik beside it (#2287; x_crd -> x_cik, a CRD list -> ..._crd_ciks): the CIK of the 13F filer that reports under that CRD, else the CIK on its own Form ADV; ciks lists both when they differ; null when neither exists. A row that already had its own cik keeps it.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "adv_manager_fees"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| crd | No | Adviser CRD ID (primary key). Use when no SEC CIK is available, or when you already know the CRD from `adv_screen_managers` / `adv_manager_profile`. | |
| ticker_or_cik | No | Ticker (Atlas-resolved) or SEC CIK integer. RIA-only advisers have no CIK; pass `crd` directly for those. |