?>
ESC to close

Fund & ETF Overview API

Maintained by Piyush Arora

Last updated:

Retrieve the full profile of any US mutual fund or ETF from a single ticker — expense ratios broken into management fee and other expenses, net and total assets, portfolio turnover, the prospectus investment objective and principal strategy verbatim, and every other share class registered on the same fund. A ticker is a share class, not a fund: VOO and VFIAX share one portfolio and one prospectus but charge 0.03% and 0.04% respectively, and this endpoint returns the class you asked for alongside all four Vanguard 500 Index classes so you can see the spread. The API is free to use.

Use this endpoint to:

Resolve Any Ticker To Its Fund Compare Share Class Fees Read Objective And Strategy
GET https://data.businessquant.com/funds/overview?ticker={ticker}&api_key={api_key}

Related endpoints: Pull the portfolio behind these numbers with the Fund Holdings API, or roll it into sector and country buckets with the Portfolio Exposure API. Track money entering and leaving the fund with the Fund Flows API, and read the prospectus risk disclosures with the Fund Risk Factors API. For SEC registry identifiers and the raw descriptive profile, see the Funds Profile API.

1. Request Parameters

Exactly one identifier is needed. Pass ticker when you know the share class you want, or seriesid when you want the fund and will take its cheapest class.

ParameterDescription
api_key
Required
Your unique API key for authentication.
ticker
Conditional Identifier
The fund or ETF ticker. A ticker identifies a share class, not a fund — VOO and VFIAX are two classes of the same portfolio, so the fees you get back are the ones that class charges. Either ticker or seriesid is required.
Example: ticker=VOO
seriesid
Conditional Identifier
The SEC Series ID of the fund. Resolves to the fund's lowest-cost share class. Use this when you want the fund rather than a particular class, or for funds that have no ticker of their own.
Example: seriesid=S000002839

A ticker resolves to one share class. The metadata block describes the class you asked for — its fees, its class name, its classId. Everything that belongs to the fund rather than the class (objective, strategy, net assets, turnover) is shared across all of them. The data array lists every class on the same seriesId, cheapest first, so switching to a lower-cost class is a one-line lookup.

Example cURL Request
curl -X GET "https://data.businessquant.com/funds/overview?ticker=VOO&api_key=YOUR_API_KEY"
Sample Response (VOO)
{
    "metadata": {
        "ticker": "VOO",
        "seriesid": "S000002839",
        "classid": "C000092055",
        "cik": 1004655,
        "fund_name": "Vanguard 500 Index Fund",
        "class_name": "ETF Shares",
        "gross_expense_ratio_pct": 0.03,
        "net_expense_ratio_pct": 0.03,
        "net_assets_usd": 1421263311402.89,
        "net_assets_asof": "2026-03-31",
        "management_fee_pct": 0.02,
        "other_expenses_pct": 0.01,
        "total_assets_usd": 1423980320891.15,
        "portfolio_turnover_pct": 2,
        "prospectus_date": "2026-04-28",
        "fund_website": "vanguard.com/performance",
        "source_accession": "0000036405-26-000181",
        "investment_objective": "Vanguard 500 Index Fund (the \"Fund\") seeks to track the performance of a benchmark index that measures the investment return of large-capitalization stocks.",
        "principal_strategy": "The Fund employs an indexing investment approach designed to track the performance of the S&P 500 Index (the \"Target Index\"), a widely recognized benchmark of U.S. stock market performance that is dominated by the stocks of large U.S. companies. Under normal circumstances, the Fund invests at least …",
        "risk_narrative": "As with any investment, an investment in the Fund could lose money over any time period. The Fund's share price and total return may fluctuate, potentially within a wide range. The principal risks of investing in the Fund are summarized below. Each of the …",
        "purchase_and_sale_text": "If you invest directly with Vanguard, you may purchase or redeem shares online through our website (vanguard.com), by mail (The Vanguard Group, P.O. Box 982901, El Paso, TX 79998-2901), or by telephone (800-662-2739). …",
        "tax_information_text": "The Fund's distributions may be taxable as ordinary income or capital gains. If you are investing through a tax-advantaged account, such as an IRA or an employer-sponsored retirement or savings plan, special tax rules …",
        "share_class_count": 4
    },
    "data": [
        {
            "ticker": "VFFSX",
            "classid": "C000170274",
            "class_name": "Institutional Select Shares",
            "management_fee_pct": 0.01,
            "other_expenses_pct": 0,
            "gross_expense_ratio_pct": 0.01,
            "net_expense_ratio_pct": 0.01
        },
        {
            "ticker": "VOO",
            "classid": "C000092055",
            "class_name": "ETF Shares",
            "management_fee_pct": 0.02,
            "other_expenses_pct": 0.01,
            "gross_expense_ratio_pct": 0.03,
            "net_expense_ratio_pct": 0.03
        },
        {
            "ticker": "VFIAX",
            "classid": "C000007774",
            "class_name": "Admiral Shares",
            "management_fee_pct": 0.04,
            "other_expenses_pct": 0,
            "gross_expense_ratio_pct": 0.04,
            "net_expense_ratio_pct": 0.04
        },
        {
            "ticker": "VFINX",
            "classid": "C000007773",
            "class_name": "Investor Shares",
            "management_fee_pct": 0.14,
            "other_expenses_pct": 0,
            "gross_expense_ratio_pct": 0.14,
            "net_expense_ratio_pct": 0.14
        }
    ]
}

