Fruit StandFruit Stand
  • Pricing
  • Documentation
  • API Reference
  • Pricing
Information
Meta
    HealthzgetGlama connector claimgetAPI catalog (RFC 9727)get
Funds
    Search fundsgetGet fund metadataget
Returns
    Get trailing returns (one fund)getGet trailing returns (many funds)postGet calendar-year return (one fund)getGet calendar-year returns (many funds)post
MCP
    Fund Returns MCP ServerMCP
Schemas
powered by Zuplo
Fruit Stand Fund Returns API
Fruit Stand Fund Returns API

Returns

Trailing total returns (1d through 20y, plus YTD and since-inception) and calendar-year returns — for a single fund or batched across many in one call.


Get trailing returns (one fund)

GET
https://api.fruitstand.dev
/v1/funds/{code}/trailing-returns

Trailing total returns for one fund: 1d, 1w, 1m, 3m, 6m, YTD, 1y-20y, and since inception. Latest by default, or pass as_of (snaps to the prior trading day). Values are decimal fractions of total return, distributions reinvested (0.1234 = +12.34%); 2y and longer are annualized (CAGR). Use batchTrailingReturns for many funds.

Get trailing returns (one fund) › path Parameters

code
​string · required

The fund's bare ticker, case-sensitive — e.g. SPY, QQQ, VTSAX. If you only have a name, resolve it with searchFunds first.

Get trailing returns (one fund) › query Parameters

market
​string

Market/exchange code for the fund. Defaults to US — all funds are currently US-listed and code is a bare ticker (e.g. SPY), so this is informational and does not affect lookups. Reserved for future multi-market support.

Default: US
as_of
​

Return the figures as of this date (YYYY-MM-DD). On a weekend or market holiday it snaps back to the nearest prior trading day — the response's as_of_date shows the day actually used. Omit for the latest available data.

Get trailing returns (one fund) › Headers

Authorization
​string · required

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Get trailing returns (one fund) › Responses

Successful Response

TrailingReturns
code
​string · required

Bare ticker, e.g. SPY.

as_of_date
​string · date · required
market
​string

Market/exchange code. Always US for now.

Default: US
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​object
GET/v1/funds/{code}/trailing-returns
curl https://api.fruitstand.dev/v1/funds/:code/trailing-returns \ --header 'Authorization: Bearer <token>'
Example Responses
{ "code": "code", "market": "US", "as_of_date": "2024-08-25", "return_1d": "string", "return_1w": "string", "return_1m": "string", "return_3m": "string", "return_6m": "string", "return_ytd": "string", "return_1y": "string", "return_2y": "string", "return_3y": "string", "return_4y": "string", "return_5y": "string", "return_7y": "string", "return_10y": "string", "return_15y": "string", "return_20y": "string", "return_earliest_available": "string", "extra_returns": { "key": "string" } }
json
application/json

Get trailing returns (many funds)

POST
https://api.fruitstand.dev
/v1/trailing-returns/batch

Trailing total returns for up to 100 funds in one call - same data as getTrailingReturns. Pass codes and optional as_of. One row per fund; funds with no data are omitted and order is not guaranteed, so match on code. Values are decimal fractions, total return, distributions reinvested. Use this to compare or screen funds.

Get trailing returns (many funds) › Headers

Authorization
​string · required

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Get trailing returns (many funds) › Request Body

TrailingBatchRequest
codes
​string[] · minItems: 1 · required

1–100 bare tickers, case-sensitive, e.g. ["SPY", "QQQ", "VTSAX"].

market
​string

Market/exchange code for the funds. Defaults to US; informational and does not affect lookups (codes are bare tickers). Reserved for future multi-market support.

Default: US
​

As-of date for every fund. Non-trading days snap back to each fund's nearest prior trading day. Omit for each fund's latest.

Get trailing returns (many funds) › Responses

Successful Response

​TrailingReturns[]
TrailingReturns
code
​string · required

Bare ticker, e.g. SPY.

as_of_date
​string · date · required
market
​string

Market/exchange code. Always US for now.

