Discover/purposeinvest API
live

purposeinvest APIpurposeinvest.com

Retrieve Purpose Investments fund and ETF data including AUM, NAV, yields, management fees, and series details via 2 structured endpoints.

Endpoint health
verified 39m ago
list_funds
get_fund_details
2/2 passing latest checkself-healing
Endpoints
2
Updated
2h ago

What is the purposeinvest API?

The Purpose Investments API provides structured access to fund and ETF product data from purposeinvest.com across 2 endpoints. Use list_funds to retrieve all available products with ticker codes, management fees, yield percentages, and asset categories, or call get_fund_details with a fund slug to pull AUM, NAV, manager names, and per-series breakdowns for any individual fund.

Try it
Filter by asset category.
api.parse.bot/scraper/5f1d7993-91fe-4388-98b2-718918032819/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/5f1d7993-91fe-4388-98b2-718918032819/list_funds?category=Active+Fixed+Income' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace purposeinvest-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.


"""Walkthrough: Purpose Investments SDK — list funds, filter by category, get details."""
from parse_apis.purposeinvest_com_api import PurposeInvest, Category, FundNotFound

client = PurposeInvest()

# List all funds, capped at 5 for demonstration
for fund in client.funds.list(limit=5):
    print(fund.name, fund.etf_ticker, fund.management_fee)

# Filter funds by category using the enum
cash_fund = client.funds.list(category=Category.CASH, limit=1).first()
if cash_fund:
    print(cash_fund.name, cash_fund.url_name, cash_fund.categories)

# Drill into a fund's full details (AUM, series, managers)
if cash_fund:
    detail = cash_fund.details()
    print(detail.name, detail.aum)
    for series_name, series in detail.series.items():
        print(f"  {series_name}: NAV={series.nav}, Yield={series.current_yield}")

# Typed error handling for a non-existent fund
try:
    client.funds.list(category=Category.ALTERNATIVES, limit=1).first().details()
except FundNotFound as exc:
    print(f"Fund not found: {exc.fund_slug}")

print("exercised: funds.list / funds.list(category) / fund.details / FundNotFound")
All endpoints · 2 totalmissing one? ·

Lists all Purpose Investments funds and ETFs with basic product information including ticker codes, management fees, yield, categories, and direct links to product pages. Optionally filter by asset category. Results are returned as a single page containing all products.

Input
ParamTypeDescription
categorystringFilter by asset category.
Response
{
  "type": "object",
  "fields": {
    "funds": "array of fund summaries with name, code, url_name, etf_ticker, class_f_code, url, categories, management_fee, yield_percent, tickers",
    "total": "integer"
  },
  "sample": {
    "data": {
      "funds": [
        {
          "url": "https://www.purposeinvest.com/funds/purpose-bitcoin-etf",
          "code": "BTCC",
          "name": "Purpose Bitcoin ETF",
          "tickers": [
            "PFC6700",
            "PFC6701",
            "PFC6702"
          ],
          "url_name": "purpose-bitcoin-etf",
          "categories": [
            "Alternatives",
            "Cryptocurrencies"
          ],
          "etf_ticker": "BTCC",
          "class_f_code": "PFC6701",
          "yield_percent": null,
          "management_fee": "1.00%"
        }
      ],
      "total": 95
    },
    "status": "success"
  }
}

About the purposeinvest API

Endpoints Overview

The API exposes two endpoints covering Purpose Investments' full product lineup. list_funds returns an array of fund summaries — each entry includes the fund name, etf_ticker, class_f_code, management_fee, yield_percent, categories, and a url_name that serves as the slug for deeper queries. An optional category parameter filters the result set to a specific asset class, and all matching products are returned in a single response with a total count.

Fund Detail Data

get_fund_details accepts a fund_slug (the url_name field from list_funds, e.g. purpose-bitcoin-etf or purpose-credit-opportunities-fund) and returns a richer payload. The response includes aum (assets under management as a string), code, name, url, url_name, asset_classes, and an overview description. The series object keys each available share class — ETF, F, A, and others — to its own detail block, allowing direct comparison across distribution channels. A managers array lists each portfolio manager by name.

Data Coverage