2. Response Fields

The response is the standard two-part envelope used across this API: metadata carries everything that is constant for the fund and the share class you asked for, and data carries the rows that vary — here, one row per share class.

metadata

FieldTypeDescription
tickerstringThe share class ticker that was resolved.
seriesidstringSEC Series ID of the fund. Funds that register no series — certain unit investment trusts such as SPY and DIA — carry a synthetic UIT<cik> key instead.
classidstringSEC Class ID of the resolved share class. Absent for unit investment trusts, which register no classes.
cikintegerSEC Central Index Key of the registrant.
fund_namestringRegistered name of the fund, e.g. Vanguard 500 Index Fund.
class_namestringName of the resolved share class, e.g. ETF Shares or Admiral Shares.
management_fee_pctfloatAdvisory fee charged by the manager, in percent of assets per year.
other_expenses_pctfloatAll non-advisory operating expenses, in percent per year.
gross_expense_ratio_pctfloatTotal annual expense ratio before any fee waiver.
net_expense_ratio_pctfloatExpense ratio after contractual waivers — what a holder actually pays.
net_assets_usdfloatNet assets of the fund in USD, across all share classes.
net_assets_asofdateDate the net asset figure was reported.
total_assets_usdfloatTotal assets before liabilities.
portfolio_turnover_pctfloatPercentage of the portfolio replaced during the last fiscal year. A pure index fund sits in the low single digits; VOO reports 2%.
prospectus_datedateDate of the prospectus these figures were filed in.
fund_websitestringManager's page for the fund, as given in the prospectus.
source_accessionstringSEC accession number of the filing this profile was extracted from.
investment_objectivestringThe fund's stated objective, verbatim from the prospectus.
principal_strategystringHow the manager intends to meet that objective, verbatim.
risk_narrativestringThe prospectus risk summary. The itemised version is on the Fund Risk Factors endpoint.
purchase_and_sale_textstringMinimum investment and redemption terms, verbatim.
tax_information_textstringProspectus tax disclosure, verbatim.
share_class_countintegerNumber of share classes returned in data.

data — one row per share class

FieldTypeDescription
tickerstringTicker of this class. null for classes that trade without one.
classidstringSEC Class ID.
class_namestringRegistered class name.
management_fee_pctfloatAdvisory fee for this class.
other_expenses_pctfloatNon-advisory expenses for this class.
gross_expense_ratio_pctfloatExpense ratio before waivers. Rows are sorted on this, cheapest first.
net_expense_ratio_pctfloatExpense ratio after waivers.

Null-valued keys are omitted, not returned as null. A fund that files no turnover figure has no portfolio_turnover_pct key at all rather than one set to null. Read the metadata block defensively — what is present is what the fund actually filed.

3. Response Viewer

A real response for ticker=VOO. Switch between the raw JSON and a rendered view of the share-class table.

API Response — Fund Overview

Vanguard 500 Index Fund  ·  ticker=VOO

