Built for how you work
Pick your role and run a real workflow on sample data. Sign up to run it on your own.
Start here on a sample item. Sign up to run it on any piece and export a dated, defensible report.
That's 3 of 18 comparables. Sign up to see the full set and export a dated, defensible report.
Sign up to export your report → No commitment · cancel anytimeRun a sample benchmark. Sign up to track your own brand and export a board-ready chart.
That's a sample. Sign up to benchmark your actual brand and export the board chart.
Sign up to export the chart → No commitment · cancel anytimeValue a sample piece. Sign up to value your own and get the best saleroom and timing.
That's a sample. Sign up to value your piece, pick the best saleroom, and time the sale.
Sign up for the full plan → No commitment · cancel anytimeValue a sample collection. Sign up to track yours and set alerts.
That's a sample. Sign up to build your collection, track value over time, and set alerts.
Sign up to save & set alerts → No commitment · cancel anytimeRun a sample client valuation. Sign up to manage real clients and send updates.
That's a sample. Sign up to manage client collections, allocate, and send branded updates.
Sign up to send the update → No commitment · cancel anytimePreview a sample query. Sign up to run any query and pull the full dataset.
That's a preview. Sign up to run any query and pull the full dataset over SQL or bulk export.
Sign up to pull the dataset → No commitment · cancel anytimeRun a sample request. Sign up for a key to call it live.
That's one record. Sign up for a key to query 19M+ results over REST, MCP, SQL and bulk export.
Sign up for an API key → No commitment · cancel anytimeInstant, data backed value estimates for any piece.
Track your passion assets on real auction prices.
Search the entire market by object, brand and result.
Interactive dashboards and indices across every asset class.
Auction performance by parent group and house.
Price indices, demand and resale strength by brand.
Full database access via SQL, JSON and API.
Add the data to Claude, ChatGPT and more.
Ask the dataset questions in plain English.
Whether you value and sell, collect and advise, or build and research, the same realized-price data works for your corner of the market.
Defend a valuation with comparable sales, benchmark a brand against its rivals, and time a sale to rising demand.
Value your holdings, watch the brands and categories you care about, and advise on when to buy or sell.
Tap 19M+ realized results over REST, MCP, SQL and bulk export for analysis, modelling and AI.
Query it from your AI assistant, pull it into a notebook or warehouse, drop it into a spreadsheet, or push it to your tools, over MCP, REST, SQL, exports and webhooks.








SELECT
asset_id,
asset_name,
asset_type,
trade_date,
price,
volume,
market_value,
return_percentage
FROM alternative_assets_market_data
WHERE asset_type = 'private-equity'
AND trade_date BETWEEN '2024-01-01' AND '2024-12-31'
ORDER BY trade_date DESC;
from datetime import datetime
from typing import Dict, List, Optional
class AlternativeAssetsAPI:
def __init__(self, api_key: str):
self.api_key = api_key
self.base_url = "https://api.altfndata.com/v1"
self.headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
def get_market_data(
self,
asset_type: str,
start_date: str,
end_date: str,
fields: Optional[List[str]] = None
) -> Dict:
// Example: Fetching alternative asset data from ALT/FNDATA API
const API_KEY = 'your_api_key_here';
const BASE_URL = 'https://api.altfndata.com/v1';
async function getAlternativeAssetData(assetType, startDate, endDate) {
const endpoint = `${BASE_URL}/market-data/${assetType}`;
const params = new URLSearchParams({
start_date: startDate,
end_date: endDate,
format: 'json'
});
func (c *AlternativeAssetsClient) GetMarketDataWithFields(assetType, startDate, endDate string, fields []string) (*MarketDataResponse, error) {
endpoint := fmt.Sprintf("%s/market-data/%s", c.BaseURL, assetType)
params := url.Values{}
params.Add("start_date", startDate)
params.Add("end_date", endDate)
params.Add("format", "json")
if len(fields) > 0 {
for _, field := range fields {
params.Add("fields", field)
}
}
fullURL := fmt.Sprintf("%s?%s", endpoint, params.Encode())
req, err := http.NewRequest("GET", fullURL, nil)
if err != nil {
return nil, fmt.Errorf("error creating request: %w", err)
}
/**
* Client for accessing alternative asset market data API
*/
public class AlternativeAssetsClient {
private final String apiKey;
private final String baseUrl;
private final HttpClient httpClient;
private final ObjectMapper objectMapper;
public AlternativeAssetsClient(String apiKey) {
this.apiKey = apiKey;
this.baseUrl = "https://api.yourcompany.com/v1";
this.httpClient = HttpClient.newBuilder()
.connectTimeout(Duration.ofSeconds(30))
.build();
this.objectMapper = new ObjectMapper();
this.objectMapper.registerModule(new JavaTimeModule());
}





