?>
ESC to close

Mutual Fund & ETF Profile API

Maintained by Piyush Arora

Last updated:

Retrieve master metadata and identifiers for mutual funds and ETFs by ticker, CUSIP, or SEC Series ID. The response maps the full identifier chain — CIK, Series ID, Contract ID, Series LEI, and class-level LEI — alongside the three-level name hierarchy that distinguishes the registrant trust from the fund series and individual share class. Query any fund or ETF in the Business Quant universe with a single identifier and receive the complete profile in return. The API is free to use.

Covers four fund types:

Mutual Fund Open-end funds ETF Exchange-traded funds Closed-End Listed closed-end funds UIT Unit investment trusts, e.g. SPY
GET https://data.businessquant.com/funds/profile?{identifier}&api_key={api_key}

Related endpoints: Use the Stock Ticker List API to enumerate all available fund tickers and retrieve their Series IDs before calling this endpoint. For dividend history and yield, pass the seriesid returned here to the Dividends API. For SEC filings associated with the fund, pass the cik to the SEC Filings API.

Mutual Fund & ETF Profile API Capabilities

One call resolves any fund identifier to a complete profile — from the trust-level registrant down to the individual share class, with every SEC and market identifier mapped in a single response.

Three Identifier Modes

Query by ticker symbol, CUSIP, or SEC Series ID — whichever identifier your workflow already has. The API resolves all three to the same canonical fund profile.

Complete Identifier Map

Returns CIK, Series ID, Contract ID, Series LEI, and class-level LEI in one response — the full set of identifiers needed to cross-reference SEC filings, regulatory databases, and market data systems.

Three-Level Name Hierarchy

Resolves the full naming structure — registrant trust, fund series, and individual share class — so you can display the right name at any level of granularity without additional lookups.

Filing & Price Timeline

Returns the last SEC filing date, the last reporting period and the first available NAV price date — giving you the data coverage window for any fund before making downstream API calls.

Adviser Address & EDGAR Link

Returns the investment adviser's registered address and a direct link to the fund's SEC EDGAR filing page — both useful for compliance workflows and fund research pipelines.

Funds and ETFs Only

Only registered funds and ETFs resolve here — an operating company's ticker returns 404 rather than a record of empty fields. For equities use the Stock Profile API. Where a ticker was once a fund's and now belongs to a company, the fund is what you get.

1. Request Parameters

Provide api_key and at least one identifier — ticker, cusip, or seriesid. Supplying more than one is supported and narrows the lookup: the identifiers are combined with AND, so a set that does not describe a single record returns 404 rather than a list of near-misses.

ParameterDescription
api_key
Required
Your API key for authentication.
ticker
Conditional Identifier
Fund or ETF ticker symbol. Normalized to uppercase automatically.
Example: ticker=CTFAX
cusip
Conditional Identifier
9-character CUSIP identifying the fund share class.
Example: cusip=19765N607
seriesid
Conditional Identifier
SEC Series ID for the fund series. Querying by Series ID may return multiple rows — one per share class within that series.
Example: seriesid=S000009189
Request — cURL (by ticker)
curl -X GET "https://data.businessquant.com/funds/profile?ticker=CTFAX&api_key=YOUR_API_KEY"
Response — CTFAX (Columbia Thermostat Fund Class A)
{
    "cik": 2110,
    "ticker": "CTFAX",
    "seriesid": "S000009189",
    "contractid": "C000024974",
    "series_lei": "549300EN4NJA2NPKY702",
    "lei": "549300DX0CWIN8VE1908",
    "name": "COLUMBIA ACORN TRUST",
    "name_short": "Columbia Acorn Trust",
    "registrant_name": "COLUMBIA ACORN TRUST",
    "fund_name": "Columbia Thermostat Fund",
    "class_name": "Columbia Thermostat Fund Class A",
    "security_type": "Mutual Fund",
    "entity_type": "investment",
    "lastfilingdate": "2026-08-28",
    "lastreportperiod": "2026-06-30",
    "url_edgar": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=2110",
    "address_adviser": "290 Congress Street, Boston, Massachusetts, US, 02210",
    "firstpricedate": "2003-02-28T14:30:00"
}

2. Response Field Reference

Fields are grouped by category below. When querying by ticker or cusip the response is a flat JSON object. When querying by seriesid — which may match multiple share classes — the response is a JSON array of objects with the same schema.

Identifiers

FieldDescription
cik SEC Central Index Key for the registrant entity. Use this to query SEC Filings associated with the fund trust.
ticker Fund share class ticker symbol as listed on an exchange or used in fund data systems. May differ from the fund series name.
seriesid SEC Series ID identifying the fund series within the registrant trust (e.g. S000009189). Use this to query the Dividends API in fund mode.
contractid SEC Contract ID identifying the specific share class within the fund series (e.g. C000024974). Corresponds to a single ticker.
series_lei Legal Entity Identifier assigned to the fund series. Used in regulatory reporting and cross-border fund data reconciliation.
lei Legal Entity Identifier at the share class level. Distinct from series_lei — use this for class-specific regulatory lookups.

Names — Three-Level Hierarchy

Fund naming in SEC filings follows a three-level structure. The registrant is the umbrella trust that files with the SEC. Within it sit one or more fund series, and within each series are one or more share classes. Each level has its own name field.