Fund Vanguard 500 Index Fund
Ticker VOO
Net Assets $1.42T
Net Expense Ratio 0.03%
Turnover 2.0%
Share Classes 4
Ticker Class ID Class Name Mgmt Fee Other Exp. Gross ER Net ER
VFFSX C000170274 Institutional Select Shares 0.01% 0.00% 0.01% 0.01%
VOO REQUESTED C000092055 ETF Shares 0.02% 0.01% 0.03% 0.03%
VFIAX C000007774 Admiral Shares 0.04% 0.00% 0.04% 0.04%
VFINX C000007773 Investor Shares 0.14% 0.00% 0.14% 0.14%

4. More Request Examples

Both identifiers behave the same way; only the resolution differs.

Overview by ticker (a specific share class)
https://data.businessquant.com/funds/overview?ticker=VFIAX&api_key=YOUR_API_KEY
Overview by Series ID (resolves to the cheapest class)
https://data.businessquant.com/funds/overview?seriesid=S000002839&api_key=YOUR_API_KEY
A unit investment trust with no seriesId of its own
https://data.businessquant.com/funds/overview?ticker=SPY&api_key=YOUR_API_KEY
An actively managed ETF
https://data.businessquant.com/funds/overview?ticker=ARKK&api_key=YOUR_API_KEY

5. Use Cases

What this endpoint is normally the first call in.

Share Class Cost Optimisation

The data array is every class on the same portfolio, sorted by cost. A holder in a 0.55% investor class of a fund whose institutional class charges 0.04% is paying thirteen times as much for identical holdings — and this endpoint surfaces that in one call, with the classId needed to act on it.

Fund Screener Enrichment

Resolve a list of tickers to net assets, expense ratios and turnover to filter a universe before pulling any portfolio data. Pair with the Securities Universe API to enumerate every fund covered.

Fee Drag Modelling

net_expense_ratio_pct is what a holder actually pays after contractual waivers; gross_expense_ratio_pct is what they would pay if the waiver lapses. Model both — waivers expire, and the gap is the downside case.

Prospectus Text For LLM Pipelines

investment_objective and principal_strategy come back as the filer wrote them, with no summarisation, which is what a retrieval pipeline or a fund-classification model needs as input.

Index vs Active Detection

Portfolio turnover separates the two more reliably than a name does. VOO reports 2%; an actively managed thematic ETF routinely reports well north of 50%.

Identifier Resolution

Ticker to seriesId to CIK in one hop, which is what every other endpoint on this page group keys on.

Frequently Asked Questions

The questions developers ask most often about this endpoint.

What is the difference between this and the Funds Profile API?

The Funds Profile API returns the SEC registry record for a fund — identifiers, registrant details, and a descriptive profile drawn from the master ticker table. This endpoint returns the prospectus: fees split into management and other expenses, net assets, turnover, the objective and strategy text, and the full share-class list. Use Funds Profile to resolve identifiers; use this one for economics and narrative.

Why do VOO and VFIAX return different expense ratios for the same fund?

Because they are different share classes of one fund. Both are Vanguard 500 Index Fund on seriesId S000002839 and both hold the identical portfolio, but the ETF class charges 0.03% and the Admiral class 0.04%. A ticker always identifies a class, never a fund, so the fee fields in metadata describe the class you asked for while data lists all of them.

What happens with ETFs like SPY that have no Series ID?

SPY and DIA are unit investment trusts, which register no series and no classes with the SEC. They resolve normally here under a synthetic UIT<cik> key, and their classid is simply absent from the response. Everything else — fees, objective, strategy — is returned as usual.

Is the gross or the net expense ratio the one my holder pays?

The net one. net_expense_ratio_pct is after contractual fee waivers and reimbursements, which is the number quoted on a fund fact sheet. gross_expense_ratio_pct is the ratio the fund would charge with no waiver in place — worth modelling separately, because waivers have expiry dates.

How current is the data?

The figures come from the fund's most recent prospectus and its most recent asset filing; prospectus_date and net_assets_asof in the metadata tell you exactly which. source_accession gives you the SEC accession number of the filing itself if you want to check the original.

Is the Fund & ETF Overview API free to use?

Yes, the API is free to use. Sign up for an API key and start resolving fund tickers to fees, assets and share-class lists immediately — no credit card required.