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 anytime
AIQuery verified market data directly inside Anthropic’s Claude.
Interactive dashboards and visual analytics across every asset class.
Search the entire market by object, brand, and result.
Instant, data-backed value estimates for any luxury asset.
Full dataset access via SQL, JSON, and a developer API.
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());
}





