Market

Get Market Data

Get gemstone market data for the 'Market Benchmarks' listing page.

Open to all tiers (LNK-MKTTAB): the markets list is a retention surface; monetization gates live on the scan path. The old 5-row free cap only produced a broken-looking table (its client-side upsell was dead code) while /market/index served all rows uncapped anyway.

Returns paginated, sorted variety-wise data with:

  • variety: Gemstone name (sortable)
  • avg/min/max: curated 2025 prices in raw dollars
  • change: % change based on period (never null — 0.0 when unknowable)
  • embedded live-index fields (index_value, change_1d/7d/30d_pct, confidence_tier, sparkline_7d, tier) so the table needs no second endpoint; null/[] for unindexed varieties

Period calculations (LNK-MKTCOHERE):

  • 1month: live GemstoneAI index change_30d_pct — the same number the variety detail page leads with
  • 6month: interpolated from mid-2024 to 2025 (legacy; app hides this tab)
  • 1year: direct 2024-2025 YoY % from curated annual averages, clamped to the same +/-15% display cap as every other served change (LNK-MKTTAB)

Sorting: value sorts order by the number the Index column displays (index_value, curated avg fallback); change sorts by the computed change actually displayed for the selected period.

get/api/v1/market/data

Request

  • Base URL: https://api.gemstoneaiapp.com (the document declares no server; this is the origin it was published from)
  • URL: https://api.gemstoneaiapp.com/api/v1/market/data
  • Auth: none declared

Query parameters

period'1month' | '6month' | '1year'

Time period for calculating change percentage (matches UI tabs)

sort_by'variety_asc' | 'variety_desc' | 'avg_desc' | 'avg_asc' | 'change_desc' | 'change_asc'

Sort results: variety_asc (default), variety_desc, avg_desc/avg_asc (by the displayed index value, curated avg fallback), change_desc/change_asc (by the displayed period change)

pageinteger

Page number (starts from 1)

page_sizeinteger

Number of items per page

Headers

authorizationstring nullable

Response

Successful Response

totalinteger required
pageinteger required
page_sizeinteger required
as_ofstring nullable

Changes

No recorded changes to this operation across all 1 revision of this API.