---
title: "Fund Search"
method: GET
path: "/api/fund-search"
---

# Fund Search

`GET /api/fund-search`

## Request

- Base URL: `https://www.oxfordledge.com` (the document declares no server; this is the origin it was published from)
- URL: `https://www.oxfordledge.com/api/fund-search`
- Auth: none declared

Search for institutional fund 13F filers — LOCAL-FIRST.

13F CYCLE 2026-06-11 Batch-1 fix 1 (CHAOS F-1+F-3, GTM option A).
The original implementation phrase-quoted the input into LIVE SEC
EDGAR full-text search over 13F-HR filings and returned hits[0] by
FTS relevance — "ARK" (a dictionary word) resolved to a dormant
filer whose filings mention "ark", with the CORRECT ARK Investment
Management (CIK 0001697748) sitting unconsulted in our own curated
universe. Fourth branded-common-word contamination incident
(feedback_cusip_ticker_fuzzy_cross_issuer class).

Resolution order:
  1. pg_search_filers_by_name — our curated CIK-bound universe
     (fund_holdings_snapshot ∪ featured_filers), prefix-ranked.
  2. EDGAR FTS only on ZERO local hits — re-ranked by file_date
     desc with a ~2-quarter recency floor so dormant filers never
     rank above active ones.

## Query parameters

- `q` string

## Response `200`

Successful Response

- FundSearchResponse: `GET /api/fund-search?q=…` — institutional 13F filer search. F4 backfill 2026-05-11. Both branches return {results}; empty query returns empty list (no error key).
  - `results` object[], required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api.md) · [All operations](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api/llms.txt) · [OpenAPI document](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api/revisions/e832a1260f0b?raw)