FieldDescription
name Full legal name of the registrant trust as filed with the SEC. Typically uppercase (e.g. COLUMBIA ACORN TRUST). Use name_short for display.
name_short Condensed display name of the registrant trust — title-cased and trimmed for use in UI components.
registrant_name Full registered name of the legal entity filing with the SEC. Equivalent to name in most cases.
fund_name Name of the specific fund series within the registrant trust (e.g. Columbia Thermostat Fund). This is the name investors typically recognize.
class_name Full name of the individual share class including the class designation (e.g. Columbia Thermostat Fund Class A). Use this when displaying a specific ticker's identity.

Classification & Metadata

FieldDescription
security_type What kind of fund this is: Mutual Fund, ETF, Closed-End or UIT. These are the same four values the Fund Screener API filters on as vehicle, so the two endpoints agree on what a fund is. Nothing outside this list is ever returned — it is what keeps operating companies out of a /funds route.
entity_type SEC entity classification for the registrant — typically investment for registered investment companies.

Filing & Price Timeline

FieldDescription
lastfilingdate Date of the most recent SEC filing by this registrant. Format: YYYY-MM-DD.
lastreportperiod End date of the most recently reported period (e.g. the period covered by the last N-CSR or N-CEN filing). Format: YYYY-MM-DD.
firstpricedate Date of the earliest available NAV price in the Business Quant database. null if price history has not been loaded for this fund.

Contact & Links

FieldDescription
address_adviser Registered address of the investment adviser in Street, City, State, Country, ZIP format.
url_edgar Direct link to the fund's filing history on SEC EDGAR. Opens the registrant's complete filing index.

3. Identifier Variations

All three identifier modes return the same response schema. Use whichever identifier your pipeline already has — no pre-resolution step required. Note that querying by seriesid returns an array when the series contains multiple share classes.

1. By Ticker
https://data.businessquant.com/funds/profile?ticker=CTFAX&api_key=YOUR_API_KEY
2. By CUSIP
https://data.businessquant.com/funds/profile?cusip=19765N607&api_key=YOUR_API_KEY
3. By Series ID — returns all share classes in that series
https://data.businessquant.com/funds/profile?seriesid=S000009189&api_key=YOUR_API_KEY

Series ID returns an array. Many fund series have multiple share classes (Class A, Class C, Institutional, etc.) — each with its own ticker, CUSIP, Contract ID, and LEI. When you query by seriesid, the response is a JSON array with one object per class. Querying by ticker or cusip always returns a single flat object.

API Response — CTFAX

Columbia Thermostat Fund Class A  ·  Series S000009189  ·  CIK 2110

TickerCTFAX
FundColumbia Thermostat Fund
ClassClass A
Last Filing2026-02-26
FieldValue
cik 2110
ticker CTFAX
seriesid S000009189
contractid C000024974
series_lei 549300EN4NJA2NPKY702
lei 549300DX0CWIN8VE1908
name COLUMBIA ACORN TRUST
name_short Columbia Acorn Trust
registrant_name COLUMBIA ACORN TRUST
fund_name Columbia Thermostat Fund
class_name Columbia Thermostat Fund Class A
security_type Mutual Fund
entity_type investment
lastfilingdate 2026-08-28
lastreportperiod 2026-06-30
url_edgar https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=2110
address_adviser 290 Congress Street, Boston, Massachusetts, US, 02210
firstpricedate 2003-02-28T14:30:00

Frequently Asked Questions

What is the difference between seriesid and contractid?

A fund series (Series ID) is the named fund product — for example, the Columbia Thermostat Fund. Within that series, each share class — Class A, Class C, Institutional — is identified by a Contract ID and has its own ticker and CUSIP. If you want data for one specific share class, use its ticker or CUSIP. If you want all share classes in a series at once, query by Series ID.

How do I find the Series ID for a fund I already have a ticker for?

Query this endpoint with the ticker — the seriesid is returned in every response. Alternatively, the Stock Ticker List API returns seriesid for all funds in one call, making it easy to build a local ticker-to-series map.

What does firstpricedate being null mean?

It means NAV price history for that specific share class has not yet been loaded into the Business Quant database. The fund itself may still be active — check lastfilingdate and lastreportperiod to confirm. Check this field before calling price or dividend history endpoints to avoid unnecessary requests. There is no lastpricedate here: a fund's latest quote belongs to the price endpoints, which is where it is kept current, and a date copied into a registry record would go stale the day after it was written.

Which identifier should I use if I have all three available?

Prefer seriesid when you want every share class of a fund in one call. Prefer ticker when you want one specific share class. CUSIP is the most precise identifier — one CUSIP maps to exactly one share class — but it is not always available in consumer-facing datasets. Sending several at once is a constraint, not a shortcut: they are combined with AND, so ?ticker=VOO&cusip=<a different fund's> returns 404. Send one unless you are deliberately asserting that they describe the same record.

How is this different from the Fund Overview API?

They answer two different questions and share only five fields — cik, ticker, seriesid, fund_name and class_name. This endpoint is the registry record: the identifier chain and the SEC filing provenance behind it, for reconciling a fund against EDGAR. The Fund Overview API is the fund itself — expense ratios, assets under management, investment objective, principal strategy and every share class the fund offers. Build a fund page from Overview; resolve an identifier with this.

Why does a ticker I know exists return 404?

Two reasons. Either the ticker belongs to an operating company rather than a fund — this endpoint answers for funds and ETFs only, and an equity symbol is a 404 here rather than a row of empty fields; use the Stock Profile API for those. Or the fund is not in this registry table: a small number of share classes are reachable through the Fund Overview API and its portfolio endpoints without having a registry record here. Absence is always a 404, never a partial record.

Is the Funds Profile API free to use?

Yes, the API is free to use. Sign up for an API key and start querying fund profiles immediately — no credit card required.