All products listed on the Purpose Investments product catalog are accessible, spanning equity, fixed income, alternative, and crypto-related funds. The categories field on each fund record maps products into asset classes, which aligns with the optional filter available on list_funds. Ticker codes for both ETF and Class F series are exposed at the list level, reducing the need for a detail call when only identifiers and headline metrics are required.

Reliability & maintenanceVerified

The purposeinvest API is a managed, monitored endpoint for purposeinvest.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when purposeinvest.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 purposeinvest.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.

Last verified
39m ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a fund screener filtered by asset category using the category param and management_fee and yield_percent fields.
  • Track AUM changes over time for Purpose ETFs by periodically calling get_fund_details and storing the aum field.
  • Compare management expense ratios across all available share series (ETF, F, A) using the series object from get_fund_details.
  • Populate an investment research tool with fund manager attribution using the managers array.
  • Map ETF ticker codes to fund detail pages using etf_ticker and url fields from list_funds.
  • Monitor yield percentages across the full Purpose fund lineup by querying list_funds and aggregating yield_percent values.
  • Identify all funds within a specific asset class (e.g. crypto, fixed income) using the categories filter on list_funds.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Purpose Investments have an official developer API?+
Purpose Investments does not publish a public developer API. This Parse API provides structured programmatic access to their fund and ETF product data.
What does `get_fund_details` return beyond what `list_funds` already provides?+
list_funds gives headline fields: ticker codes, management fee, yield, and categories. get_fund_details adds AUM, NAV, a fund overview text, a managers array with portfolio manager names, and a series object that breaks down details for each available share class (ETF, Class F, Class A, etc.) individually.
Can I filter `list_funds` by management fee range or yield threshold?+
The list_funds endpoint only supports filtering by the category string parameter. It does not offer numeric range filters for management_fee or yield_percent. Both fields are returned in the response, so client-side filtering on those values is straightforward after fetching all records.
Does the API cover historical NAV or performance data for funds?+
Not currently. The API covers current AUM, NAV, yield, management fees, series details, and manager information as of the latest data. Historical time-series data for NAV or performance is not included. You can fork this API on Parse and revise it to add an endpoint targeting Purpose Investments' historical data pages.
How do I find the correct `fund_slug` value to use with `get_fund_details`?+
The url_name field returned in each item from list_funds is exactly the slug to pass as fund_slug. Examples include purpose-bitcoin-etf and purpose-credit-opportunities-fund.
Page content last updated . Spec covers 2 endpoints from purposeinvest.com.
Related APIs in FinanceSee all →
fiis.com.br API
Search and analyze Brazilian real estate investment funds (FIIs) with detailed financial metrics, performance data, and complete dividend history to make informed investment decisions. Access comprehensive fund information including key statistics and historical payouts all in one place.
kotaksecurities.com API
Access mutual fund listings, NAV data, holdings, and sector allocations from Kotak Securities. Retrieve brokerage plan details and live market data including major indices and top-gaining stocks.
morningstar.in API
Access mutual fund and stock data from Morningstar India. Search by name or ticker, then retrieve NAV, expense ratios, star ratings, historical performance, asset allocation, portfolio holdings, risk metrics, and analyst pillar ratings for any covered fund.
ishares.com API
Access comprehensive iShares ETF information including fund holdings, performance metrics, sector allocation, and investment literature all in one place. Search and compare ETFs to find the right funds for your portfolio and get detailed breakdowns of what's inside each fund.
blackrock.com API
Access comprehensive BlackRock iShares ETF data to research fund performance, holdings, fees, and sector allocations, plus search and compare specific ETFs. Monitor investment details like distributions, key characteristics, and broad market indices all in one place.
investidor10.com.br API
Access comprehensive Brazilian stock and real estate investment fund data including listings, technical indicators, dividend history, and historical price quotes. Search and retrieve detailed information about individual assets to analyze their performance and financial metrics.
crypto-fundraising.info API
Track cryptocurrency fundraising activity by searching projects and investors, viewing deal details, and staying updated with the latest crypto funding news and top active venture funds. Monitor major fundraising rounds, explore investor portfolios, and research emerging crypto projects all in one place.
justetf.com API
Search and compare thousands of ETFs listed on justETF, with access to detailed profiles, key metrics (TER, fund size, asset class, currency), and full monthly performance history. Filter results by asset class, fund currency, expense ratio, and more.