Stillhouse Data API Beta
REST access to SEC Form ADV investment adviser data - firm search and detail, adviser rep movements, 13F holdings, and ADV Part 2 brochures. More datasets will be added under new sections of this page.
Base URL: https://api.stillhousedata.com/v1
Authentication
Every request requires an API key, passed either way:
Authorization: Bearer cove_XXXXXXXX...
X-Api-Key: cove_XXXXXXXX...
Free API access: sign in and create a key: 10 calls per minute, 1 active key per account, covering adviser search, list, and firm profiles. For everything else and higher usage limits contact us.
Keys carry scopes. This API requires the api scope (keys scoped only to mcp will receive 403). Endpoints marked contact for access are not part of the default tier - contact us if you want access to the additional endpoints.
Keep keys server-side. Do not embed a key in browser JavaScript or mobile apps - anyone can read it there. Revoked keys stop working within about 30 seconds.
Verify connectivity with:
curl -s https://api.stillhousedata.com/v1/me \
-H "Authorization: Bearer cove_..."
Rate limits
| Bucket | Limit | Applies to |
|---|---|---|
| Search | 10 requests / minute / key | /adv/advisers/search, /adv/advisers/list, /brochures/search |
| General | 10 requests / minute / key | All other endpoints |
The buckets are independent. Responses include standard RateLimit-* headers (limit, remaining, reset). Exceeding a bucket returns 429 with a JSON body:
{ "error": "Search limit exceeded: 10 searches per minute per API key" }
Errors
| Status | Meaning |
|---|---|
401 | Missing, invalid, or revoked API key |
403 | Key lacks required access (contact-for-access endpoints need a key issued by us) |
404 | Unknown endpoint (only the endpoints documented here exist), or entity not found |
429 | Rate limit exceeded - check RateLimit-Reset |
All errors are JSON: { "error": "..." }.
Form ADV - investment advisers
Data derives from SEC Form ADV filings (Part 1A), FINRA/IAPD rep records, and related SEC filings (13F, N-CEN, N-MFP). Firms are keyed by CRD number. Search, list, and the firm profile are included by default.
GET /v1/adv/advisers/search search bucket firm name typeahead
Firm name typeahead. Returns up to limit firms matching q.
| Param | Description |
|---|---|
q | Name fragment, minimum 2 characters (required) |
limit | Max results, default 10, cap 25 |
curl -s "https://api.stillhousedata.com/v1/adv/advisers/search?q=citadel" \
-H "X-Api-Key: cove_..."
Example - GET /v1/adv/advisers/search?q=citadel&limit=3 (response trimmed):
[
{
"id": "3705",
"firm_name": "CITADEL ADVISORS LLC",
"city": "MIAMI",
"state": "FL",
"lat": 25.765852585926,
"lng": -80.190829386817
},
{
"id": "33899",
"firm_name": "CITADEL INVESTMENT ADVISORY INC",
"city": "WILLOUGHBY",
"state": "OH",
"lat": 41.634750442673,
"lng": -81.410315021569
},
"… 1 more"
]
GET /v1/adv/advisers/list search bucket filtered, sorted, paginated firm list
Filtered, sorted, paginated firm list.
| Param | Description |
|---|---|
q | Name filter (optional) |
state | Two-letter state code |
adviser_type | Registration type filter |
fund_type | Private fund type filter |
exclude_terminated | true to drop terminated registrations |
has_disciplinary | true for firms with disciplinary disclosures |
sort | raum (default) | date | name |
order | desc (default) | asc |
limit, offset | Pagination |
Example: GET /v1/adv/advisers/list?state=FL&limit=2 (response trimmed):
{
"rows": [
{
"id": "3705",
"crd": "148826",
"adviser_type": "IA",
"firm_name": "CITADEL ADVISORS LLC",
"city": "MIAMI",
"state": "FL",
"country": "United States",
"latest_raum": "570621709022.00",
"latest_filing_date": "2026-06-11T07:00:00.000Z",
"has_disciplinary": false,
"fund_count": 37
},
"… 1 more"
],
"total": 3009,
"limit": 2,
"offset": 0
}
GET /v1/adv/advisers/by-crd/{crd} firm profile, compact by default
Firm profile. By default returns a compact core: identity, latest-filing summary (AUM, clients, registration), and fund counts by type. Opt into heavier sections with include (full responses can exceed 100 KB for large firms):
| Param | Description |
|---|---|
include | Comma-separated sections, or all. Available: filings (full filing history incl. fee schedules and form details), funds (private funds, GAV timeseries, non-private funds), service_providers (auditors/custodians/administrators), drp (disciplinary events), people (owners & officers), branches, part1a (latest Form ADV Part 1A verbatim), sma (SMA asset allocation), linked (linked Form D issuers). The response's sections field echoes what was included. |
# compact core (default)
curl -s https://api.stillhousedata.com/v1/adv/advisers/by-crd/148826 \
-H "X-Api-Key: cove_..."
# core + private funds + disciplinary history
curl -s "https://api.stillhousedata.com/v1/adv/advisers/by-crd/148826?include=funds,drp" \
-H "X-Api-Key: cove_..."
# everything (the old behavior)
curl -s ".../by-crd/148826?include=all" -H "X-Api-Key: cove_..."
Example: GET /v1/adv/advisers/by-crd/148826 (compact default) (response trimmed):
{
"adviser": {
"id": "3705",
"crd": "148826",
"sec_file_number": "801-70860",
"adviser_type": "IA",
"firm_name": "CITADEL ADVISORS LLC",
"street": "830 BRICKELL PLAZA, FLOOR 15",
"city": "MIAMI",
"state": "FL",
"country": "United States",
"zip": "33131",
"phone": "786-741-5389",
"lat": 25.765852585926,
"lng": -80.190829386817,
"has_website": true,
"execution_type": "Domestic"
},
"latest_filing": {
"id": "5240554",
"filing_id": "-20260611",
"filing_date": "2026-06-11T07:00:00.000Z",
"filing_type": null,
"total_clients": "3284",
"discretionary_aum": "570621709022.00",
"non_discretionary_aum": "0.00",
"total_raum": "570621709022.00",
"total_accounts": "37",
"total_assets": null,
"clients_individuals": 1314,
"clients_hnw": 62,
"clients_banks": 0,
"clients_investment_cos": 0,
"clients_pooled": 0,
"clients_other": 0,
"comp_pct_aum": true,
"comp_hourly": false,
"comp_subscription": false,
"comp_fixed": false,
"comp_commissions": false,
"comp_performance": true,
"comp_other": true,
"serves_individuals": false,
"serves_hnw": false,
"serves_investment_cos": true,
"serves_pooled": false,
"serves_pensions": false,
"serves_charities": false,
"serves_corps": false,
"serves_state_municipal": false,
"serves_other": false,
"has_disciplinary": false
},
"funds_total": 0,
"funds_by_type": [],
"sections": {
"included": [],
"available": [
"filings",
"funds",
"service_providers",
"… 6 more"
]
}
}
403.GET /v1/adv/advisers/by-crd/{crd}/rep-flows contact for access rep arrivals & departures
Investment adviser representative arrivals and departures for the firm (from IAPD rep-movement history, 1985–present).
Example: GET /v1/adv/advisers/by-crd/6413/rep-flows (response trimmed):
{
"crd": "6413",
"summary": {
"gained": 26245,
"lost": 11882,
"net": 14363
},
"byYear": [
{
"year": 2016,
"gained": 268,
"lost": 324
},
"… 10 more"
],
"recentIn": [
{
"indvl_pk": "4775272",
"first_nm": "Alexander",
"last_nm": "Triska",
"other_org_pk": "332978",
"other_org_nm": "THE LIFE WEALTH GROUP",
"move_date": "2026-07-23T07:00:00.000Z"
},
"… 29 more"
],
"recentOut": [
{
"indvl_pk": "7901402",
"first_nm": "VINCENT",
"last_nm": "PERFETTO",
"other_org_pk": "105413",
"other_org_nm": "POTOMAC",
"move_date": "2026-07-23T07:00:00.000Z"
},
"… 29 more"
]
}
GET /v1/adv/advisers/by-crd/{crd}/holdings-13f contact for access latest 13F equity holdings
The firm's most recent 13F equity holdings, where it files 13F.
Example: GET /v1/adv/advisers/by-crd/148826/holdings-13f (response trimmed):
{
"match": true,
"manager": {
"name": "CITADEL ADVISORS LLC",
"cik": "0001423053",
"city": "MIAMI",
"state": "FL"
},
"latest_period": "2026-03-31T07:00:00.000Z",
"position_count": 6733,
"total_value": "618473172395.00",
"positions": [
{
"cusip": "78462F103",
"issuer_name": "STATE STR SPDR S&P 500 ETF T",
"title_of_class": "TR UNIT",
"value": "41989836181.00",
"shares": "347775.0000",
"option_value": "41763664188.00",
"period_of_report": "2026-03-31T07:00:00.000Z"
},
{
"cusip": "46090E103",
"issuer_name": "INVESCO QQQ TR",
"title_of_class": "UNIT SER 1",
"value": "31844154182.00",
"shares": "84364.0000",
"option_value": "31795460968.00",
"period_of_report": "2026-03-31T07:00:00.000Z"
},
"… 98 more"
],
"trend": [
{
"period_of_report": "2016-06-30T07:00:00.000Z",
"total_value": "89729351000.00"
},
{
"period_of_report": "2016-09-30T07:00:00.000Z",
"total_value": "99536214000.00"
},
"… 38 more"
]
}
GET /v1/adv/advisers/by-crd/{crd}/registered-funds contact for access Form N-CEN funds
Registered funds (Form N-CEN) advised by the firm.
Example: GET /v1/adv/advisers/by-crd/105958/registered-funds (response trimmed):
{
"crd": "105958",
"fund_count": 223,
"advised_count": 223,
"subadvised_count": 0,
"total_net_assets": 11992500758574.312,
"funds": [
{
"series_id": "S000002848",
"fund_name": "VANGUARD TOTAL STOCK MARKET INDEX FUND",
"role": "Advisor",
"is_etf": true,
"is_money_market": null,
"monthly_avg_net_assets": "1903470699301.9350",
"ncen_filing_date": "2026-03-12T07:00:00.000Z",
"nport_net_assets": "1991691212321.29",
"nport_report_date": "2026-03-31T07:00:00.000Z",
"registrant_cik": "0000036405",
"registrant_name": "VANGUARD INDEX FUNDS",
"mmf_seven_day_yield": null,
"mmf_net_assets": null,
"mmf_report_date": null,
"cef_file_number": null,
"cef_first_seen_year": null,
"cef_last_seen_year": null,
"is_current": true,
"cef_active": null
},
"… 222 more"
]
}
GET /v1/adv/advisers/by-crd/{crd}/money-market-funds contact for access Form N-MFP funds
Money market funds (Form N-MFP) advised by the firm.
Example: GET /v1/adv/advisers/by-crd/105958/money-market-funds (response trimmed):
{
"match": true,
"crd": "105958",
"funds": [
{
"cik": "0000106830",
"registrant_name": "Vanguard Money Market Reserves",
"latest_report_date": "2026-06-30T07:00:00.000Z",
"latest_net_assets": "374582503126.02",
"latest_seven_day_gross_yield": null,
"latest_mmf_category": "Government",
"last_advised_report": "2026-06-30T07:00:00.000Z",
"is_current": true
},
"… 9 more"
]
}
GET /v1/adv/advisers/by-crd/{crd}/headcount contact for access employee / rep timeseries
Monthly employee / rep headcount time series.
Example: GET /v1/adv/advisers/by-crd/6413/headcount (response trimmed):
{
"crd": "6413",
"current": 23352,
"peak": 23352,
"series": [
{
"month": "1988-04-01",
"headcount": 1
},
{
"month": "1988-08-01",
"headcount": 2
},
{
"month": "1989-07-01",
"headcount": 3
},
"… 410 more"
]
}
GET /v1/adv/advisers/by-crd/{crd}/filing-activity contact for access per-day SEC filing activity
Per-day SEC filing activity. Optional years parameter bounds the window.
Example: GET /v1/adv/advisers/by-crd/148826/filing-activity?years=1 (response trimmed):
{
"crd": "148826",
"from": "2025-07-24",
"days": [
{
"form": "f13",
"d": "2025-08-14",
"n": 1
},
{
"form": "f13",
"d": "2025-11-14",
"n": 1
},
"… 10 more"
]
}
GET /v1/adv/advisers/by-crd/{crd}/similar contact for access similar firms
Heuristically similar firms (size, location, business mix). Optional limit.
Example: GET /v1/adv/advisers/by-crd/148826/similar?limit=2 (response trimmed):
{
"items": [
{
"id": "4183",
"crd": "281215",
"firm_name": "ROKOS CAPITAL MANAGEMENT LLP",
"city": "LONDON",
"state": null,
"lat": 54,
"lng": -2,
"total_raum": "219439595264.00",
"latest_filing_date": "2026-06-29T07:00:00.000Z",
"has_disciplinary": false,
"dominant_fund_type": "Hedge Fund",
"shared_fund_types": [
"Hedge Fund"
],
"sim_size": 0.8616555678087207,
"sim_serves": 1,
"sim_fund": 1,
"sim_comp": 0.6666666666666666,
"same_state": 0,
"score": 0.8310335840590093
},
"… 1 more"
]
}
GET /v1/adv/rep/{indvlPk}/movements contact for access one rep's career history
One representative's firm-by-firm career history. indvlPk is the individual's IAPD id, as returned by rep-flows.
Example: GET /v1/adv/rep/4775272/movements (response trimmed):
{
"person": {
"indvl_pk": "4775272",
"first_nm": "Alexander",
"last_nm": "Triska",
"mid_nm": null,
"link": "https://adviserinfo.sec.gov/individual/summary/4775272"
},
"stints": [
{
"org_pk": "281958",
"org_nm": "FIRST COMMAND ADVISORY SERVICES",
"firm_legal_name": "FIRST COMMAND ADVISORY SERVICES",
"start_date": "2024-07-02T07:00:00.000Z",
"end_date": "2024-07-31T07:00:00.000Z",
"is_current": false
},
{
"org_pk": "282580",
"org_nm": "AE WEALTH MANAGEMENT, LLC",
"firm_legal_name": "AE WEALTH MANAGEMENT, LLC",
"start_date": "2024-08-09T07:00:00.000Z",
"end_date": "2025-05-01T07:00:00.000Z",
"is_current": false
},
"… 2 more"
]
}
Form ADV Part 2 - brochures
Full-text ADV Part 2 firm brochures, converted to markdown.
403.GET /v1/brochures/search search bucket contact for access full-text brochure search
Full-text search across all brochures. Results are collapsed to one row per firm with a highlighted snippet.
| Param | Description |
|---|---|
q | Query, minimum 2 characters (required, max 100) |
page | Zero-based page, default 0 |
size | Page size, default 20, cap 50 |
curl -s "https://api.stillhousedata.com/v1/brochures/search?q=digital+assets" \
-H "X-Api-Key: cove_..."
Example - GET /v1/brochures/search?q=quantitative&size=2 (response trimmed):
{
"total": 2206,
"total_is_estimate": true,
"page": 0,
"size": 2,
"has_more": true,
"results": [
{
"id": "54468",
"crd": "135284",
"brochure_number": "1050802",
"filing_number": "0",
"filing_date": "2026-07-06T07:00:00.000Z",
"char_count": 469993,
"page_count": 122,
"image_count": 0,
"source_filename": "135284_1050802_0_20260706__Daily_Api.md",
"firm_name": "D. E. SHAW INVESTMENT MANAGEMENT, L.L.C.",
"city": "NEW YORK",
"state": "NY",
"version_count": 2,
"rank": 0.09940688,
"versions": [
{
"id": 54468,
"filing_date": "2026-07-06",
"brochure_number": "1050802",
"filing_number": "0",
"page_count": 122
},
"… 1 more"
],
"snippet": "<mark>Quantitative</mark> Strategies; <mark>Quantitative</mark> Tools**\n\nThe Adviser makes extensive use of co …"
},
"… 1 more"
]
}
GET /v1/brochures/firm/{crd} contact for access a firm's brochure versions
All brochure versions filed by a firm, newest first: { "versions": [ { "id", "brochure_number", "filing_date", "char_count", ... } ] }.
Example - GET /v1/brochures/firm/148826 (response trimmed):
{
"versions": [
{
"id": "5439",
"crd": "148826",
"brochure_number": "117200",
"filing_number": "19",
"filing_date": "2026-03-31T07:00:00.000Z",
"char_count": 198078,
"source_filename": "148826_117200_19_20260331__ADV_Brochures_2026_March_1_of_2.md",
"firm_name": "CITADEL ADVISORS LLC",
"city": "MIAMI",
"state": "FL"
},
"… 1 more"
]
}
GET /v1/brochures/{id} contact for access one brochure, full markdown
One brochure with its full markdown text. id comes from /brochures/firm/{crd} or search results.
Example - GET /v1/brochures/5439 (response trimmed):
{
"id": "5439",
"crd": "148826",
"firmName": "CITADEL ADVISORS LLC",
"city": "MIAMI",
"state": "FL",
"brochureNumber": "117200",
"filingNumber": "19",
"filingDate": "2026-03-31T07:00:00.000Z",
"charCount": 198078,
"pageCount": 62,
"imageCount": 0,
"archiveName": "ADV_Brochures_2026_March_1_of_2",
"convertedAt": "2026-04-22T23:35:14.271Z",
"sourceFilename": "148826_117200_19_20260331__ADV_Brochures_2026_March_1_of_2.md",
"markdown": "\n\n{0}------------------------------------------------\n\n# CITADEL ADVISORS LLC\n\n830 Brickell Plaza, Floor 15 Mi …"
}
Meta
GET /v1/me echo key context - auth probe
Echoes your key id, scopes, and limits - use it to verify auth. Counts against the general bucket.
Example - GET /v1/me (response trimmed):
{
"keyId": "ORnuFY1JRJHkKwDvdm4k",
"uid": "v1-local-test",
"scopes": [
"api",
"brochures"
],
"limits": {
"search": "10/min",
"general": "10/min"
}
}
A plain-text version of this page for agents and LLMs is at /llms.txt.