Skip to main content
Six datasets answer who owns, runs, and finances companies: 13F holdings, Form 4 insider trades, proxy-statement compensation and ownership, the SEC investment-adviser directory, and a venture-investor directory. Every call costs 1 credit. All routes require Professional except /v1/investors, which is Fund.
Two response conventions live on this page. /v1/institutional-holdings and /v1/insider-trades belong to the SEC statement family: bare wrapper responses, limit-only paging, and the flat { "error", "message" } body. The other four use the standard envelope with { data, next_cursor, coverage } cursor paging. See Errors and Pagination.

GET /v1/institutional-holdings

Quarterly 13F positions, in two mutually exclusive modes: one manager’s whole portfolio (?filer_cik=, newest period first) or every institution holding a security (?ticker=, latest filing per filer, value descending). Passing both, or neither, returns 400. Coverage is US 13F filers — managers over $100M in US-listed equities. Long positions in 13F-reportable securities only: no shorts, no bonds, no non-US listings. Up to 8 quarters of history. Plan: Professional and above · Credits: 1 per call
string
The manager’s SEC CIK. Exactly one of filer_cik or ticker is required.
string
The held security’s ticker. Exactly one of filer_cik or ticker is required.
string
Exact quarter end, YYYY-MM-DD (e.g. 2026-03-31).
string
Quarter-end lower bound, inclusive. report_period_lte, report_period_gt, and report_period_lt work the same way.
integer
default:"1000"
Maximum rows in the response. Bounds the whole response, not rows per quarter — raise it when requesting history.
By-ticker mode returns { "ticker": "...", "institutional_holdings": [...] } instead.
By filer_cik with no period filter, only the latest quarter comes back. For history, pass report_period_gte/_lte and raise limit.

GET /v1/insider-trades

SEC Form 4 transactions — purchases, sales and grants by a company’s officers, directors and 10% owners. One row per reported transaction, newest filing first. Coverage is roughly the past two years per issuer. Plan: Professional and above · Credits: 1 per call
string
required
The issuer’s ticker.
integer
default:"10"
Rows returned, 1–1000.
Date-range, transaction-type, name, and reporting-owner filters are not yet available — passing any of them returns 400. The unfiltered newest-first feed is the launch scope; page further back by raising limit.

GET /v1/companies/{company_id}/executive-compensation

Named-executive compensation from the proxy statement (DEF 14A), one row per person per fiscal year, for fiscal years from 2000. Foreign private issuers file a 20-F instead and are absent. Plan: Professional and above · Credits: 1 per call
string
required
Canonical cmp_ id, ticker, CIK or ISIN.
integer
Exact fiscal year, 1990–2100. fiscal_year_gte and fiscal_year_lte bound a range.
boolean
Only the chief executive’s rows.
string
next_cursor from the previous page, passed back verbatim.
integer
default:"100"
Rows per page, 1–1000.
Each row carries id, company_id, ticker, person_name, position, is_ceo, fiscal_year, the components (salary, bonus, stock_award, option_award, non_equity_incentive, pension, other), and two totals: total_disclosed and total_computed, with component_gap.
total_disclosed is the figure the company printed; total_computed is the components summed. component_gap: true means they disagree — a component failed to extract — so cite the disclosed total.

GET /v1/companies/{company_id}/proxy-ownership

Beneficial ownership from the latest proxy: insiders, the insider group line, and 5%+ holders. Latest proxy only — not a history. Plan: Professional and above · Credits: 1 per call
string
required
Canonical cmp_ id, ticker, CIK or ISIN.
string
insider, insider_group, or major_holder.
number
Minimum ownership percent, 0–100 — the same scale the rows carry.
string
next_cursor from the previous page, passed back verbatim.
integer
default:"100"
Rows per page, 1–1000.
Each row carries id, company_id, ticker, owner_name, owner_role, owner_kind, security_class, shares_owned, percent, percent_source, is_group, and confidence.
Do not sum rows across owner_kind: the insider_group line already contains the individual insiders.

GET /v1/institutions

The SEC investment-adviser directory: ~23,600 registered and exempt-reporting advisers from the monthly Form ADV roster, with contact details extracted from each firm’s own ADV Part 2 brochure and, for ~1,300 13F filers, the style their actual holdings reveal. A request with no filter is legal — enumerating the whole directory page by page is the supported path. Plan: Professional and above · Credits: 1 per call
string
Firm-name substring, case-insensitive, minimum 2 characters. Matches legal or business name.
string
Exact CRD number.
string
Exact SEC CIK (13F filers only carry one here).
string
Derived classification, spelled exactly: Hedge-Fund, Mutual-Fund, Mutual-Fund (perf-fee), Wealth-Manager, PE / VC, Hybrid (MF + Hedge), Pension / Institutional, Sub-Advisor, Other / Mixed. 13F filers only.
string
Registered or ERA (exempt reporting adviser).
string
Main-office US state code, e.g. NY.
string
Main-office country as the ADV spells it, e.g. United States.
string
Revealed 13F style tier, spelled exactly: Deep Growth, Growth-Biased, Blend / Core, Value-Biased, Deep Value.
number
Minimum total regulatory AUM, USD. max_aum bounds the other side.
boolean
Only firms with an extracted e-mail address.
boolean
Only firms with a revealed 13F style row.
string
next_cursor from the previous page, passed back verbatim.
integer
Rows per page, 1–1000.
Search rows carry identity and contact fields: crd, cik, legal_name, business_name, firm_type, sec_registration_type, main_office_city / _state / _country, main_office_phone, website, email_primary, email_domain_matches_firm, aum_total, the private-fund flags (advises_private_funds, has_hedge_funds, has_pe_funds, has_vc_funds), and adv_as_of. The full dossier — style scores, fees, services, headcount, per-address e-mail evidence — lives on the profile route.
ADV numbers are self-reported by the adviser; SEC receipt is not SEC endorsement. Style fields are null for ~94% of firms because most advisers do not file 13F — that is coverage, not missing data.

GET /v1/institutions/{id}

One adviser’s full profile, including the style read and the emails object where each address carries the verbatim brochure sentence it was printed in. Plan: Professional and above · Credits: 1 per call
string
required
crd:105247 or cik:0001112520. A bare number is tried as CRD first, then CIK.
email_domain_matches_firm: false means the address sits on someone else’s domain — a parent company or outsourced compliance. Often still the right mailbox, but say so when quoting it.

GET /v1/investors

A directory of ~10,000 venture and growth investors: stage, themes, check size, and how to pitch them. At least one filter is required. Plan: Fund · Credits: 1 per call
string
Firm-name substring, case-insensitive, minimum 2 characters.
string
e.g. VC firm, Corporate VC, Family office, Angel group.
string
Country name as the directory spells it.
string
Investment theme, e.g. fin-tech.
string
e.g. Seed, Series A.
string
next_cursor from the previous page, passed back verbatim.
integer
default:"50"
Rows per page, 1–1000.
Each row carries record_id, name, url, website, domain, investor_type, location, countries, stages, themes, first_check, lead, reply_rate, submit_method, submit_url, linkedin_company, twitter, who_we_are, funding_requirements, value_add, and as_of.
This is a snapshot captured on 2026-07-25, not a live directory: a fund that has since closed, moved or changed thesis still reads as it did then. Say so when quoting it.