Default: US
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​object
POST/v1/trailing-returns/batch
curl https://api.fruitstand.dev/v1/trailing-returns/batch \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "codes": [ "string" ], "market": "US", "as_of": "2024-08-25" }'
Example Request Body
{ "codes": [ "string" ], "market": "US", "as_of": "2024-08-25" }
json
Example Responses
[ { "code": "code", "market": "US", "as_of_date": "2024-08-25", "return_1d": "string", "return_1w": "string", "return_1m": "string", "return_3m": "string", "return_6m": "string", "return_ytd": "string", "return_1y": "string", "return_2y": "string", "return_3y": "string", "return_4y": "string", "return_5y": "string", "return_7y": "string", "return_10y": "string", "return_15y": "string", "return_20y": "string", "return_earliest_available": "string", "extra_returns": { "key": "string" } } ]
json
application/json

Get calendar-year return (one fund)

GET
https://api.fruitstand.dev
/v1/funds/{code}/calendar-returns

Full calendar-year (Jan-Dec) total return for one fund. Pass year, or omit for the latest completed year. calendar_year_return is a decimal fraction, distributions reinvested (0.263 = +26.3%); base_date/end_date give the actual span (partial in launch/delist years). Use getTrailingReturns for rolling windows.

Get calendar-year return (one fund) › path Parameters

code
​string · required

The fund's bare ticker, case-sensitive — e.g. SPY, QQQ, VTSAX. If you only have a name, resolve it with searchFunds first.

Get calendar-year return (one fund) › query Parameters

market
​string

Market/exchange code for the fund. Defaults to US — all funds are currently US-listed and code is a bare ticker (e.g. SPY), so this is informational and does not affect lookups. Reserved for future multi-market support.

Default: US
year
​

A four-digit calendar year, e.g. 2022. Omit for the fund's most recent completed year.

Get calendar-year return (one fund) › Headers

Authorization
​string · required

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Get calendar-year return (one fund) › Responses

Successful Response

CalendarYearReturns
code
​string · required

Bare ticker, e.g. SPY.

calendar_year
​integer · required
market
​string

Market/exchange code. Always US for now.

Default: US
​
​
​
GET/v1/funds/{code}/calendar-returns
curl https://api.fruitstand.dev/v1/funds/:code/calendar-returns \ --header 'Authorization: Bearer <token>'
Example Responses
{ "code": "code", "market": "US", "calendar_year": 0, "base_date": "2024-08-25", "end_date": "2024-08-25", "calendar_year_return": "string" }
json
application/json

Get calendar-year returns (many funds)

POST
https://api.fruitstand.dev
/v1/calendar-returns/batch

Calendar-year total returns for up to 100 funds in one call - same data as getCalendarReturns. Pass codes and optional year. One row per fund; funds with no data are omitted and order is not guaranteed, so match on code. Values are decimal fractions, total return, distributions reinvested. Use this to compare funds across a year.

Get calendar-year returns (many funds) › Headers

Authorization
​string · required

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Get calendar-year returns (many funds) › Request Body

CalendarBatchRequest
codes
​string[] · minItems: 1 · required

1–100 bare tickers, case-sensitive, e.g. ["SPY", "QQQ", "VTSAX"].

market
​string

Market/exchange code for the funds. Defaults to US; informational and does not affect lookups (codes are bare tickers). Reserved for future multi-market support.

Default: US
​

Return each fund's row for this year. Omit for each fund's latest.

Get calendar-year returns (many funds) › Responses

Successful Response

​CalendarYearReturns[]
CalendarYearReturns
code
​string · required

Bare ticker, e.g. SPY.

calendar_year
​integer · required
market
​string

Market/exchange code. Always US for now.

Default: US
​
​
​
POST/v1/calendar-returns/batch
curl https://api.fruitstand.dev/v1/calendar-returns/batch \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "codes": [ "string" ], "market": "US", "year": 0 }'
Example Request Body
{ "codes": [ "string" ], "market": "US", "year": 0 }
json
Example Responses
[ { "code": "code", "market": "US", "calendar_year": 0, "base_date": "2024-08-25", "end_date": "2024-08-25", "calendar_year_return": "string" } ]
json
application/json

FundsMCP