SSGA APIssga.com ↗
Access State Street SPDR ETF, mutual fund, and money market fund data: NAV, expense ratios, standardized returns, holdings, and breakdowns via 3 endpoints.
What is the SSGA API?
The ssga.com API exposes fund data across three endpoints covering roughly 260 State Street SPDR funds — ETFs, mutual funds, and money market funds listed on the US individual investor site. list_funds returns a full fund-finder snapshot per product type with pricing and performance in one call. get_fund_details delivers a single fund's quick facts, benchmark info, standardized return tables, holdings, breakdowns, and NAV or market-price time series by ticker.
curl -X GET 'https://api.parse.bot/scraper/430750ad-94b4-44a1-9233-40e7b53a0bf0/list_funds?category=alternative&fund_type=etfs' \ -H 'X-API-Key: $PARSE_API_KEY'
Lists every fund of one product type from the site's fund finder in a single round trip (about 180 ETFs, 76 mutual funds or 5 money market funds; no pagination). Each row carries the ticker, name, as-of date, inception date, gross expense ratio, NAV and the month-end and quarter-end standardized return sets (values are percentages as numbers, null when the site shows '-'). Type-specific measures appear only where the site publishes them: ETFs carry aum_millions, close_price, bid_ask_midpoint, premium_discount and primary_exchange; mutual funds carry net_expense_ratio and daily_change; money market funds carry net_assets_millions, weighted average maturity/life in days, daily_factor, 1/7/30-day yields and transactional_nav. An optional free-text query is matched case-insensitively against name, ticker and the site's keyword string (which includes ISIN and CUSIP). An optional category key restricts the list to the members of one fund-finder filter category as returned by list_fund_categories; an unknown key yields an empty list rather than the unfiltered set.
| Param | Type | Description |
|---|---|---|
| query | string | Case-insensitive substring matched against fund name, ticker, ISIN, CUSIP and category keywords. Omitted = no text filter. |
| category | string | category_key from list_fund_categories.categories[*].category_key for the same fund_type (one shape: Bloomberg). Omitted = no category filter. |
| fund_type | string | Product type tab of the fund finder. |
{
"type": "object",
"fields": {
"funds": "array of fund rows: ticker, name, fund_type, domicile, primary_exchange, as_of_date (ISO), inception_date (ISO), daily_change (mutual funds only), keywords, performance_month_end and performance_quarter_end objects (as_of plus period returns in percent), gross_expense_ratio, nav, and the type-specific measures described in the endpoint description",
"query": "echo of the text filter or null",
"total": "number of funds returned after filtering",
"category": "echo of the category key or null",
"fund_type": "echo of the product type queried"
},
"sample": {
"data": {
"funds": [
{
"nav": 27.94,
"name": "State Street® Blackstone High Income ETF",
"ticker": "HYBL",
"domicile": "US",
"keywords": "State Street® Blackstone High Income ETF, HYBL, Fixed Income, US78470P8462, 78470P846, Multi-Sector, High Yield",
"fund_type": "etfs",
"as_of_date": "2026-09-04",
"close_price": 28,
"aum_millions": 576.98,
"daily_change": null,
"inception_date": "2022-02-16",
"bid_ask_midpoint": 28,
"premium_discount": 0.19,
"primary_exchange": "Cboe BZX Exchange, Inc",
"gross_expense_ratio": 0.7,
"performance_month_end": {
"qtd": 0.46,
"ytd": 1.76,
"as_of": "2026-07-31",
"1_year": 5.08,
"3_year": 8.08,
"5_year": null,
"10_year": null,
"1_month": 0.46,
"since_inception": 5.64
},
"performance_quarter_end": {
"qtd": 2.39,
"ytd": 1.3,
"as_of": "2026-06-30",
"1_year": 5.14,
"3_year": 8.37,
"5_year": null,
"10_year": null,
"1_month": -0.14,
"since_inception": 5.64
}
}
],
"query": null,
"total": 38,
"category": "Bloomberg",
"fund_type": "etfs"
},
"status": "success"
}
}About the SSGA API
Fund Discovery and Filtering
list_funds returns every fund of a given fund_type (etfs, mf, or cash) without pagination — approximately 180 ETFs, 76 mutual funds, or 5 money market funds per call. Each row includes ticker, name, domicile, primary exchange, inception date, gross expense ratio, NAV, and both month-end and quarter-end standardized performance figures. An optional query parameter filters by case-insensitive substring against fund name, ticker, ISIN, CUSIP, and category keywords. The optional category parameter accepts a category_key from list_fund_categories to narrow results to a specific filter group like Asset Class or Benchmark Family.
Category Catalogue
list_fund_categories returns the full filter catalogue for a product type as a flat list. Each row includes group_key, group_name, category_key, category_name, fund_count, and a tickers[] array of member fund tickers. This is the correct source for valid category_key values to pass into list_funds. Filter groups include Asset Class, Benchmark Family, and Share Class, among others.
Per-Fund Detail
get_fund_details accepts a ticker (case-insensitive, e.g. BIL) and returns the full product page profile. quick_info is an object keyed by site attribute code covering asset class, style, geography, domicile, ISIN, and expense ratio. performance is keyed by return-set code (ann-mon, ann-qtr, cum-mon, cum-qtr, cal) and series code, with each entry holding labeled return values per period. breakdowns is keyed by breakdown code and contains weighted constituent lists. time_series carries date-value point arrays — for ETFs this includes premium-history-chart. tables holds any additional page tables in document order, and index_quick_info surfaces the benchmark name and index ticker.
The SSGA API is a managed, monitored endpoint for ssga.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ssga.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official ssga.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Screen all SPDR ETFs by expense ratio and month-end performance using list_funds in a single request.
- Build a fund comparison tool that pulls NAV, gross expense ratio, and standardized returns for multiple tickers via get_fund_details.
- Populate a filter UI by reading group names and category keys from list_fund_categories for a given fund_type.
- Track NAV and market-price time series for an ETF using the time_series field in get_fund_details.
- Monitor premium/discount history for SPDR ETFs using the premium-history-chart series from get_fund_details.
- Enumerate all funds within a specific asset class or benchmark family by combining list_fund_categories tickers[] with list_funds category filtering.
- Cross-reference ISIN and CUSIP identifiers for SPDR funds against an internal security master using quick_info fields from get_fund_details.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does State Street / SSGA offer an official developer API for fund data?+
What does get_fund_details return that list_funds does not?+
list_funds returns summary rows — ticker, NAV, expense ratio, and high-level performance figures. get_fund_details goes deeper: it returns quick_info attributes (ISIN, domicile, benchmark), the full performance object with five return-set codes and per-period labeled returns, breakdowns with weighted constituent lists, tables in page order, index_quick_info with the benchmark name and index ticker, and time_series point arrays such as the premium-history chart for ETFs.Does the API cover non-US or institutional share classes of SPDR funds?+
How fresh is the pricing and performance data returned by list_funds?+
list_funds includes an as_of_date field (ISO format) indicating the date of the NAV and performance figures. Freshness depends on when State Street last updated the fund finder on the site; intraday pricing is not available — the data reflects end-of-day or most recent published values.Does the API expose fund-level holdings (individual security positions) or only aggregate breakdowns?+
breakdowns field in get_fund_details returns weighted constituent lists keyed by breakdown code (e.g. sector, geography, maturity). Full security-level holdings schedules — individual CUSIP/ISIN positions with shares and market values — are not currently exposed as a dedicated field, though some holdings data may appear in the tables array depending on what the fund's product page renders. You can fork this API on Parse and revise it to extract the holdings table more explicitly.